6 #include <Poco/Nullable.h>
7 #include <Poco/SharedPtr.h>
9 #include "model/DeviceID.h"
10 #include "model/ModuleType.h"
11 #include "model/SensorValue.h"
12 #include "zwave/ZWaveNode.h"
24 typedef Poco::SharedPtr<ZWaveMapperRegistry> Ptr;
33 typedef Poco::SharedPtr<Mapper> Ptr;
52 virtual std::string
product()
const;
57 virtual std::list<ModuleType>
types()
const = 0;
84 std::string m_product;
ZWaveMapperRegistry is mostly intended to map Z-Wave specific data type hierarchy to BeeeOn ModuleTyp...
Definition: ZWaveMapperRegistry.h:22
virtual std::string product() const
Definition: ZWaveMapperRegistry.cpp:30
Poco::Nullable< ModuleType > findType(const ModuleID &id) const
Find module type by ID.
Definition: ZWaveMapperRegistry.cpp:35
virtual std::list< ModuleType > types() const =0
Value coming from the Z-Wave network. It holds some data (usually sensor data) and metadata to identi...
Definition: ZWaveNode.h:102
Definition: SensorValue.h:14
Map the ZWaveNode-specific data to the BeeeOn-specific ones. It is assumed that the ZWaveNode instanc...
Definition: ZWaveMapperRegistry.h:31
virtual Mapper::Ptr resolve(const ZWaveNode &node)=0
Try to resolve a Mapper implementation suitable for the given Z-Wave node.
Definition: ModuleID.h:12
ZWaveNode represents information from the Z-Wave network about a particular node. Each Z-Wave node is...
Definition: ZWaveNode.h:22
virtual DeviceID buildID() const
The mapper can sometimes need to mangle a device ID for a Z-Wave node. This is possible by overriding...
Definition: ZWaveMapperRegistry.cpp:19
virtual SensorValue convert(const ZWaveNode::Value &value) const =0
Definition: DeviceID.h:17
Identity of a Z-Wave node that can be used separately without any instance of the ZWaveNode class...
Definition: ZWaveNode.h:28