1 //----------------------------------------------------------------------------- 2 // 3 // ValueByte.h 4 // 5 // Represents an 8-bit value 6 // 7 // Copyright (c) 2010 Mal Lansell <openzwave@lansell.org> 8 // 9 // SOFTWARE NOTICE AND LICENSE 10 // 11 // This file is part of OpenZWave. 12 // 13 // OpenZWave is free software: you can redistribute it and/or modify 14 // it under the terms of the GNU Lesser General Public License as published 15 // by the Free Software Foundation, either version 3 of the License, 16 // or (at your option) any later version. 17 // 18 // OpenZWave is distributed in the hope that it will be useful, 19 // but WITHOUT ANY WARRANTY; without even the implied warranty of 20 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 // GNU Lesser General Public License for more details. 22 // 23 // You should have received a copy of the GNU Lesser General Public License 24 // along with OpenZWave. If not, see <http://www.gnu.org/licenses/>. 25 // 26 //----------------------------------------------------------------------------- 27 28 #ifndef _ValueByte_H 29 #define _ValueByte_H 30 31 #include <string> 32 #include "Defs.h" 33 #include "value_classes/Value.h" 34 35 class TiXmlElement; 36 37 namespace OpenZWave 38 { 39 class Msg; 40 class Node; 41 42 /** \brief Byte value sent to/received from a node. 43 */ 44 class ValueByte: public Value 45 { 46 public: 47 ValueByte( uint32 const _homeId, uint8 const _nodeId, ValueID::ValueGenre const _genre, uint8 const _commandClassId, uint8 const _instance, uint8 const _index, string const& _label, string const& _units, bool const _readOnly, bool const _writeOnly, uint8 const _value, uint8 const _pollIntensity ); 48 ValueByte(); ~ValueByte()49 virtual ~ValueByte(){} 50 51 bool Set( uint8 const _value ); 52 void OnValueRefreshed( uint8 const _value ); 53 54 // From Value 55 virtual string const GetAsString() const; 56 virtual bool SetFromString( string const& _value ); 57 virtual void ReadXML( uint32 const _homeId, uint8 const _nodeId, uint8 const _commandClassId, TiXmlElement const* _valueElement ); 58 virtual void WriteXML( TiXmlElement* _valueElement ); 59 GetValue()60 uint8 GetValue()const{ return m_value; } 61 62 private: 63 uint8 m_value; // the current value 64 uint8 m_valueCheck; // the previous value (used for double-checking spurious value reads) 65 }; 66 67 } // namespace OpenZWave 68 69 #endif 70 71 72 73