Skip to content
Snippets Groups Projects
SupervisedIDClass.h 2.95 KiB
Newer Older
/*----- 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