31 #ifndef HOMEGEARDEVICE_H_ 32 #define HOMEGEARDEVICE_H_ 41 namespace DeviceDescription
87 bool internal =
false;
117 void save(std::string& filename);
129 void load(std::string xmlFilename,
bool& oldFormat);
130 void load(std::string xmlFilename, std::vector<char>& xml);
131 void postProcessFunction(
PFunction&
function, std::map<std::string, PConfigParameters>& configParameters, std::map<std::string, PVariables>& variables, std::map<std::string, PLinkParameters>& linkParameters);
137 void saveFunction(
xml_document* doc,
xml_node* parentNode,
PFunction&
function, std::map<std::string, PConfigParameters>& configParameters, std::map<std::string, PVariables>& variables, std::map<std::string, PLinkParameters>& linkParameters);
BaseLib::SharedObjects * _bl
Definition: HomegearDevice.h:120
void saveScenario(xml_document *doc, xml_node *parentNode, PScenario &scenario)
Definition: HomegearDevice.cpp:2062
bool _loaded
Definition: HomegearDevice.h:121
bool hasBattery
Definition: HomegearDevice.h:89
void postProcessFunction(PFunction &function, std::map< std::string, PConfigParameters > &configParameters, std::map< std::string, PVariables > &variables, std::map< std::string, PLinkParameters > &linkParameters)
Definition: HomegearDevice.cpp:2375
Definition: HomegearDevice.h:59
Class defining a Homegear device.
Definition: HomegearDevice.h:54
bool deletable
Definition: HomegearDevice.h:86
std::string _filename
Definition: HomegearDevice.h:125
bool loaded() const
Definition: HomegearDevice.h:68
This is the base library main class.
Definition: BaseLib.h:95
std::map< uint32_t, PFunction > Functions
Definition: Function.h:47
Enum
Definition: HomegearDevice.h:59
PRunProgram runProgram
Definition: HomegearDevice.h:97
std::shared_ptr< HomegearDevice > PHomegearDevice
Helper type for HomegearDevice pointers.
Definition: HomegearDevice.h:44
std::string pairingMethod
Definition: HomegearDevice.h:91
int32_t dynamicChannelCountIndex
Definition: HomegearDevice.h:71
int32_t getDynamicChannelCount()
Definition: HomegearDevice.cpp:55
PacketsByFunction packetsByFunction1
Definition: HomegearDevice.h:102
Functions functions
Definition: HomegearDevice.h:98
std::shared_ptr< RunProgram > PRunProgram
Definition: RunProgram.h:50
std::string getFilename()
Definition: HomegearDevice.cpp:51
Definition: BaseLib.cpp:34
Definition: HomegearDevice.h:59
std::multimap< std::string, PPacket > PacketsByFunction
Helper type to store packets sorted by function.
Definition: DevicePacket.h:73
std::multimap< uint32_t, PPacket > PacketsByMessageType
Helper type to store packets by integer message type.
Definition: DevicePacket.h:63
HomegearDevice(BaseLib::SharedObjects *baseLib)
Definition: HomegearDevice.cpp:95
std::map< int32_t, std::map< std::string, PPacket > > ValueRequestPackets
Helper type to store packets used to request values from devices.
Definition: DevicePacket.h:78
void saveFunction(xml_document *doc, xml_node *parentNode, PFunction &function, std::map< std::string, PConfigParameters > &configParameters, std::map< std::string, PVariables > &variables, std::map< std::string, PLinkParameters > &linkParameters)
Definition: HomegearDevice.cpp:2083
uint32_t memorySize2
Definition: HomegearDevice.h:84
std::string _path
Definition: HomegearDevice.h:124
Definition: HomegearDevice.h:57
Definition: HomegearDevice.h:59
PacketsByMessageType packetsByMessageType
Definition: HomegearDevice.h:100
void saveDevice(xml_document *doc, xml_node *parentNode, HomegearDevice *device)
Definition: HomegearDevice.cpp:278
ReceiveModes::Enum receiveModes
Definition: HomegearDevice.h:80
void parseXML(xml_node *node)
Definition: HomegearDevice.cpp:2257
PVariable value
Definition: UiElements.h:217
std::shared_ptr< Variable > PVariable
Definition: PhysicalInterfaceSettings.h:41
PSupportedDevice getType(uint64_t typeNumber)
Definition: HomegearDevice.cpp:2435
std::vector< PSupportedDevice > SupportedDevices
Definition: SupportedDevice.h:54
std::string interface
Definition: HomegearDevice.h:92
PacketsByFunction packetsByFunction2
Definition: HomegearDevice.h:103
Definition: HomegearDevice.h:59
std::map< std::string, PPacket > PacketsById
Helper type to store packets sorted by packet ID.
Definition: DevicePacket.h:68
uint32_t addressSize
Definition: HomegearDevice.h:90
void setFilename(std::string &value)
Definition: HomegearDevice.cpp:47
virtual ~HomegearDevice()
Definition: HomegearDevice.cpp:128
int32_t _dynamicChannelCount
Definition: HomegearDevice.h:126
std::shared_ptr< Scenario > PScenario
Definition: Scenario.h:53
bool encryption
Definition: HomegearDevice.h:81
std::shared_ptr< Function > PFunction
Definition: Function.h:46
void load(std::string xmlFilename, bool &oldFormat)
Definition: HomegearDevice.cpp:162
Definition: HomegearDevice.h:59
void postLoad()
Definition: HomegearDevice.cpp:202
uint32_t memorySize
Definition: HomegearDevice.h:83
PacketsById packetsById
Definition: HomegearDevice.h:101
void setPath(std::string &value)
Definition: HomegearDevice.cpp:39
void save(std::string &filename)
Definition: HomegearDevice.cpp:247
SupportedDevices supportedDevices
Definition: HomegearDevice.h:96
void setDynamicChannelCount(int32_t value)
Definition: HomegearDevice.cpp:59
This class represents root of the DOM hierarchy.
Definition: rapidxml.h:729
Class representing a node of XML document.
Definition: rapidxml.h:539
int32_t version
Definition: HomegearDevice.h:76
PVariable metadata
Definition: HomegearDevice.h:99
std::shared_ptr< Parameter > PParameter
Definition: Parameter.h:55
Definition: HomegearDevice.h:59
double dynamicChannelCountSize
Definition: HomegearDevice.h:72
bool visible
Definition: HomegearDevice.h:85
void saveParameter(xml_document *doc, xml_node *parentNode, PParameter ¶meter)
Definition: HomegearDevice.cpp:999
std::string getPath()
Definition: HomegearDevice.cpp:43
std::shared_ptr< SupportedDevice > PSupportedDevice
Definition: SupportedDevice.h:51
Definition: HomegearDevice.h:59
uint32_t timeout
Definition: HomegearDevice.h:82
PHomegearDevice group
Definition: HomegearDevice.h:105
ValueRequestPackets valueRequestPackets
Definition: HomegearDevice.h:104
bool needsTime
Definition: HomegearDevice.h:88
void saveParameterPacket(xml_document *doc, xml_node *parentNode, std::shared_ptr< Parameter::Packet > &packet)
Definition: HomegearDevice.cpp:1999