/*----- 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