/*----- PROTECTED REGION ID(ConexAgpClass.h) ENABLED START -----*/ //============================================================================= // // file : ConexAgpClass.h // // description : Include for the ConexAgp root class. // This class is the singleton class for // the ConexAgp device class. // It contains all properties and methods which the // ConexAgp requires only once e.g. the commands. // // project : Newport ConexAgp Agilis-D controller // // This file is part of Tango device class. // // Tango is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Tango is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Tango. If not, see <http://www.gnu.org/licenses/>. // // $Author: graziano $ // // $Revision: 1.1 $ // $Date: 2017-12-21 11:26:12 $ // // $HeadURL: $ // //============================================================================= // This file is generated by POGO // (Program Obviously used to Generate tango Object) //============================================================================= #ifndef ConexAgpClass_H #define ConexAgpClass_H #include <tango.h> #include <ConexAgp.h> /*----- PROTECTED REGION END -----*/ // ConexAgpClass.h namespace ConexAgp_ns { /*----- PROTECTED REGION ID(ConexAgpClass::classes for dynamic creation) ENABLED START -----*/ /*----- PROTECTED REGION END -----*/ // ConexAgpClass::classes for dynamic creation //========================================= // Define classes for attributes //========================================= // Attribute Position class definition class PositionAttrib: public Tango::Attr { public: PositionAttrib():Attr("Position", Tango::DEV_DOUBLE, Tango::READ_WRITE) {}; ~PositionAttrib() {}; virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att) {(static_cast<ConexAgp *>(dev))->read_Position(att);} virtual void write(Tango::DeviceImpl *dev,Tango::WAttribute &att) {(static_cast<ConexAgp *>(dev))->write_Position(att);} virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty) {return (static_cast<ConexAgp *>(dev))->is_Position_allowed(ty);} }; // Attribute TargetPosition class definition class TargetPositionAttrib: public Tango::Attr { public: TargetPositionAttrib():Attr("TargetPosition", Tango::DEV_DOUBLE, Tango::READ) {}; ~TargetPositionAttrib() {}; virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att) {(static_cast<ConexAgp *>(dev))->read_TargetPosition(att);} virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty) {return (static_cast<ConexAgp *>(dev))->is_TargetPosition_allowed(ty);} }; //========================================= // Define classes for commands //========================================= // Command Homing class definition class HomingClass : public Tango::Command { public: HomingClass(const char *name, Tango::CmdArgType in, Tango::CmdArgType out, const char *in_desc, const char *out_desc, Tango::DispLevel level) :Command(name,in,out,in_desc,out_desc, level) {}; HomingClass(const char *name, Tango::CmdArgType in, Tango::CmdArgType out) :Command(name,in,out) {}; ~HomingClass() {}; virtual CORBA::Any *execute (Tango::DeviceImpl *dev, const CORBA::Any &any); virtual bool is_allowed (Tango::DeviceImpl *dev, const CORBA::Any &any) {return (static_cast<ConexAgp *>(dev))->is_Homing_allowed(any);} }; // Command Stop class definition class StopClass : public Tango::Command { public: StopClass(const char *name, Tango::CmdArgType in, Tango::CmdArgType out, const char *in_desc, const char *out_desc, Tango::DispLevel level) :Command(name,in,out,in_desc,out_desc, level) {}; StopClass(const char *name, Tango::CmdArgType in, Tango::CmdArgType out) :Command(name,in,out) {}; ~StopClass() {}; virtual CORBA::Any *execute (Tango::DeviceImpl *dev, const CORBA::Any &any); virtual bool is_allowed (Tango::DeviceImpl *dev, const CORBA::Any &any) {return (static_cast<ConexAgp *>(dev))->is_Stop_allowed(any);} }; // Command GetVersion class definition class GetVersionClass : public Tango::Command { public: GetVersionClass(const char *name, Tango::CmdArgType in, Tango::CmdArgType out, const char *in_desc, const char *out_desc, Tango::DispLevel level) :Command(name,in,out,in_desc,out_desc, level) {}; GetVersionClass(const char *name, Tango::CmdArgType in, Tango::CmdArgType out) :Command(name,in,out) {}; ~GetVersionClass() {}; virtual CORBA::Any *execute (Tango::DeviceImpl *dev, const CORBA::Any &any); virtual bool is_allowed (Tango::DeviceImpl *dev, const CORBA::Any &any) {return (static_cast<ConexAgp *>(dev))->is_GetVersion_allowed(any);} }; // Command Reset class definition class ResetClass : public Tango::Command { public: ResetClass(const char *name, Tango::CmdArgType in, Tango::CmdArgType out, const char *in_desc, const char *out_desc, Tango::DispLevel level) :Command(name,in,out,in_desc,out_desc, level) {}; ResetClass(const char *name, Tango::CmdArgType in, Tango::CmdArgType out) :Command(name,in,out) {}; ~ResetClass() {}; virtual CORBA::Any *execute (Tango::DeviceImpl *dev, const CORBA::Any &any); virtual bool is_allowed (Tango::DeviceImpl *dev, const CORBA::Any &any) {return (static_cast<ConexAgp *>(dev))->is_Reset_allowed(any);} }; // Command Backward class definition class BackwardClass : public Tango::Command { public: BackwardClass(const char *name, Tango::CmdArgType in, Tango::CmdArgType out, const char *in_desc, const char *out_desc, Tango::DispLevel level) :Command(name,in,out,in_desc,out_desc, level) {}; BackwardClass(const char *name, Tango::CmdArgType in, Tango::CmdArgType out) :Command(name,in,out) {}; ~BackwardClass() {}; virtual CORBA::Any *execute (Tango::DeviceImpl *dev, const CORBA::Any &any); virtual bool is_allowed (Tango::DeviceImpl *dev, const CORBA::Any &any) {return (static_cast<ConexAgp *>(dev))->is_Backward_allowed(any);} }; // Command Forward class definition class ForwardClass : public Tango::Command { public: ForwardClass(const char *name, Tango::CmdArgType in, Tango::CmdArgType out, const char *in_desc, const char *out_desc, Tango::DispLevel level) :Command(name,in,out,in_desc,out_desc, level) {}; ForwardClass(const char *name, Tango::CmdArgType in, Tango::CmdArgType out) :Command(name,in,out) {}; ~ForwardClass() {}; virtual CORBA::Any *execute (Tango::DeviceImpl *dev, const CORBA::Any &any); virtual bool is_allowed (Tango::DeviceImpl *dev, const CORBA::Any &any) {return (static_cast<ConexAgp *>(dev))->is_Forward_allowed(any);} }; // Command Enable class definition class EnableClass : public Tango::Command { public: EnableClass(const char *name, Tango::CmdArgType in, Tango::CmdArgType out, const char *in_desc, const char *out_desc, Tango::DispLevel level) :Command(name,in,out,in_desc,out_desc, level) {}; EnableClass(const char *name, Tango::CmdArgType in, Tango::CmdArgType out) :Command(name,in,out) {}; ~EnableClass() {}; virtual CORBA::Any *execute (Tango::DeviceImpl *dev, const CORBA::Any &any); virtual bool is_allowed (Tango::DeviceImpl *dev, const CORBA::Any &any) {return (static_cast<ConexAgp *>(dev))->is_Enable_allowed(any);} }; // Command Disable class definition class DisableClass : public Tango::Command { public: DisableClass(const char *name, Tango::CmdArgType in, Tango::CmdArgType out, const char *in_desc, const char *out_desc, Tango::DispLevel level) :Command(name,in,out,in_desc,out_desc, level) {}; DisableClass(const char *name, Tango::CmdArgType in, Tango::CmdArgType out) :Command(name,in,out) {}; ~DisableClass() {}; virtual CORBA::Any *execute (Tango::DeviceImpl *dev, const CORBA::Any &any); virtual bool is_allowed (Tango::DeviceImpl *dev, const CORBA::Any &any) {return (static_cast<ConexAgp *>(dev))->is_Disable_allowed(any);} }; /** * The ConexAgpClass singleton definition */ #ifdef _TG_WINDOWS_ class __declspec(dllexport) ConexAgpClass : public Tango::DeviceClass #else class ConexAgpClass : public Tango::DeviceClass #endif { /*----- PROTECTED REGION ID(ConexAgpClass::Additionnal DServer data members) ENABLED START -----*/ /*----- PROTECTED REGION END -----*/ // ConexAgpClass::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 ConexAgpClass *init(const char *); static ConexAgpClass *instance(); ~ConexAgpClass(); Tango::DbDatum get_class_property(string &); Tango::DbDatum get_default_device_property(string &); Tango::DbDatum get_default_class_property(string &); protected: ConexAgpClass(string &); static ConexAgpClass *_instance; void command_factory(); void attribute_factory(vector<Tango::Attr *> &); void pipe_factory(); 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; Tango::Attr *get_attr_object_by_name(vector<Tango::Attr *> &att_list, string attname); }; } // End of namespace #endif // ConexAgp_H