30 #ifndef OLAD_DEVICEMANAGER_H_
31 #define OLAD_DEVICEMANAGER_H_
38 #include "ola/timecode/TimeCode.h"
39 #include "olad/Device.h"
40 #include "olad/Preferences.h"
59 bool UnregisterDevice(
const std::string &device_id);
61 unsigned int DeviceCount()
const;
62 std::vector<device_alias_pair> Devices()
const;
65 void UnregisterAllDevices();
69 static const unsigned int MISSING_DEVICE_ALIAS;
70 static const char PRIORITY_VALUE_SUFFIX[];
71 static const char PRIORITY_MODE_SUFFIX[];
77 std::map<std::string, device_alias_pair> m_devices;
79 std::map<unsigned int, AbstractDevice*> m_alias_map;
80 unsigned int m_next_device_alias;
81 std::set<class OutputPort*> m_timecode_ports;
86 template <
class PortClass>
87 void SavePortPatchings(
const std::vector<PortClass*> &ports)
const;
89 void SavePortPriority(
const Port &port)
const;
90 void RestorePortPriority(
Port *port)
const;
92 template <
class PortClass>
93 void RestorePortSettings(
const std::vector<PortClass*> &ports)
const;
95 static const char PORT_PREFERENCES[];
96 static const unsigned int FIRST_DEVICE_ALIAS = 1;
101 #endif // OLAD_DEVICEMANAGER_H_