28 #ifndef _CommandClass_H 29 #define _CommandClass_H 66 RequestFlag_Static = 0x00000001,
67 RequestFlag_Session = 0x00000002,
68 RequestFlag_Dynamic = 0x00000004,
69 RequestFlag_AfterMark = 0x00000008
75 virtual void ReadXML(TiXmlElement
const* _ccElement);
76 virtual void WriteXML(TiXmlElement* _ccElement);
85 virtual void refreshValuesOnWakeup();
87 virtual uint8 const GetCommandClassId()
const = 0;
88 virtual string const GetCommandClassName()
const = 0;
89 string const GetCommandClassLabel();
90 void SetCommandClassLabel(
string label);
91 virtual bool HandleMsg(
uint8 const* _data,
uint32 const _length,
uint32 const _instance = 1) = 0;
92 virtual bool HandleIncomingMsg(
uint8 const* _data,
uint32 const _length,
uint32 const _instance = 1);
100 virtual void SetVersion(
uint8 const _version);
128 Driver* GetDriver()
const;
129 Node* GetNodeUnsafe()
const;
131 bool RemoveValue(
uint8 const _instance,
uint16 const _index);
134 map<uint8, uint8>::iterator it = m_endPointMap.find(_instance);
135 return (it == m_endPointMap.end() ? 0 : it->second);
139 for (map<uint8, uint8>::iterator it = m_endPointMap.begin(); it != m_endPointMap.end(); ++it)
141 if (_endPoint == it->second)
153 void SetInstances(
uint8 const _instances);
154 void SetInstance(
uint8 const _endPoint);
156 virtual void SetInstanceLabel(
uint8 const _instance,
char *label);
157 string GetInstanceLabel(
uint8 const _instance);
160 return (
uint8) m_endPointMap.size();
169 m_endPointMap[_instance] = _endpoint;
185 return m_SecureSupport;
189 m_SecureSupport =
false;
193 m_SecureSupport =
true;
205 string ExtractValue(
uint8 const* _data,
uint8* _scale,
uint8* _precision,
uint8 _valueOffset = 1)
const;
215 void AppendValue(
Msg* _msg,
string const& _value,
uint8 const _scale)
const;
216 uint8 const GetAppendValueSize(
string const& _value)
const;
217 int32 ValueToInteger(
string const& _value,
uint8* o_precision,
uint8* o_size)
const;
219 void UpdateMappedClass(
uint8 const _instance,
uint8 const _classId,
uint8 const _value);
229 virtual void CreateVars(
uint8 const _instance);
230 void ReadValueRefreshXML(TiXmlElement
const* _ccElement);
241 map<uint8, uint8> m_endPointMap;
242 map<uint8, string> m_instanceLabel;
243 bool m_SecureSupport;
244 multimap<uint16, RefreshValue *> m_RefreshClassValues;
245 string m_commandClassLabel;
252 StaticRequest_Instances = 0x01,
253 StaticRequest_Values = 0x02,
254 StaticRequest_Version = 0x04
261 void SetStaticRequest(uint8_t _request);
262 void ClearStaticRequest(uint8_t _request);
274 return m_receivedCnt;
Definition: CompatOptionManager.h:75
CompatOptionManager m_dom
Definition: CommandClass.h:232
uint8 GetVersion() const
Definition: CommandClass.h:112
Definition: Bitfield.cpp:30
MsgQueue
Definition: Driver.h:659
uint32 GetSentCnt() const
Definition: CommandClass.h:268
Definition: CompatOptionManager.h:73
#define OPENZWAVE_EXPORT
Definition: Defs.h:52
virtual bool RequestState(uint32 const _requestFlags, uint8 const _instance, Driver::MsgQueue const _queue)
Definition: CommandClass.h:77
unsigned short uint16
Definition: Defs.h:88
bool HasStaticRequest(uint8_t _request) const
Definition: CommandClass.h:257
uint8 GetEndPoint(uint8 const _instance)
Definition: CommandClass.h:132
void ReceivedCntIncr()
Definition: CommandClass.h:280
virtual void SetValueBasic(uint8 const _instance, uint8 const _level)
Definition: CommandClass.h:97
uint8 GetNumInstances()
Definition: CommandClass.h:158
bool IsSecured() const
Definition: CommandClass.h:175
void SetEndPoint(uint8 const _instance, uint8 const _endpoint)
Definition: CommandClass.h:167
uint8 GetInstance(uint8 const _endPoint)
Definition: CommandClass.h:137
Container that holds all of the values associated with a given node.
Definition: ValueStore.h:49
void SetInNIF()
Definition: CommandClass.h:195
The Node class describes a Z-Wave node object...typically a device on the Z-Wave network.
Definition: Node.h:81
Base class for all Z-Wave command classes.
Definition: CommandClass.h:60
uint8 requestflags
Definition: CommandClass.h:224
Definition: CommandClass.h:221
void SentCntIncr()
Definition: CommandClass.h:276
uint8 GetNodeId() const
Definition: CommandClass.h:124
Definition: CompatOptionManager.h:72
uint32 GetReceivedCnt() const
Definition: CommandClass.h:272
bool IsSecureSupported() const
Definition: CommandClass.h:183
The Driver class handles communication between OpenZWave and a device attached via a serial port (typ...
Definition: Driver.h:84
bool IsAfterMark() const
Definition: CommandClass.h:171
Definition: CompatOptionManager.h:76
signed int int32
Definition: Defs.h:90
unsigned int uint32
Definition: Defs.h:91
virtual bool RequestValue(uint32 const _requestFlags, uint16 const _index, uint8 const _instance, Driver::MsgQueue const _queue)
Definition: CommandClass.h:81
uint8 cc
Definition: CommandClass.h:223
virtual bool SetValue(Internal::VC::Value const &_value)
Definition: CommandClass.h:93
virtual bool supportsMultiInstance()
Definition: CommandClass.h:149
virtual uint8 GetMaxVersion()
Definition: CommandClass.h:107
Definition: CompatOptionManager.h:74
StaticRequest
Definition: CommandClass.h:250
Definition: CompatOptionManager.h:141
CompatOptionManager m_com
Definition: CommandClass.h:231
uint16 index
Definition: CommandClass.h:225
Definition: Bitfield.h:39
void SetSecured()
Definition: CommandClass.h:179
uint8_t GetFlagByte(CompatOptionFlags flag, uint32_t index=-1) const
Definition: CompatOptionManager.cpp:467
uint32 GetHomeId() const
Definition: CommandClass.h:120
Bitfield const * GetInstances() const
Definition: CommandClass.h:116
void SetSecureSupport()
Definition: CommandClass.h:191
Message object to be passed to and from devices on the Z-Wave network.
Definition: Msg.h:50
Base class for values associated with a node.
Definition: Value.h:54
void SetAfterMark()
Definition: CommandClass.h:163
bool IsInNIF()
Definition: CommandClass.h:199
void ClearSecureSupport()
Definition: CommandClass.h:187
unsigned char uint8
Definition: Defs.h:85