Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
/*----- PROTECTED REGION ID(AccessConfClass.h) ENABLED START -----*/
//=============================================================================
//
// file : AccessConfClass.h
//
// description : Include for the AccessConfClass root class.
// This class is the singleton class for.
// the AccessConf device class..
// It contains all properties and methods which the .
// AccessConf requires only once e.g. the commands.
//
// project : Storage Ring Access.
//
// $Author: graziano $
//
// $Revision: 1.1 $
// $Date: 2012-10-30 09:29:15 $
//
// SVN only:
// $HeadURL: $
//
// CVS only:
// $Source: /home/cvsadm/cvsroot/fermi/servers/accessconf/src/AccessConfClass.h,v $
// $Log: AccessConfClass.h,v $
// Revision 1.1 2012-10-30 09:29:15 graziano
// *** empty log message ***
//
//
//
//=============================================================================
// This file is generated by POGO
// (Program Obviously used to Generate tango Object)
//=============================================================================
#ifndef ACCESSCONFCLASS_H
#define ACCESSCONFCLASS_H
#include <tango.h>
#include <AccessConf.h>
/*----- PROTECTED REGION END -----*/
namespace AccessConf_ns
{
/*----- PROTECTED REGION ID(AccessConf::classes for dynamic creation) ENABLED START -----*/
/*----- PROTECTED REGION END -----*/ // AccessConf::classes for dynamic creation
//=========================================
// Define classes for attributes
//=========================================
// Attribute Version class definition
class VersionAttrib: public Tango::Attr
{
public:
VersionAttrib():Attr("Version",
Tango::DEV_STRING, Tango::READ) {};
~VersionAttrib() {};
VersionAttrib(const string &att_name):Attr(att_name.c_str(),
Tango::DEV_STRING, Tango::READ) {};
virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
{(static_cast<AccessConf *>(dev))->read_Version(att);}
virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
{return (static_cast<AccessConf *>(dev))->is_Version_allowed(ty);}
};
// Attribute BoolScalarDyn class definition
class BoolScalarDynAttrib: public Tango::Attr
{
public:
BoolScalarDynAttrib():Attr("BoolScalarDyn",
Tango::DEV_BOOLEAN, Tango::READ) {};
~BoolScalarDynAttrib() {};
BoolScalarDynAttrib(const string &att_name):Attr(att_name.c_str(),
Tango::DEV_BOOLEAN, Tango::READ) {};
virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
{(static_cast<AccessConf *>(dev))->read_BoolScalarDyn(att);}
virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
{return (static_cast<AccessConf *>(dev))->is_BoolScalarDyn_allowed(ty);}
};
// Attribute BoolSpectrumDyn class definition
class BoolSpectrumDynAttrib: public Tango::SpectrumAttr
{
public:
BoolSpectrumDynAttrib():SpectrumAttr("BoolSpectrumDyn",
Tango::DEV_BOOLEAN, Tango::READ, MAX_ATTR_SIZE) {};
~BoolSpectrumDynAttrib() {};
BoolSpectrumDynAttrib(const string &att_name, long size):SpectrumAttr(att_name.c_str(),
Tango::DEV_BOOLEAN, Tango::READ, size) {};
virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
{(static_cast<AccessConf *>(dev))->read_BoolSpectrumDyn(att);}
virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
{return (static_cast<AccessConf *>(dev))->is_BoolSpectrumDyn_allowed(ty);}
};
// Attribute StringSpectrumDyn class definition
class StringSpectrumDynAttrib: public Tango::SpectrumAttr
{
public:
StringSpectrumDynAttrib():SpectrumAttr("StringSpectrumDyn",
Tango::DEV_STRING, Tango::READ, MAX_ATTR_SIZE) {};
~StringSpectrumDynAttrib() {};
StringSpectrumDynAttrib(const string &att_name, long size):SpectrumAttr(att_name.c_str(),
Tango::DEV_STRING, Tango::READ, size) {};
virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
{(static_cast<AccessConf *>(dev))->read_StringSpectrumDyn(att);}
virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
{return (static_cast<AccessConf *>(dev))->is_StringSpectrumDyn_allowed(ty);}
};
//=========================================
// Define classes for commands
//=========================================
/**
* The TemplateDevServClass singleton definition
*/
class
#ifdef _TG_WINDOWS_
__declspec(dllexport)
#endif
AccessConfClass : public Tango::DeviceClass
{
/*----- PROTECTED REGION ID(AccessConf::Additionnal DServer data members) ENABLED START -----*/
/*----- PROTECTED REGION END -----*/ // AccessConf::Additionnal DServer data members
public:
// write class properties data members
Tango::DbData cl_prop;
Tango::DbData cl_def_prop;
Tango::DbData dev_def_prop;
// Method prototypes
static AccessConfClass *init(const char *);
static AccessConfClass *instance();
~AccessConfClass();
Tango::DbDatum get_class_property(string &);
Tango::DbDatum get_default_device_property(string &);
Tango::DbDatum get_default_class_property(string &);
protected:
AccessConfClass(string &);
static AccessConfClass *_instance;
void command_factory();
void attribute_factory(vector<Tango::Attr *> &);
void write_class_property();
void set_default_property();
void get_class_property();
string get_cvstag();
string get_cvsroot();
private:
void device_factory(const Tango::DevVarStringArray *);
void create_static_attribute_list(vector<Tango::Attr *> &);
void erase_dynamic_attributes(const Tango::DevVarStringArray *,vector<Tango::Attr *> &);
vector<string> defaultAttList;
};
} // namespace
#endif // ACCESSCONFCLASS_H