Subversion Repositories HomeAutomation

Rev

Rev 1026 | Rev 1048 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | SVN | RSS feed

Rev Author Line No. Line
969 runge 1
/***************************************************************************
2
 *   Copyright (C) December 5, 2008 by Mattias Runge                             *
3
 *   mattias@runge.se                                                      *
4
 *   canvariable.h                                            *
5
 *                                                                         *
6
 *   This program is free software; you can redistribute it and/or modify  *
7
 *   it under the terms of the GNU General Public License as published by  *
8
 *   the Free Software Foundation; either version 2 of the License, or     *
9
 *   (at your option) any later version.                                   *
10
 *                                                                         *
11
 *   This program is distributed in the hope that it will be useful,       *
12
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
13
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
14
 *   GNU General Public License for more details.                          *
15
 *                                                                         *
16
 *   You should have received a copy of the GNU General Public License     *
17
 *   along with this program; if not, write to the                         *
18
 *   Free Software Foundation, Inc.,                                       *
19
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
20
 ***************************************************************************/
21
 
22
#ifndef _CANVARIABLE_H
23
#define	_CANVARIABLE_H
24
 
25
using namespace std;
26
 
27
#include <string>
1046 runge 28
#include <map>
969 runge 29
 
30
class CanVariable
31
{
32
public:
33
	CanVariable() {};
34
	CanVariable(string name, string value)
35
	{
36
		setName(name);
37
		setValue(value);
38
	};
39
	CanVariable(string name, string value, string type, string unit)
40
	{
41
		setName(name);
42
		setValue(value);
43
		setType(type);
44
		setUnit(unit);
45
	};
46
	~CanVariable() {};
47
 
48
	string getName() { return myName; };
49
	void setName(string name) { myName = name; };
50
 
51
	string getValue() { return myValue; };
52
	void setValue(string value) { myValue = value; };
53
 
54
	string getType() { return myType; };
55
	void setType(string type) { myType = type; };
56
 
57
	string getUnit() { return myUnit; };
58
	void setUnit(string unit) { myUnit = unit; };
59
 
1046 runge 60
	unsigned int getBitLength() { return myBitLength; };
969 runge 61
	void setBitLength(int bitLength) { myBitLength = bitLength; };
62
 
1046 runge 63
	unsigned int getStartBit() { return myStartBit; };
969 runge 64
	void setStartBit(int startBit) { myStartBit = startBit; };
65
 
1046 runge 66
	string getEnumIdValue()
67
	{
68
		for (map<string, string>::iterator iter; iter != myEnumValues.end(); iter++)
69
		{
70
			if (iter->second == myValue)
71
			{
72
				return iter->first;
73
			}
74
		}
75
 
76
		return "";
77
	}
78
 
79
	void addEnumValue(string id, string name)
80
	{
81
		myEnumValues[id] = name;
82
	}
83
 
969 runge 84
private:
85
	string myName;
86
	string myValue;
87
	string myType;
88
	string myUnit;
1046 runge 89
	unsigned int myBitLength;
90
	unsigned int myStartBit;
91
	map<string, string> myEnumValues;
969 runge 92
};
93
 
94
#endif	/* _CANVARIABLE_H */
95