-
Claudio Scafuri authoredfd9e432b
SupervisedIDClass.cpp 9.43 KiB
/*----- 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