logiops/src/logid/DeviceManager.h
2020-07-12 16:14:24 -04:00

32 lines
703 B
C++

#ifndef LOGID_DEVICEMONITOR_H
#define LOGID_DEVICEMONITOR_H
#include <map>
#include <thread>
#include <mutex>
#include "backend/raw/DeviceMonitor.h"
#include "backend/hidpp/Device.h"
#include "Device.h"
#include "Receiver.h"
namespace logid
{
class DeviceManager : public backend::raw::DeviceMonitor
{
public:
DeviceManager() = default;
protected:
void addDevice(std::string path) override;
void removeDevice(std::string path) override;
private:
std::map<std::string, std::shared_ptr<Device>> _devices;
std::map<std::string, std::shared_ptr<Receiver>> _receivers;
};
extern DeviceManager* finder;
}
#endif //LOGID_DEVICEFINDER_H