28#ifndef _CommandClass_H 
   29#define _CommandClass_H 
   61        RequestFlag_Static      = 0x00000001,   
 
   62        RequestFlag_Session     = 0x00000002,   
 
   63        RequestFlag_Dynamic     = 0x00000004,   
 
   64        RequestFlag_AfterMark   = 0x00000008    
 
   70    virtual void ReadXML( TiXmlElement 
const* _ccElement );
 
   71    virtual void WriteXML( TiXmlElement* _ccElement );
 
   74    virtual void refreshValuesOnWakeup();
 
   79    string const GetCommandClassLabel();
 
   80    void SetCommandClassLabel(
string label);
 
   85    virtual void SetVersion( 
uint8 const _version ); 
 
   88    bool CheckForRefreshValues(
Value const* _value );
 
   99    Node* GetNodeUnsafe()
const;
 
  101    bool RemoveValue( 
uint8 const _instance, 
uint16 const _index );
 
  104        map<uint8,uint8>::iterator it = m_endPointMap.find( _instance );
 
  105        return( it == m_endPointMap.end() ? 0 : it->second );
 
 
  109        for( map<uint8,uint8>::iterator it = m_endPointMap.begin(); it != m_endPointMap.end(); ++it )
 
  111            if( _endPoint == it->second )
 
 
  119    void SetInstances( 
uint8 const _instances );
 
  120    void SetInstance( 
uint8 const _endPoint );
 
  122    virtual void SetInstanceLabel(
uint8 const _instance, 
char *label);
 
  123    string GetInstanceLabel(
uint8 const _instance);
 
  137    string ExtractValue( 
uint8 const* _data, 
uint8* _scale, 
uint8* _precision, 
uint8 _valueOffset = 1 )
const;
 
  146    void AppendValue( 
Msg* _msg, 
string const& _value, 
uint8 const _scale )
const;
 
  147    uint8 const GetAppendValueSize( 
string const& _value )
const;
 
  148    int32 ValueToInteger( 
string const& _value, 
uint8* o_precision, 
uint8* o_size )
const;
 
  150    void UpdateMappedClass( 
uint8 const _instance, 
uint8 const _classId, 
uint8 const _value );      
 
  162    void ReadValueRefreshXML ( TiXmlElement 
const* _ccElement );
 
  175    map<uint8,uint8> m_endPointMap;
 
  176    map<uint8, string> m_instanceLabel;
 
  178    bool        m_SecureSupport;    
 
  179    std::vector<RefreshValue *> m_RefreshClassValues; 
 
  180    string      m_commandClassLabel;
 
  187        StaticRequest_Instances     = 0x01,
 
  188        StaticRequest_Values        = 0x02,
 
  189        StaticRequest_Version       = 0x04
 
 
  193    void SetStaticRequest( uint8_t _request );
 
  194    void ClearStaticRequest( uint8_t _request );
 
 
unsigned short uint16
Definition Defs.h:92
unsigned int uint32
Definition Defs.h:95
signed int int32
Definition Defs.h:94
#define OPENZWAVE_EXPORT_WARNINGS_ON
Definition Defs.h:53
#define OPENZWAVE_EXPORT
Definition Defs.h:51
#define OPENZWAVE_EXPORT_WARNINGS_OFF
Definition Defs.h:52
unsigned char uint8
Definition Defs.h:89
Base class for all Z-Wave command classes.
Definition CommandClass.h:56
void SetEndPoint(uint8 const _instance, uint8 const _endpoint)
Definition CommandClass.h:126
void ReceivedCntIncr()
Definition CommandClass.h:204
virtual bool HandleIncomingMsg(uint8 const *_data, uint32 const _length, uint32 const _instance=1)
Definition CommandClass.h:82
uint32 GetSentCnt() const
Definition CommandClass.h:201
bool HasStaticRequest(uint8_t _request) const
Definition CommandClass.h:192
virtual void CreateVars(uint8 const _instance, uint8 const _index)
Definition CommandClass.h:168
uint8 GetNodeId() const
Definition CommandClass.h:97
void SetSecureSupport()
Definition CommandClass.h:132
virtual bool RequestState(uint32 const _requestFlags, uint8 const _instance, Driver::MsgQueue const _queue)
Definition CommandClass.h:72
bool IsSecureSupported() const
Definition CommandClass.h:130
virtual uint8 const GetCommandClassId() const =0
virtual uint8 GetMaxVersion()
Definition CommandClass.h:92
uint8 GetVersion() const
Definition CommandClass.h:94
void SentCntIncr()
Definition CommandClass.h:203
bool IsAfterMark() const
Definition CommandClass.h:127
CompatOptionManager m_dom
Definition CommandClass.h:164
uint32 GetHomeId() const
Definition CommandClass.h:96
virtual bool RequestValue(uint32 const _requestFlags, uint16 const _index, uint8 const _instance, Driver::MsgQueue const _queue)
Definition CommandClass.h:73
Bitfield const * GetInstances() const
Definition CommandClass.h:95
uint32 GetReceivedCnt() const
Definition CommandClass.h:202
virtual bool SetValue(Value const &_value)
Definition CommandClass.h:83
bool IsSecured() const
Definition CommandClass.h:128
StaticRequest
Definition CommandClass.h:186
bool IsInNIF()
Definition CommandClass.h:134
virtual bool HandleMsg(uint8 const *_data, uint32 const _length, uint32 const _instance=1)=0
void SetSecured()
Definition CommandClass.h:129
CompatOptionManager m_com
Definition CommandClass.h:163
void SetInNIF()
Definition CommandClass.h:133
virtual void CreateVars(uint8 const _instance)
Definition CommandClass.h:161
uint8 GetNumInstances()
Definition CommandClass.h:124
virtual void SetValueBasic(uint8 const _instance, uint8 const _level)
Definition CommandClass.h:84
virtual string const GetCommandClassName() const =0
void ClearSecureSupport()
Definition CommandClass.h:131
void SetAfterMark()
Definition CommandClass.h:125
uint8 GetEndPoint(uint8 const _instance)
Definition CommandClass.h:102
uint8 GetInstance(uint8 const _endPoint)
Definition CommandClass.h:107
Definition CompatOptionManager.h:110
uint8_t GetFlagByte(CompatOptionFlags flag) const
Definition CompatOptionManager.cpp:284
The Driver class handles communication between OpenZWave and a device attached via a serial port (typ...
Definition Driver.h:65
MsgQueue
Definition Driver.h:592
Message object to be passed to and from devices on the Z-Wave network.
Definition Msg.h:45
The Node class describes a Z-Wave node object...typically a device on the Z-Wave network.
Definition Node.h:66
Base class for values associated with a node.
Definition Value.h:49
@ STATE_FLAG_STATIC_REQUESTS
Definition CompatOptionManager.h:60
@ STATE_FLAG_INNIF
Definition CompatOptionManager.h:63
@ STATE_FLAG_AFTERMARK
Definition CompatOptionManager.h:61
@ STATE_FLAG_CCVERSION
Definition CompatOptionManager.h:59
@ STATE_FLAG_ENCRYPTED
Definition CompatOptionManager.h:62
Definition CommandClass.h:152
uint8 instance
Definition CommandClass.h:155
std::vector< RefreshValue * > RefreshClasses
Definition CommandClass.h:157
uint8 genre
Definition CommandClass.h:154
uint16 index
Definition CommandClass.h:156
uint8 cc
Definition CommandClass.h:153