#ifndef BLUETOOTH_DEVICE_H #define BLUETOOTH_DEVICE_H #include #include #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 m_devices; std::string m_inventoryURL; std::string m_target; std::vector m_presentDevices; }; } // namespace Bluetooth } // namespace PresenceDetection #endif // BLUETOOTH_DEVICE_H