1 //=============================================================================
3 // file : PseudoAxesClass.h
5 // description : Include for the PseudoAxesClass root class.
6 // This class is represents the singleton class for
7 // the PseudoAxes device class.
8 // It contains all properties and methods which the
9 // PseudoAxes requires only once e.g. the commands.
11 // project : TANGO Device Server
19 // copyleft : European Synchrotron Radiation Facility
20 // BP 220, Grenoble 38043
23 //=============================================================================
25 // This file is generated by POGO
26 // (Program Obviously used to Generate tango Object)
28 // (c) - Software Engineering Group - ESRF
29 //=============================================================================
31 #ifndef _PSEUDOAXESCLASS_H
32 #define _PSEUDOAXESCLASS_H
35 #include <PseudoAxes.h>
38 namespace PseudoAxes_ns
39 {//=====================================
40 // Define classes for attributes
41 //=====================================
42 class pseudoAxisNamesAttrib
: public Tango::SpectrumAttr
45 pseudoAxisNamesAttrib():SpectrumAttr("pseudoAxisNames", Tango::DEV_STRING
, Tango::READ
, 100) {};
46 ~pseudoAxisNamesAttrib() {};
48 virtual void read(Tango::DeviceImpl
*dev
,Tango::Attribute
&att
)
49 {(static_cast<PseudoAxes
*>(dev
))->read_pseudoAxisNames(att
);}
50 virtual bool is_allowed(Tango::DeviceImpl
*dev
,Tango::AttReqType ty
)
51 {return (static_cast<PseudoAxes
*>(dev
))->is_pseudoAxisNames_allowed(ty
);}
54 class parametersAttrib
: public Tango::SpectrumAttr
57 parametersAttrib():SpectrumAttr("parameters", Tango::DEV_DOUBLE
, Tango::READ_WRITE
, 100) {};
58 ~parametersAttrib() {};
60 virtual void read(Tango::DeviceImpl
*dev
,Tango::Attribute
&att
)
61 {(static_cast<PseudoAxes
*>(dev
))->read_parameters(att
);}
62 virtual void write(Tango::DeviceImpl
*dev
,Tango::WAttribute
&att
)
63 {(static_cast<PseudoAxes
*>(dev
))->write_parameters(att
);}
64 virtual bool is_allowed(Tango::DeviceImpl
*dev
,Tango::AttReqType ty
)
65 {return (static_cast<PseudoAxes
*>(dev
))->is_parameters_allowed(ty
);}
68 class parametersNamesAttrib
: public Tango::SpectrumAttr
71 parametersNamesAttrib():SpectrumAttr("parametersNames", Tango::DEV_STRING
, Tango::READ
, 100) {};
72 ~parametersNamesAttrib() {};
74 virtual void read(Tango::DeviceImpl
*dev
,Tango::Attribute
&att
)
75 {(static_cast<PseudoAxes
*>(dev
))->read_parametersNames(att
);}
76 virtual bool is_allowed(Tango::DeviceImpl
*dev
,Tango::AttReqType ty
)
77 {return (static_cast<PseudoAxes
*>(dev
))->is_parametersNames_allowed(ty
);}
80 class modeNamesAttrib
: public Tango::SpectrumAttr
83 modeNamesAttrib():SpectrumAttr("modeNames", Tango::DEV_STRING
, Tango::READ
, 100) {};
84 ~modeNamesAttrib() {};
86 virtual void read(Tango::DeviceImpl
*dev
,Tango::Attribute
&att
)
87 {(static_cast<PseudoAxes
*>(dev
))->read_modeNames(att
);}
88 virtual bool is_allowed(Tango::DeviceImpl
*dev
,Tango::AttReqType ty
)
89 {return (static_cast<PseudoAxes
*>(dev
))->is_modeNames_allowed(ty
);}
92 class initializedAttrib
: public Tango::Attr
95 initializedAttrib():Attr("initialized", Tango::DEV_BOOLEAN
, Tango::READ_WRITE
) {};
96 ~initializedAttrib() {};
98 virtual void read(Tango::DeviceImpl
*dev
,Tango::Attribute
&att
)
99 {(static_cast<PseudoAxes
*>(dev
))->read_initialized(att
);}
100 virtual void write(Tango::DeviceImpl
*dev
,Tango::WAttribute
&att
)
101 {(static_cast<PseudoAxes
*>(dev
))->write_initialized(att
);}
102 virtual bool is_allowed(Tango::DeviceImpl
*dev
,Tango::AttReqType ty
)
103 {return (static_cast<PseudoAxes
*>(dev
))->is_initialized_allowed(ty
);}
106 class modeAttrib
: public Tango::Attr
109 modeAttrib():Attr("mode", Tango::DEV_STRING
, Tango::READ_WRITE
) {};
112 virtual void read(Tango::DeviceImpl
*dev
,Tango::Attribute
&att
)
113 {(static_cast<PseudoAxes
*>(dev
))->read_mode(att
);}
114 virtual void write(Tango::DeviceImpl
*dev
,Tango::WAttribute
&att
)
115 {(static_cast<PseudoAxes
*>(dev
))->write_mode(att
);}
116 virtual bool is_allowed(Tango::DeviceImpl
*dev
,Tango::AttReqType ty
)
117 {return (static_cast<PseudoAxes
*>(dev
))->is_mode_allowed(ty
);}
120 //=========================================
121 // Define classes for commands
122 //=========================================
123 class ApplyCmd
: public Tango::Command
126 ApplyCmd(const char *name
,
127 Tango::CmdArgType in
,
128 Tango::CmdArgType out
,
130 const char *out_desc
,
131 Tango::DispLevel level
)
132 :Command(name
,in
,out
,in_desc
,out_desc
, level
) {};
134 ApplyCmd(const char *name
,
135 Tango::CmdArgType in
,
136 Tango::CmdArgType out
)
137 :Command(name
,in
,out
) {};
140 virtual CORBA::Any
*execute (Tango::DeviceImpl
*dev
, const CORBA::Any
&any
);
141 virtual bool is_allowed (Tango::DeviceImpl
*dev
, const CORBA::Any
&any
)
142 {return (static_cast<PseudoAxes
*>(dev
))->is_Apply_allowed(any
);}
147 class AxisInitClass
: public Tango::Command
150 AxisInitClass(const char *name
,
151 Tango::CmdArgType in
,
152 Tango::CmdArgType out
,
154 const char *out_desc
,
155 Tango::DispLevel level
)
156 :Command(name
,in
,out
,in_desc
,out_desc
, level
) {};
158 AxisInitClass(const char *name
,
159 Tango::CmdArgType in
,
160 Tango::CmdArgType out
)
161 :Command(name
,in
,out
) {};
164 virtual CORBA::Any
*execute (Tango::DeviceImpl
*dev
, const CORBA::Any
&any
);
165 virtual bool is_allowed (Tango::DeviceImpl
*dev
, const CORBA::Any
&any
)
166 {return (static_cast<PseudoAxes
*>(dev
))->is_AxisInit_allowed(any
);}
172 // The PseudoAxesClass singleton definition
175 class PseudoAxesClass
: public Tango::DeviceClass
178 // properties member data
180 // add your own data members here
181 //------------------------------------
184 Tango::DbData cl_prop
;
185 Tango::DbData cl_def_prop
;
186 Tango::DbData dev_def_prop
;
189 static PseudoAxesClass
*init(const char *);
190 static PseudoAxesClass
*instance();
192 Tango::DbDatum
get_class_property(string
&);
193 Tango::DbDatum
get_default_device_property(string
&);
194 Tango::DbDatum
get_default_class_property(string
&);
197 PseudoAxesClass(string
&);
198 static PseudoAxesClass
*_instance
;
199 void command_factory();
200 void get_class_property();
201 void attribute_factory(vector
<Tango::Attr
*> &);
202 void write_class_property();
203 void set_default_property();
206 void device_factory(const Tango::DevVarStringArray
*);
210 } // namespace PseudoAxes_ns
212 #endif // _PSEUDOAXESCLASS_H