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();
89 string const GetCommandClassLabel();
90 void SetCommandClassLabel(
string label);
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;
unsigned short uint16
Definition: Defs.h:88
unsigned int uint32
Definition: Defs.h:91
signed int int32
Definition: Defs.h:90
#define OPENZWAVE_EXPORT
Definition: Defs.h:52
unsigned char uint8
Definition: Defs.h:85
The Driver class handles communication between OpenZWave and a device attached via a serial port (typ...
Definition: Driver.h:85
MsgQueue
Definition: Driver.h:660
Definition: Bitfield.h:40
Base class for all Z-Wave command classes.
Definition: CommandClass.h:61
uint32 GetHomeId() const
Definition: CommandClass.h:120
uint8 GetEndPoint(uint8 const _instance)
Definition: CommandClass.h:132
virtual uint8 GetMaxVersion()
Definition: CommandClass.h:107
uint8 GetInstance(uint8 const _endPoint)
Definition: CommandClass.h:137
void SetEndPoint(uint8 const _instance, uint8 const _endpoint)
Definition: CommandClass.h:167
CompatOptionManager m_dom
Definition: CommandClass.h:232
virtual bool HandleMsg(uint8 const *_data, uint32 const _length, uint32 const _instance=1)=0
Bitfield const * GetInstances() const
Definition: CommandClass.h:116
virtual bool supportsMultiInstance()
Definition: CommandClass.h:149
void ReceivedCntIncr()
Definition: CommandClass.h:280
virtual uint8 const GetCommandClassId() const =0
virtual bool RequestValue(uint32 const _requestFlags, uint16 const _index, uint8 const _instance, Driver::MsgQueue const _queue)
Definition: CommandClass.h:81
void ClearSecureSupport()
Definition: CommandClass.h:187
void SetInNIF()
Definition: CommandClass.h:195
uint8 GetVersion() const
Definition: CommandClass.h:112
bool IsSecureSupported() const
Definition: CommandClass.h:183
virtual bool RequestState(uint32 const _requestFlags, uint8 const _instance, Driver::MsgQueue const _queue)
Definition: CommandClass.h:77
virtual void SetValueBasic(uint8 const _instance, uint8 const _level)
Definition: CommandClass.h:97
virtual bool SetValue(Internal::VC::Value const &_value)
Definition: CommandClass.h:93
void SetSecured()
Definition: CommandClass.h:179
bool IsSecured() const
Definition: CommandClass.h:175
uint32 GetReceivedCnt() const
Definition: CommandClass.h:272
bool IsInNIF()
Definition: CommandClass.h:199
uint8 GetNumInstances()
Definition: CommandClass.h:158
StaticRequest
Definition: CommandClass.h:251
void SentCntIncr()
Definition: CommandClass.h:276
uint32 GetSentCnt() const
Definition: CommandClass.h:268
void SetAfterMark()
Definition: CommandClass.h:163
uint8 GetNodeId() const
Definition: CommandClass.h:124
CompatOptionManager m_com
Definition: CommandClass.h:231
void SetSecureSupport()
Definition: CommandClass.h:191
bool HasStaticRequest(uint8_t _request) const
Definition: CommandClass.h:257
virtual string const GetCommandClassName() const =0
bool IsAfterMark() const
Definition: CommandClass.h:171
Definition: CompatOptionManager.h:142
uint8_t GetFlagByte(CompatOptionFlags flag, uint32_t index=-1) const
Definition: CompatOptionManager.cpp:467
Message object to be passed to and from devices on the Z-Wave network.
Definition: Msg.h:51
Container that holds all of the values associated with a given node.
Definition: ValueStore.h:50
Base class for values associated with a node.
Definition: Value.h:55
The Node class describes a Z-Wave node object...typically a device on the Z-Wave network.
Definition: Node.h:82
@ STATE_FLAG_STATIC_REQUESTS
Definition: CompatOptionManager.h:73
@ STATE_FLAG_INNIF
Definition: CompatOptionManager.h:76
@ STATE_FLAG_CCVERSION
Definition: CompatOptionManager.h:72
@ STATE_FLAG_ENCRYPTED
Definition: CompatOptionManager.h:75
@ STATE_FLAG_AFTERMARK
Definition: CompatOptionManager.h:74
Definition: Bitfield.cpp:31
Definition: CommandClass.h:222
uint16 index
Definition: CommandClass.h:225
uint8 cc
Definition: CommandClass.h:223
uint8 requestflags
Definition: CommandClass.h:224