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