Subversion Repositories HomeAutomation

Rev

Rev 1026 | Rev 1048 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

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