Skip to content
Snippets Groups Projects
Commit 5ed0c930 authored by Claudio Scafuri's avatar Claudio Scafuri :speech_balloon:
Browse files

imported from cvs repo AbstarctClasses7/SupervisedID release_04

parent 3e62d5ab
No related branches found
No related tags found
No related merge requests found
/*----- PROTECTED REGION ID(SupervisedID::ClassFactory.cpp) ENABLED START -----*/
static const char *RcsId = "$Id: ClassFactory.cpp,v 1.1 2014-04-23 08:48:47 claudio Exp $";
//=============================================================================
//
// file : ClassFactory.cpp
//
// description : C++ source for the class_factory method of the DServer
// device class. This method is responsible for the creation of
// all class singleton for a device server. It is called
// at device server startup.
//
// project : Supervised ID: common interface for supervised insertion devices
//
// 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: claudio $
//
// $Revision: 1.1 $
// $Date: 2014-04-23 08:48:47 $
//
// $HeadURL: $
//
//=============================================================================
// This file is generated by POGO
// (Program Obviously used to Generate tango Object)
//=============================================================================
#include <tango.h>
#include <SupervisedIDClass.h>
// Add class header files if needed
/**
* Create SupervisedID Class singleton and store it in DServer object.
*/
void Tango::DServer::class_factory()
{
// Add method class init if needed
add_class(SupervisedID_ns::SupervisedIDClass::init("SupervisedID"));
}
/*----- PROTECTED REGION END -----*/ // SupervisedID::ClassFactory.cpp
/*----- PROTECTED REGION ID(SupervisedID.cpp) ENABLED START -----*/
static const char *RcsId = "$Id: SupervisedID.cpp,v 1.2 2014-04-14 14:51:54 claudio Exp $";
//=============================================================================
//
// file : SupervisedID.cpp
//
// description : C++ source for the SupervisedID and its commands.
// The class is derived from Device. It represents the
// CORBA servant object which will be accessed from the
// network. All commands which can be executed on the
// SupervisedID are implemented in this file.
//
// project : Supervised ID: common interface for supervised insertion devices.
//
// $Author: claudio $
//
// $Revision: 1.2 $
// $Date: 2014-04-14 14:51:54 $
//
// SVN only:
// $HeadURL: $
//
// CVS only:
// $Source: /home/cvsadm/cvsroot/AbstractClasses7/SupervisedID/SupervisedID.cpp,v $
// $Log: SupervisedID.cpp,v $
// Revision 1.2 2014-04-14 14:51:54 claudio
// for 8.1.2.c and pogo-8
//
// Revision 1.1.1.1 2012-03-05 14:01:56 claudio
// frist import
//
//
//=============================================================================
// This file is generated by POGO
// (Program Obviously used to Generate tango Object)
//=============================================================================
#include <SupervisedID.h>
#include <SupervisedIDClass.h>
/*----- PROTECTED REGION END -----*/ // SupervisedID.cpp
/**
* SupervisedID class description:
* This abstract class incapsulates the common interface for insertion devices used
* under ID supervisor. The "supervisor" can inhibi/allow the operations on the insertion device
* and impose limits on the permited range.
*/
//================================================================
// The following table gives the correspondence
// between command and method names.
//
// Command name | Method name
//================================================================
// State | Inherited (no method)
// Status | Inherited (no method)
//================================================================
//================================================================
// Attributes managed are:
//================================================================
// Enabled | Tango::DevBoolean Scalar
// Ready | Tango::DevBoolean Scalar
// StatRF | Tango::DevBoolean Spectrum ( max = 32)
//================================================================
namespace SupervisedID_ns
{
/*----- PROTECTED REGION ID(SupervisedID::namespace_starting) ENABLED START -----*/
// static initializations
/*----- PROTECTED REGION END -----*/ // SupervisedID::namespace_starting
//--------------------------------------------------------
/**
* Method : SupervisedID::SupervisedID()
* Description : Constructors for a Tango device
* implementing the classSupervisedID
*/
//--------------------------------------------------------
SupervisedID::SupervisedID(Tango::DeviceClass *cl, string &s)
: TANGO_BASE_CLASS(cl, s.c_str())
{
/*----- PROTECTED REGION ID(SupervisedID::constructor_1) ENABLED START -----*/
init_device();
/*----- PROTECTED REGION END -----*/ // SupervisedID::constructor_1
}
//--------------------------------------------------------
SupervisedID::SupervisedID(Tango::DeviceClass *cl, const char *s)
: TANGO_BASE_CLASS(cl, s)
{
/*----- PROTECTED REGION ID(SupervisedID::constructor_2) ENABLED START -----*/
init_device();
/*----- PROTECTED REGION END -----*/ // SupervisedID::constructor_2
}
//--------------------------------------------------------
SupervisedID::SupervisedID(Tango::DeviceClass *cl, const char *s, const char *d)
: TANGO_BASE_CLASS(cl, s, d)
{
/*----- PROTECTED REGION ID(SupervisedID::constructor_3) ENABLED START -----*/
init_device();
/*----- PROTECTED REGION END -----*/ // SupervisedID::constructor_3
}
//--------------------------------------------------------
/**
* Method : SupervisedID::delete_device()
* Description : will be called at device destruction or at init command
*/
//--------------------------------------------------------
void SupervisedID::delete_device()
{
DEBUG_STREAM << "SupervisedID::delete_device() " << device_name << endl;
/*----- PROTECTED REGION ID(SupervisedID::delete_device) ENABLED START -----*/
// Delete device allocated objects
/*----- PROTECTED REGION END -----*/ // SupervisedID::delete_device
}
//--------------------------------------------------------
/**
* Method : SupervisedID::init_device()
* Description : will be called at device initialization.
*/
//--------------------------------------------------------
void SupervisedID::init_device()
{
DEBUG_STREAM << "SupervisedID::init_device() create device " << device_name << endl;
/*----- PROTECTED REGION ID(SupervisedID::init_device_before) ENABLED START -----*/
// Initialization before get_device_property() call
/*----- PROTECTED REGION END -----*/ // SupervisedID::init_device_before
// No device property to be read from database
/*----- PROTECTED REGION ID(SupervisedID::init_device) ENABLED START -----*/
// Initialize device
/*----- PROTECTED REGION END -----*/ // SupervisedID::init_device
}
//--------------------------------------------------------
/**
* Method : SupervisedID::always_executed_hook()
* Description : method always executed before any command is executed
*/
//--------------------------------------------------------
void SupervisedID::always_executed_hook()
{
INFO_STREAM << "SupervisedID::always_executed_hook() " << device_name << endl;
/*----- PROTECTED REGION ID(SupervisedID::always_executed_hook) ENABLED START -----*/
// code always executed before all requests
/*----- PROTECTED REGION END -----*/ // SupervisedID::always_executed_hook
}
//--------------------------------------------------------
/**
* Method : SupervisedID::read_attr_hardware()
* Description : Hardware acquisition for attributes
*/
//--------------------------------------------------------
void SupervisedID::read_attr_hardware(TANGO_UNUSED(vector<long> &attr_list))
{
DEBUG_STREAM << "SupervisedID::read_attr_hardware(vector<long> &attr_list) entering... " << endl;
/*----- PROTECTED REGION ID(SupervisedID::read_attr_hardware) ENABLED START -----*/
// Add your own code
/*----- PROTECTED REGION END -----*/ // SupervisedID::read_attr_hardware
}
//--------------------------------------------------------
/**
* Method : SupervisedID::write_attr_hardware()
* Description : Hardware writing for attributes
*/
//--------------------------------------------------------
void SupervisedID::write_attr_hardware(TANGO_UNUSED(vector<long> &attr_list))
{
DEBUG_STREAM << "SupervisedID::write_attr_hardware(vector<long> &attr_list) entering... " << endl;
/*----- PROTECTED REGION ID(SupervisedID::write_attr_hardware) ENABLED START -----*/
// Add your own code
/*----- PROTECTED REGION END -----*/ // SupervisedID::write_attr_hardware
}
//--------------------------------------------------------
/**
* Method : SupervisedID::add_dynamic_attributes()
* Description : Create the dynamic attributes if any
* for specified device.
*/
//--------------------------------------------------------
void SupervisedID::add_dynamic_attributes()
{
/*----- PROTECTED REGION ID(SupervisedID::add_dynamic_attributes) ENABLED START -----*/
// Add your own code to create and add dynamic attributes if any
/*----- PROTECTED REGION END -----*/ // SupervisedID::add_dynamic_attributes
}
/*----- PROTECTED REGION ID(SupervisedID::namespace_ending) ENABLED START -----*/
// Additional Methods
/*----- PROTECTED REGION END -----*/ // SupervisedID::namespace_ending
} // namespace
/*----- PROTECTED REGION ID(SupervisedID.h) ENABLED START -----*/
//=============================================================================
//
// file : SupervisedID.h
//
// description : Include for the SupervisedID class.
//
// project : Supervised ID: common interface for supervised insertion devices.
//
// $Author: claudio $
//
// $Revision: 1.2 $
// $Date: 2014-04-14 14:51:54 $
//
// SVN only:
// $HeadURL: $
//
// CVS only:
// $Source: /home/cvsadm/cvsroot/AbstractClasses7/SupervisedID/SupervisedID.h,v $
// $Log: SupervisedID.h,v $
// Revision 1.2 2014-04-14 14:51:54 claudio
// for 8.1.2.c and pogo-8
//
// Revision 1.1.1.1 2012-03-05 14:01:56 claudio
// frist import
//
//
//=============================================================================
// This file is generated by POGO
// (Program Obviously used to Generate tango Object)
//=============================================================================
#ifndef SUPERVISEDID_H
#define SUPERVISEDID_H
#include <tango.h>
/*----- PROTECTED REGION END -----*/ // SupervisedID.h
/**
* SupervisedID class description:
* This abstract class incapsulates the common interface for insertion devices used
* under ID supervisor. The "supervisor" can inhibi/allow the operations on the insertion device
* and impose limits on the permited range.
*/
namespace SupervisedID_ns
{
/*----- PROTECTED REGION ID(SupervisedID::Additional Class Declarations) ENABLED START -----*/
// Additional Class Declarations
/*----- PROTECTED REGION END -----*/ // SupervisedID::Additional Class Declarations
class SupervisedID : public TANGO_BASE_CLASS
{
/*----- PROTECTED REGION ID(SupervisedID::Data Members) ENABLED START -----*/
// Add your own data members
/*----- PROTECTED REGION END -----*/ // SupervisedID::Data Members
// Attribute data members
public:
// Constructors and destructors
public:
/**
* Constructs a newly device object.
*
* @param cl Class.
* @param s Device Name
*/
SupervisedID(Tango::DeviceClass *cl,string &s);
/**
* Constructs a newly device object.
*
* @param cl Class.
* @param s Device Name
*/
SupervisedID(Tango::DeviceClass *cl,const char *s);
/**
* Constructs a newly device object.
*
* @param cl Class.
* @param s Device name
* @param d Device description.
*/
SupervisedID(Tango::DeviceClass *cl,const char *s,const char *d);
/**
* The device object destructor.
*/
~SupervisedID() {delete_device();};
// Miscellaneous methods
public:
/*
* will be called at device destruction or at init command.
*/
void delete_device();
/*
* Initialize the device
*/
virtual void init_device();
/*
* Always executed method before execution command method.
*/
virtual void always_executed_hook();
// Attribute methods
public:
//--------------------------------------------------------
/*
* Method : SupervisedID::read_attr_hardware()
* Description : Hardware acquisition for attributes.
*/
//--------------------------------------------------------
virtual void read_attr_hardware(vector<long> &attr_list);
//--------------------------------------------------------
/*
* Method : SupervisedID::write_attr_hardware()
* Description : Hardware writing for attributes.
*/
//--------------------------------------------------------
virtual void write_attr_hardware(vector<long> &attr_list);
/**
* Attribute Enabled related methods
* Description: True when
*
* Data type: Tango::DevBoolean
* Attr type: Scalar
*/
virtual void read_Enabled(Tango::Attribute &attr) = 0;
virtual void write_Enabled(Tango::WAttribute &attr) = 0;
virtual bool is_Enabled_allowed(Tango::AttReqType type);
/**
* Attribute Ready related methods
* Description: true when operating condtions of the ID make it operable by the beamlines:
* - good flags and in range.
*
* Data type: Tango::DevBoolean
* Attr type: Scalar
*/
virtual void read_Ready(Tango::Attribute &attr) = 0;
virtual bool is_Ready_allowed(Tango::AttReqType type);
/**
* Attribute StatRF related methods
* Description: bit mask for compatibility with old style software
* Holds the ready and enabled bits together
*
* Data type: Tango::DevBoolean
* Attr type: Spectrum max = 32
*/
virtual void read_StatRF(Tango::Attribute &attr) = 0;
virtual bool is_StatRF_allowed(Tango::AttReqType type);
//--------------------------------------------------------
/**
* Method : SupervisedID::add_dynamic_attributes()
* Description : Add dynamic attributes if any.
*/
//--------------------------------------------------------
void add_dynamic_attributes();
// Command related methods
public:
/*----- PROTECTED REGION ID(SupervisedID::Additional Method prototypes) ENABLED START -----*/
// Additional Method prototypes
/*----- PROTECTED REGION END -----*/ // SupervisedID::Additional Method prototypes
};
/*----- PROTECTED REGION ID(SupervisedID::Additional Classes Definitions) ENABLED START -----*/
// Additional Classes definitions
/*----- PROTECTED REGION END -----*/ // SupervisedID::Additional Classes Definitions
} // End of namespace
#endif // SupervisedID_H
<?xml version="1.0" encoding="ASCII"?>
<pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl">
<classes name="SupervisedID" pogoRevision="8.3">
<description description="This abstract class incapsulates the common interface for insertion devices used&#xA;under ID supervisor. The &quot;supervisor&quot; can inhibi/allow the operations on the insertion device&#xA;and impose limits on the permited range." title="Supervised ID: common interface for supervised insertion devices" sourcePath="/home/claudio/devel/AbstractClasses7/SupervisedID" language="Cpp" filestogenerate="XMI file,Code files" hasMandatoryProperty="false" hasConcreteProperty="false" hasAbstractCommand="false" hasAbstractAttribute="true">
<inheritances classname="Device_4Impl" sourcePath=""/>
<identification contact="at elettra.trieste.it - claudio.scafuri" author="claudio.scafuri" emailDomain="elettra.trieste.it" classFamily="Controllers" siteSpecific="" platform="All Platforms" bus="Not Applicable" manufacturer="none" reference=""/>
</description>
<commands name="State" description="This command gets the device state (stored in its &lt;i>device_state&lt;/i> data member) and returns it to the caller." execMethod="dev_state" displayLevel="OPERATOR" polledPeriod="0">
<argin description="none.">
<type xsi:type="pogoDsl:VoidType"/>
</argin>
<argout description="State Code">
<type xsi:type="pogoDsl:StateType"/>
</argout>
<status abstract="true" inherited="true" concrete="true" concreteHere="false"/>
</commands>
<commands name="Status" description="This command gets the device status (stored in its &lt;i>device_status&lt;/i> data member) and returns it to the caller." execMethod="dev_status" displayLevel="OPERATOR" polledPeriod="0">
<argin description="none.">
<type xsi:type="pogoDsl:VoidType"/>
</argin>
<argout description="Status description">
<type xsi:type="pogoDsl:ConstStringType"/>
</argout>
<status abstract="true" inherited="true" concrete="true" concreteHere="false"/>
</commands>
<attributes name="Enabled" attType="Scalar" rwType="READ_WRITE" displayLevel="OPERATOR" polledPeriod="2000" maxX="0" maxY="0" allocReadMember="false" isDynamic="false">
<dataType xsi:type="pogoDsl:BooleanType"/>
<changeEvent fire="false" libCheckCriteria="false"/>
<archiveEvent fire="false" libCheckCriteria="false"/>
<dataReadyEvent fire="false" libCheckCriteria="true"/>
<status abstract="true" concrete="false" concreteHere="false"/>
<properties description="True when" label="Enabled" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
</attributes>
<attributes name="Ready" attType="Scalar" rwType="READ" displayLevel="OPERATOR" polledPeriod="2000" maxX="0" maxY="0" allocReadMember="false" isDynamic="false">
<dataType xsi:type="pogoDsl:BooleanType"/>
<dataReadyEvent fire="false" libCheckCriteria="true"/>
<status abstract="true" concrete="false" concreteHere="false"/>
<properties description="true when operating condtions of the ID make it operable by the beamlines:&#xA;- good flags and in range." label="ready" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
</attributes>
<attributes name="StatRF" attType="Spectrum" rwType="READ" displayLevel="OPERATOR" polledPeriod="2000" maxX="32" maxY="0" allocReadMember="false" isDynamic="false">
<dataType xsi:type="pogoDsl:BooleanType"/>
<dataReadyEvent fire="false" libCheckCriteria="true"/>
<status abstract="true" concrete="false" concreteHere="false"/>
<properties description="bit mask for compatibility with old style software&#xA;Holds the ready and enabled bits together" label="" unit="" standardUnit="" displayUnit="" format="" maxValue="" minValue="" maxAlarm="" minAlarm="" maxWarning="" minWarning="" deltaTime="" deltaValue=""/>
</attributes>
<states name="ON" description="Device OK">
<status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
</states>
<states name="FAULT" description="Device not working - broken ID">
<status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
</states>
<states name="UNKNOWN" description="Device not working - unknow reason/condition">
<status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
</states>
<states name="RUNNING" description="Device gap is moving">
<status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
</states>
<states name="DISABLE" description="Device not remotely operable">
<status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
</states>
<preferences docHome="./doc_html" makefileHome="/usr/local/tango-8.1.2.c/share/pogo/preferences"/>
</classes>
</pogoDsl:PogoSystem>
/*----- PROTECTED REGION ID(SupervisedIDClass.cpp) ENABLED START -----*/
static const char *RcsId = "$Id: SupervisedIDClass.cpp,v 1.2 2014-04-14 14:51:54 claudio Exp $";
static const char *TagName = "$Name: $";
static const char *CvsPath = "$Source: /home/cvsadm/cvsroot/AbstractClasses7/SupervisedID/SupervisedIDClass.cpp,v $";
static const char *SvnPath = "$HeadURL: $";
static const char *HttpServer = "http://www.esrf.eu/computing/cs/tango/tango_doc/ds_doc/";
//=============================================================================
//
// file : SupervisedIDClass.cpp
//
// description : C++ source for the SupervisedIDClass. A singleton
// class derived from DeviceClass. It implements the
// command list and all properties and methods required
// by the name once per process.
//
// project : Supervised ID: common interface for supervised insertion devices.
//
// $Author: claudio $
//
// $Revision: 1.2 $
// $Date: 2014-04-14 14:51:54 $
//
// SVN only:
// $HeadURL: $
//
// CVS only:
// $Source: /home/cvsadm/cvsroot/AbstractClasses7/SupervisedID/SupervisedIDClass.cpp,v $
// $Log: SupervisedIDClass.cpp,v $
// Revision 1.2 2014-04-14 14:51:54 claudio
// for 8.1.2.c and pogo-8
//
// Revision 1.1.1.1 2012-03-05 14:01:56 claudio
// frist import
//
//
//=============================================================================
// This file is generated by POGO
// (Program Obviously used to Generate tango Object)
//=============================================================================
#include <SupervisedIDClass.h>
/*----- PROTECTED REGION END -----*/ // SupervisedIDClass.cpp
//-------------------------------------------------------------------
/**
* Create SupervisedIDClass singleton and
* return it in a C function for Python usage
*/
//-------------------------------------------------------------------
extern "C" {
#ifdef _TG_WINDOWS_
__declspec(dllexport)
#endif
Tango::DeviceClass *_create_SupervisedID_class(const char *name) {
return SupervisedID_ns::SupervisedIDClass::init(name);
}
}
namespace SupervisedID_ns
{
//===================================================================
// Initialize pointer for singleton pattern
//===================================================================
SupervisedIDClass *SupervisedIDClass::_instance = NULL;
//--------------------------------------------------------
/**
* method : SupervisedIDClass::SupervisedIDClass(string &s)
* description : constructor for the SupervisedIDClass
*
* @param s The class name
*/
//--------------------------------------------------------
SupervisedIDClass::SupervisedIDClass(string &s):Tango::DeviceClass(s)
{
cout2 << "Entering SupervisedIDClass constructor" << endl;
set_default_property();
write_class_property();
/*----- PROTECTED REGION ID(SupervisedIDClass::constructor) ENABLED START -----*/
/*----- PROTECTED REGION END -----*/ // SupervisedIDClass::constructor
cout2 << "Leaving SupervisedIDClass constructor" << endl;
}
//--------------------------------------------------------
/**
* method : SupervisedIDClass::~SupervisedIDClass()
* description : destructor for the SupervisedIDClass
*/
//--------------------------------------------------------
SupervisedIDClass::~SupervisedIDClass()
{
/*----- PROTECTED REGION ID(SupervisedIDClass::destructor) ENABLED START -----*/
/*----- PROTECTED REGION END -----*/ // SupervisedIDClass::destructor
_instance = NULL;
}
//--------------------------------------------------------
/**
* method : SupervisedIDClass::init
* description : Create the object if not already done.
* Otherwise, just return a pointer to the object
*
* @param name The class name
*/
//--------------------------------------------------------
SupervisedIDClass *SupervisedIDClass::init(const char *name)
{
if (_instance == NULL)
{
try
{
string s(name);
_instance = new SupervisedIDClass(s);
}
catch (bad_alloc &)
{
throw;
}
}
return _instance;
}
//--------------------------------------------------------
/**
* method : SupervisedIDClass::instance
* description : Check if object already created,
* and return a pointer to the object
*/
//--------------------------------------------------------
SupervisedIDClass *SupervisedIDClass::instance()
{
if (_instance == NULL)
{
cerr << "Class is not initialised !!" << endl;
exit(-1);
}
return _instance;
}
//===================================================================
// Command execution method calls
//===================================================================
//===================================================================
// Properties management
//===================================================================
//--------------------------------------------------------
/**
* Method : SupervisedIDClass::get_class_property()
* Description : Get the class property for specified name.
*/
//--------------------------------------------------------
Tango::DbDatum SupervisedIDClass::get_class_property(string &prop_name)
{
for (unsigned int i=0 ; i<cl_prop.size() ; i++)
if (cl_prop[i].name == prop_name)
return cl_prop[i];
// if not found, returns an empty DbDatum
return Tango::DbDatum(prop_name);
}
//--------------------------------------------------------
/**
* Method : SupervisedIDClass::get_default_device_property()
* Description : Return the default value for device property.
*/
//--------------------------------------------------------
Tango::DbDatum SupervisedIDClass::get_default_device_property(string &prop_name)
{
for (unsigned int i=0 ; i<dev_def_prop.size() ; i++)
if (dev_def_prop[i].name == prop_name)
return dev_def_prop[i];
// if not found, return an empty DbDatum
return Tango::DbDatum(prop_name);
}
//--------------------------------------------------------
/**
* Method : SupervisedIDClass::get_default_class_property()
* Description : Return the default value for class property.
*/
//--------------------------------------------------------
Tango::DbDatum SupervisedIDClass::get_default_class_property(string &prop_name)
{
for (unsigned int i=0 ; i<cl_def_prop.size() ; i++)
if (cl_def_prop[i].name == prop_name)
return cl_def_prop[i];
// if not found, return an empty DbDatum
return Tango::DbDatum(prop_name);
}
//--------------------------------------------------------
/**
* Method : SupervisedIDClass::set_default_property()
* Description : Set default property (class and device) for wizard.
* For each property, add to wizard property name and description.
* If default value has been set, add it to wizard property and
* store it in a DbDatum.
*/
//--------------------------------------------------------
void SupervisedIDClass::set_default_property()
{
string prop_name;
string prop_desc;
string prop_def;
vector<string> vect_data;
// Set Default Class Properties
// Set Default device Properties
}
//--------------------------------------------------------
/**
* Method : SupervisedIDClass::write_class_property()
* Description : Set class description fields as property in database
*/
//--------------------------------------------------------
void SupervisedIDClass::write_class_property()
{
}
//===================================================================
// Factory methods
//===================================================================
//--------------------------------------------------------
/**
* Method : SupervisedIDClass::device_factory()
* Description : Create the device object(s)
* and store them in the device list
*/
//--------------------------------------------------------
void SupervisedIDClass::device_factory(const Tango::DevVarStringArray *devlist_ptr)
{
// This class is not concrete and cannot implement devices
}
//--------------------------------------------------------
/**
* Method : SupervisedIDClass::attribute_factory()
* Description : Create the attribute object(s)
* and store them in the attribute list
*/
//--------------------------------------------------------
void SupervisedIDClass::attribute_factory(vector<Tango::Attr *> &att_list)
{
/*----- PROTECTED REGION ID(SupervisedIDClass::attribute_factory_before) ENABLED START -----*/
// Add your own code
/*----- PROTECTED REGION END -----*/ // SupervisedIDClass::attribute_factory_before
/*----- PROTECTED REGION ID(SupervisedIDClass::attribute_factory_after) ENABLED START -----*/
// Add your own code
/*----- PROTECTED REGION END -----*/ // SupervisedIDClass::attribute_factory_after
}
//--------------------------------------------------------
/**
* Method : SupervisedIDClass::command_factory()
* Description : Create the command object(s)
* and store them in the command list
*/
//--------------------------------------------------------
void SupervisedIDClass::command_factory()
{
/*----- PROTECTED REGION ID(SupervisedIDClass::command_factory_before) ENABLED START -----*/
/*----- PROTECTED REGION END -----*/ // SupervisedIDClass::command_factory_before
/*----- PROTECTED REGION ID(SupervisedIDClass::command_factory_after) ENABLED START -----*/
/*----- PROTECTED REGION END -----*/ // SupervisedIDClass::command_factory_after
}
/*----- PROTECTED REGION ID(SupervisedIDClass::Additional Methods) ENABLED START -----*/
/*----- PROTECTED REGION END -----*/ // SupervisedIDClass::Additional Methods
} // namespace
/*----- PROTECTED REGION ID(SupervisedIDClass.h) ENABLED START -----*/
//=============================================================================
//
// file : SupervisedIDClass.h
//
// description : Include for the SupervisedIDClass root class.
// This class is the singleton class for.
// the SupervisedID device class..
// It contains all properties and methods which the .
// SupervisedID requires only once e.g. the commands.
//
// project : Supervised ID: common interface for supervised insertion devices.
//
// $Author: claudio $
//
// $Revision: 1.2 $
// $Date: 2014-04-14 14:51:54 $
//
// SVN only:
// $HeadURL: $
//
// CVS only:
// $Source: /home/cvsadm/cvsroot/AbstractClasses7/SupervisedID/SupervisedIDClass.h,v $
// $Log: SupervisedIDClass.h,v $
// Revision 1.2 2014-04-14 14:51:54 claudio
// for 8.1.2.c and pogo-8
//
// Revision 1.1.1.1 2012-03-05 14:01:56 claudio
// frist import
//
//
//=============================================================================
// This file is generated by POGO
// (Program Obviously used to Generate tango Object)
//=============================================================================
#ifndef SUPERVISEDIDCLASS_H
#define SUPERVISEDIDCLASS_H
#include <tango.h>
#include <SupervisedID.h>
/*----- PROTECTED REGION END -----*/ // SupervisedIDClass.h
namespace SupervisedID_ns
{
/*----- PROTECTED REGION ID(SupervisedIDClass::classes for dynamic creation) ENABLED START -----*/
/*----- PROTECTED REGION END -----*/ // SupervisedIDClass::classes for dynamic creation
//=========================================
// Define classes for attributes
//=========================================
/**
* The SupervisedIDClass singleton definition
*/
#ifdef _TG_WINDOWS_
class __declspec(dllexport) SupervisedIDClass : public Tango::DeviceClass
#else
class SupervisedIDClass : public Tango::DeviceClass
#endif
{
/*----- PROTECTED REGION ID(SupervisedIDClass::Additionnal DServer data members) ENABLED START -----*/
/*----- PROTECTED REGION END -----*/ // SupervisedIDClass::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 SupervisedIDClass *init(const char *);
static SupervisedIDClass *instance();
~SupervisedIDClass();
Tango::DbDatum get_class_property(string &);
Tango::DbDatum get_default_device_property(string &);
Tango::DbDatum get_default_class_property(string &);
protected:
SupervisedIDClass(string &);
static SupervisedIDClass *_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 *);
};
} // End of namespace
#endif // SupervisedID_H
/*----- PROTECTED REGION ID(SupervisedIDStateMachine.cpp) ENABLED START -----*/
static const char *RcsId = "$Id: SupervisedIDStateMachine.cpp,v 1.2 2014-04-14 14:52:01 claudio Exp $";
//=============================================================================
//
// file : SupervisedIDStateMachine.cpp
//
// description : C++ source for the SupervisedID and its alowed
// methods for commands and attributes
//
// project : Supervised ID: common interface for supervised insertion devices.
//
// $Author: claudio $
//
// $Revision: 1.2 $
// $Date: 2014-04-14 14:52:01 $
//
// SVN only:
// $HeadURL: $
//
// CVS only:
// $Source: /home/cvsadm/cvsroot/AbstractClasses7/SupervisedID/SupervisedIDStateMachine.cpp,v $
// $Log: SupervisedIDStateMachine.cpp,v $
// Revision 1.2 2014-04-14 14:52:01 claudio
// for 8.1.2.c and pogo-8
//
// Revision 1.1.1.1 2012-03-05 14:01:56 claudio
// frist import
//
//
//=============================================================================
// This file is generated by POGO
// (Program Obviously used to Generate tango Object)
//=============================================================================
#include <SupervisedID.h>
#include <SupervisedIDClass.h>
/*----- PROTECTED REGION END -----*/ // SupervisedID::SupervisedIDStateMachine.cpp
//================================================================
// States | Description
//================================================================
// ON | Device OK
// FAULT | Device not working - broken ID
// UNKNOWN | Device not working - unknow reason/condition
// RUNNING | Device gap is moving
// DISABLE | Device not remotely operable
namespace SupervisedID_ns
{
//=================================================
// Attributes Allowed Methods
//=================================================
//--------------------------------------------------------
/**
* Method : SupervisedID::is_Enabled_allowed()
* Description : Execution allowed for Enabled attribute
*/
//--------------------------------------------------------
bool SupervisedID::is_Enabled_allowed(TANGO_UNUSED(Tango::AttReqType type))
{
// Not any excluded states for Enabled attribute in Write access.
/*----- PROTECTED REGION ID(SupervisedID::EnabledStateAllowed_WRITE) ENABLED START -----*/
/*----- PROTECTED REGION END -----*/ // SupervisedID::EnabledStateAllowed_WRITE
// Not any excluded states for Enabled attribute in read access.
/*----- PROTECTED REGION ID(SupervisedID::EnabledStateAllowed_READ) ENABLED START -----*/
/*----- PROTECTED REGION END -----*/ // SupervisedID::EnabledStateAllowed_READ
return true;
}
//--------------------------------------------------------
/**
* Method : SupervisedID::is_Ready_allowed()
* Description : Execution allowed for Ready attribute
*/
//--------------------------------------------------------
bool SupervisedID::is_Ready_allowed(TANGO_UNUSED(Tango::AttReqType type))
{
// Not any excluded states for Ready attribute in read access.
/*----- PROTECTED REGION ID(SupervisedID::ReadyStateAllowed_READ) ENABLED START -----*/
/*----- PROTECTED REGION END -----*/ // SupervisedID::ReadyStateAllowed_READ
return true;
}
//--------------------------------------------------------
/**
* Method : SupervisedID::is_StatRF_allowed()
* Description : Execution allowed for StatRF attribute
*/
//--------------------------------------------------------
bool SupervisedID::is_StatRF_allowed(TANGO_UNUSED(Tango::AttReqType type))
{
// Not any excluded states for StatRF attribute in read access.
/*----- PROTECTED REGION ID(SupervisedID::StatRFStateAllowed_READ) ENABLED START -----*/
/*----- PROTECTED REGION END -----*/ // SupervisedID::StatRFStateAllowed_READ
return true;
}
//=================================================
// Commands Allowed Methods
//=================================================
} // End of namespace
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment