/*----- PROTECTED REGION ID(PespCCDStageClass.h) ENABLED START -----*/ //============================================================================= // // file : PespCCDStageClass.h // // description : Include for the PespCCDStage root class. // This class is the singleton class for // the PespCCDStage device class. // It contains all properties and methods which the // PespCCDStage requires only once e.g. the commands. // // project : PespCCDStage // // 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: abrami $ // // //============================================================================= // This file is generated by POGO // (Program Obviously used to Generate tango Object) //============================================================================= #ifndef PespCCDStageClass_H #define PespCCDStageClass_H #include <tango.h> #include <PespCCDStage.h> /*----- PROTECTED REGION END -----*/ // PespCCDStageClass.h namespace PespCCDStage_ns { /*----- PROTECTED REGION ID(PespCCDStageClass::classes for dynamic creation) ENABLED START -----*/ /*----- PROTECTED REGION END -----*/ // PespCCDStageClass::classes for dynamic creation //========================================= // Define classes for attributes //========================================= // Attribute StageType class definition class StageTypeAttrib: public Tango::Attr { public: StageTypeAttrib():Attr("StageType", Tango::DEV_STRING, Tango::READ) {}; ~StageTypeAttrib() {}; virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att) {(static_cast<PespCCDStage *>(dev))->read_StageType(att);} virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty) {return (static_cast<PespCCDStage *>(dev))->is_StageType_allowed(ty);} }; // Attribute FocusX class definition class FocusXAttrib: public Tango::Attr { public: FocusXAttrib():Attr("FocusX", Tango::DEV_DOUBLE, Tango::READ_WRITE) {}; ~FocusXAttrib() {}; virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att) {(static_cast<PespCCDStage *>(dev))->read_FocusX(att);} virtual void write(Tango::DeviceImpl *dev,Tango::WAttribute &att) {(static_cast<PespCCDStage *>(dev))->write_FocusX(att);} virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty) {return (static_cast<PespCCDStage *>(dev))->is_FocusX_allowed(ty);} }; // Attribute FocusZ class definition class FocusZAttrib: public Tango::Attr { public: FocusZAttrib():Attr("FocusZ", Tango::DEV_DOUBLE, Tango::READ_WRITE) {}; ~FocusZAttrib() {}; virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att) {(static_cast<PespCCDStage *>(dev))->read_FocusZ(att);} virtual void write(Tango::DeviceImpl *dev,Tango::WAttribute &att) {(static_cast<PespCCDStage *>(dev))->write_FocusZ(att);} virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty) {return (static_cast<PespCCDStage *>(dev))->is_FocusZ_allowed(ty);} }; // Attribute FocusDistance class definition class FocusDistanceAttrib: public Tango::Attr { public: FocusDistanceAttrib():Attr("FocusDistance", Tango::DEV_DOUBLE, Tango::READ_WRITE) {}; ~FocusDistanceAttrib() {}; virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att) {(static_cast<PespCCDStage *>(dev))->read_FocusDistance(att);} virtual void write(Tango::DeviceImpl *dev,Tango::WAttribute &att) {(static_cast<PespCCDStage *>(dev))->write_FocusDistance(att);} virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty) {return (static_cast<PespCCDStage *>(dev))->is_FocusDistance_allowed(ty);} }; // Attribute FocusAngle class definition class FocusAngleAttrib: public Tango::Attr { public: FocusAngleAttrib():Attr("FocusAngle", Tango::DEV_DOUBLE, Tango::READ_WRITE) {}; ~FocusAngleAttrib() {}; virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att) {(static_cast<PespCCDStage *>(dev))->read_FocusAngle(att);} virtual void write(Tango::DeviceImpl *dev,Tango::WAttribute &att) {(static_cast<PespCCDStage *>(dev))->write_FocusAngle(att);} virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty) {return (static_cast<PespCCDStage *>(dev))->is_FocusAngle_allowed(ty);} }; // Attribute Pitch class definition class PitchAttrib: public Tango::Attr { public: PitchAttrib():Attr("Pitch", Tango::DEV_DOUBLE, Tango::READ) {}; ~PitchAttrib() {}; virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att) {(static_cast<PespCCDStage *>(dev))->read_Pitch(att);} virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty) {return (static_cast<PespCCDStage *>(dev))->is_Pitch_allowed(ty);} }; // Attribute BeamOnYagDisplacement class definition class BeamOnYagDisplacementAttrib: public Tango::Attr { public: BeamOnYagDisplacementAttrib():Attr("BeamOnYagDisplacement", Tango::DEV_DOUBLE, Tango::READ_WRITE) {}; ~BeamOnYagDisplacementAttrib() {}; virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att) {(static_cast<PespCCDStage *>(dev))->read_BeamOnYagDisplacement(att);} virtual void write(Tango::DeviceImpl *dev,Tango::WAttribute &att) {(static_cast<PespCCDStage *>(dev))->write_BeamOnYagDisplacement(att);} virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty) {return (static_cast<PespCCDStage *>(dev))->is_BeamOnYagDisplacement_allowed(ty);} }; // Attribute UpdateOnDisplacement class definition class UpdateOnDisplacementAttrib: public Tango::Attr { public: UpdateOnDisplacementAttrib():Attr("UpdateOnDisplacement", Tango::DEV_BOOLEAN, Tango::READ_WRITE) {}; ~UpdateOnDisplacementAttrib() {}; virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att) {(static_cast<PespCCDStage *>(dev))->read_UpdateOnDisplacement(att);} virtual void write(Tango::DeviceImpl *dev,Tango::WAttribute &att) {(static_cast<PespCCDStage *>(dev))->write_UpdateOnDisplacement(att);} virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty) {return (static_cast<PespCCDStage *>(dev))->is_UpdateOnDisplacement_allowed(ty);} }; // Attribute FilterTrackEnable class definition class FilterTrackEnableAttrib: public Tango::Attr { public: FilterTrackEnableAttrib():Attr("FilterTrackEnable", Tango::DEV_BOOLEAN, Tango::READ_WRITE) {}; ~FilterTrackEnableAttrib() {}; virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att) {(static_cast<PespCCDStage *>(dev))->read_FilterTrackEnable(att);} virtual void write(Tango::DeviceImpl *dev,Tango::WAttribute &att) {(static_cast<PespCCDStage *>(dev))->write_FilterTrackEnable(att);} virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty) {return (static_cast<PespCCDStage *>(dev))->is_FilterTrackEnable_allowed(ty);} }; //========================================= // Define classes for dynamic attributes //========================================= // Attribute YagSelector class definition class YagSelectorAttrib: public Tango::Attr { public: YagSelectorAttrib(const string &att_name):Attr(att_name.c_str(), Tango::DEV_USHORT, Tango::READ_WRITE) {}; ~YagSelectorAttrib() {}; virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att) {(static_cast<PespCCDStage *>(dev))->read_YagSelector(att);} virtual void write(Tango::DeviceImpl *dev,Tango::WAttribute &att) {(static_cast<PespCCDStage *>(dev))->write_YagSelector(att);} virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty) {return (static_cast<PespCCDStage *>(dev))->is_YagSelector_allowed(ty);} }; // Attribute UpdateOnSelector class definition class UpdateOnSelectorAttrib: public Tango::Attr { public: UpdateOnSelectorAttrib(const string &att_name):Attr(att_name.c_str(), Tango::DEV_BOOLEAN, Tango::READ_WRITE) {}; ~UpdateOnSelectorAttrib() {}; virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att) {(static_cast<PespCCDStage *>(dev))->read_UpdateOnSelector(att);} virtual void write(Tango::DeviceImpl *dev,Tango::WAttribute &att) {(static_cast<PespCCDStage *>(dev))->write_UpdateOnSelector(att);} virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty) {return (static_cast<PespCCDStage *>(dev))->is_UpdateOnSelector_allowed(ty);} }; //========================================= // Define classes for commands //========================================= // Command SetAngleDistance class definition class SetAngleDistanceClass : public Tango::Command { public: SetAngleDistanceClass(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) {}; SetAngleDistanceClass(const char *name, Tango::CmdArgType in, Tango::CmdArgType out) :Command(name,in,out) {}; ~SetAngleDistanceClass() {}; 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<PespCCDStage *>(dev))->is_SetAngleDistance_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<PespCCDStage *>(dev))->is_Stop_allowed(any);} }; // Command GetInstrumentList class definition class GetInstrumentListClass : public Tango::Command { public: GetInstrumentListClass(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) {}; GetInstrumentListClass(const char *name, Tango::CmdArgType in, Tango::CmdArgType out) :Command(name,in,out) {}; ~GetInstrumentListClass() {}; 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<PespCCDStage *>(dev))->is_GetInstrumentList_allowed(any);} }; /** * The PespCCDStageClass singleton definition */ #ifdef _TG_WINDOWS_ class __declspec(dllexport) PespCCDStageClass : public Tango::DeviceClass #else class PespCCDStageClass : public Tango::DeviceClass #endif { /*----- PROTECTED REGION ID(PespCCDStageClass::Additionnal DServer data members) ENABLED START -----*/ /*----- PROTECTED REGION END -----*/ // PespCCDStageClass::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 PespCCDStageClass *init(const char *); static PespCCDStageClass *instance(); ~PespCCDStageClass(); Tango::DbDatum get_class_property(string &); Tango::DbDatum get_default_device_property(string &); Tango::DbDatum get_default_class_property(string &); protected: PespCCDStageClass(string &); static PespCCDStageClass *_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 // PespCCDStage_H