-
Graziano Scalamera authored67ebbd02
ConexAgpClass.h 10.27 KiB
/*----- 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