36 #include <unordered_set> 38 #include "../Systems/Packet.h" 39 #include "../Sockets/RpcClientInfo.h" 41 #include "../IEvents.h" 49 namespace DeviceDescription
71 void load(std::string& xmlPath);
72 std::shared_ptr<HomegearDevice>
loadFile(std::string& filepath);
75 std::shared_ptr<HomegearDevice>
find(uint64_t typeNumber, uint32_t firmwareVersion, int32_t countFromSysinfo = -1);
88 std::vector<std::shared_ptr<HomegearDevice>>
_devices;
92 std::shared_ptr<HomegearDevice>
loadHomeMatic(std::string& filepath);
PVariable listKnownDeviceTypes(PRpcClientInfo clientInfo, bool channels, std::set< std::string > &fields)
Definition: Devices.cpp:1452
void clear()
Definition: Devices.cpp:47
int32_t deviceId
Definition: Licensing.h:381
uint64_t getTypeNumberFromTypeId(const std::string &typeId)
Definition: Devices.cpp:1054
This is the base library main class.
Definition: BaseLib.h:95
Definition: BaseLib.cpp:34
int32_t _family
Definition: Devices.h:86
std::shared_ptr< RpcClientInfo > PRpcClientInfo
Definition: ScriptInfo.h:47
BaseLib::SharedObjects * _bl
Definition: Devices.h:85
Class to work with the device description files of one device family.
Definition: Devices.h:55
std::shared_ptr< Variable > PVariable
Definition: PhysicalInterfaceSettings.h:41
uint64_t getTypeNumberFromProductId(const std::string &productId)
Definition: Devices.cpp:1069
std::shared_ptr< Variable > getParamsetDescription(PRpcClientInfo clientInfo, uint64_t deviceId, int32_t firmwareVersion, int32_t channel, ParameterGroup::Type::Enum type)
Definition: Devices.cpp:1156
int32_t channel
Definition: UiElements.h:215
std::vector< std::shared_ptr< HomegearDevice > > _dynamicDevices
Definition: Devices.h:89
std::shared_ptr< DeviceDescription::DeviceTranslations > _translations
Definition: Devices.h:90
std::unordered_set< uint64_t > getKnownTypeNumbers()
Definition: Devices.cpp:1136
virtual void onDecryptDeviceDescription(int32_t moduleId, const std::vector< char > &input, std::vector< char > &output)=0
Enum
Definition: ParameterGroup.h:63
int32_t moduleId
Definition: Licensing.h:379
~Devices() override=default
std::mutex _devicesMutex
Definition: Devices.h:87
std::shared_ptr< HomegearDevice > find(uint64_t typeNumber, uint32_t firmwareVersion, int32_t countFromSysinfo=-1)
Definition: Devices.cpp:1084
std::vector< std::shared_ptr< HomegearDevice > > _devices
Definition: Devices.h:88
std::unordered_map< std::string, uint64_t > getIdTypeNumberMap()
Definition: Devices.cpp:1117
PVariable listKnownDeviceType(PRpcClientInfo clientInfo, std::shared_ptr< HomegearDevice > &device, PSupportedDevice deviceType, int32_t channel, std::set< std::string > &fields)
Definition: Devices.cpp:1326
std::shared_ptr< HomegearDevice > loadFile(std::string &filepath)
Definition: Devices.cpp:99
void load()
Definition: Devices.cpp:52
bool empty()
Definition: Devices.h:68
std::shared_ptr< HomegearDevice > loadHomeMatic(std::string &filepath)
Definition: Devices.cpp:145
Devices(BaseLib::SharedObjects *baseLib, IDevicesEventSink *eventHandler, int32_t family)
Definition: Devices.cpp:40
std::shared_ptr< SupportedDevice > PSupportedDevice
Definition: SupportedDevice.h:51