Files

45 lines
820 B
C++

#ifndef BLUETOOTH_DEVICE_H
#define BLUETOOTH_DEVICE_H
#include <string>
#include <vector>
#include "Util/Timer.h"
#include "Util/HttpClient.h"
namespace PresenceDetection {
namespace Bluetooth {
class Device
{
public:
Device(const std::string& inventoryURL, const std::string& target);
~Device();
void Start();
void Stop();
void Wait();
private:
void UpdateDevicesFromInventory();
void UpdatePresentDevices();
void SendStateChange(bool present, const std::string& macAddress);
private:
Util::Timer m_deviceTimer;
Util::Timer m_inventoryTimer;
Util::HttpClient m_httpClient;
std::vector<std::string> m_devices;
std::string m_inventoryURL;
std::string m_target;
std::vector<std::string> m_presentDevices;
};
} // namespace Bluetooth
} // namespace PresenceDetection
#endif // BLUETOOTH_DEVICE_H