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 modeAttrib
: public Tango::Attr
95 modeAttrib():Attr("mode", Tango::DEV_STRING
, Tango::READ_WRITE
) {};
98 virtual void read(Tango::DeviceImpl
*dev
,Tango::Attribute
&att
)
99 {(static_cast<PseudoAxes
*>(dev
))->read_mode(att
);}
100 virtual void write(Tango::DeviceImpl
*dev
,Tango::WAttribute
&att
)
101 {(static_cast<PseudoAxes
*>(dev
))->write_mode(att
);}
102 virtual bool is_allowed(Tango::DeviceImpl
*dev
,Tango::AttReqType ty
)
103 {return (static_cast<PseudoAxes
*>(dev
))->is_mode_allowed(ty
);}
106 //=========================================
107 // Define classes for commands
108 //=========================================
109 class AxisInitClass
: public Tango::Command
112 AxisInitClass(const char *name
,
113 Tango::CmdArgType in
,
114 Tango::CmdArgType out
,
116 const char *out_desc
,
117 Tango::DispLevel level
)
118 :Command(name
,in
,out
,in_desc
,out_desc
, level
) {};
120 AxisInitClass(const char *name
,
121 Tango::CmdArgType in
,
122 Tango::CmdArgType out
)
123 :Command(name
,in
,out
) {};
126 virtual CORBA::Any
*execute (Tango::DeviceImpl
*dev
, const CORBA::Any
&any
);
127 virtual bool is_allowed (Tango::DeviceImpl
*dev
, const CORBA::Any
&any
)
128 {return (static_cast<PseudoAxes
*>(dev
))->is_AxisInit_allowed(any
);}
134 // The PseudoAxesClass singleton definition
137 class PseudoAxesClass
: public Tango::DeviceClass
140 // properties member data
142 // add your own data members here
143 //------------------------------------
146 Tango::DbData cl_prop
;
147 Tango::DbData cl_def_prop
;
148 Tango::DbData dev_def_prop
;
151 static PseudoAxesClass
*init(const char *);
152 static PseudoAxesClass
*instance();
154 Tango::DbDatum
get_class_property(string
&);
155 Tango::DbDatum
get_default_device_property(string
&);
156 Tango::DbDatum
get_default_class_property(string
&);
159 PseudoAxesClass(string
&);
160 static PseudoAxesClass
*_instance
;
161 void command_factory();
162 void get_class_property();
163 void attribute_factory(vector
<Tango::Attr
*> &);
164 void write_class_property();
165 void set_default_property();
168 void device_factory(const Tango::DevVarStringArray
*);
172 } // namespace PseudoAxes_ns
174 #endif // _PSEUDOAXESCLASS_H