Skip to content
Snippets Groups Projects
AlarmHandlerClass.h 22.9 KiB
Newer Older
/*----- PROTECTED REGION ID(AlarmHandlerClass.h) ENABLED START -----*/
//=============================================================================
//
// file :        AlarmHandlerClass.h
// description : Include for the AlarmHandler root class.
//               This class is the singleton class for
//                the AlarmHandler device class.
//               It contains all properties and methods which the 
//               AlarmHandler requires only once e.g. the commands.
// project :     Elettra alarm handler device server
//
// 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/>.
// 
//
//
//=============================================================================
//                This file is generated by POGO
//        (Program Obviously used to Generate tango Object)
//=============================================================================


#ifndef AlarmHandlerClass_H
#define AlarmHandlerClass_H
#include <AlarmHandler.h>

/*----- PROTECTED REGION END -----*/	//	AlarmHandlerClass.h
namespace AlarmHandler_ns
/*----- PROTECTED REGION ID(AlarmHandlerClass::classes for dynamic creation) ENABLED START -----*/
/*----- PROTECTED REGION END -----*/	//	AlarmHandlerClass::classes for dynamic creation

//=========================================
//	Define classes for attributes
//=========================================
//	Attribute alarmAudible class definition
class alarmAudibleAttrib: public Tango::Attr
	alarmAudibleAttrib():Attr("alarmAudible",
	~alarmAudibleAttrib() {};
	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
		{(static_cast<AlarmHandler *>(dev))->read_alarmAudible(att);}
	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
		{return (static_cast<AlarmHandler *>(dev))->is_alarmAudible_allowed(ty);}
};

//	Attribute StatisticsResetTime class definition
class StatisticsResetTimeAttrib: public Tango::Attr
{
public:
	StatisticsResetTimeAttrib():Attr("StatisticsResetTime",
			Tango::DEV_DOUBLE, Tango::READ) {};
	~StatisticsResetTimeAttrib() {};
	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
		{(static_cast<AlarmHandler *>(dev))->read_StatisticsResetTime(att);}
	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
		{return (static_cast<AlarmHandler *>(dev))->is_StatisticsResetTime_allowed(ty);}
//	Attribute alarm class definition
class alarmAttrib: public Tango::SpectrumAttr
{
public:
	alarmAttrib():SpectrumAttr("alarm",
			Tango::DEV_STRING, Tango::READ, 1024) {};
	~alarmAttrib() {};
	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
		{(static_cast<AlarmHandler *>(dev))->read_alarm(att);}
	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
		{return (static_cast<AlarmHandler *>(dev))->is_alarm_allowed(ty);}
//	Attribute alarmNormal class definition
class alarmNormalAttrib: public Tango::SpectrumAttr
	alarmNormalAttrib():SpectrumAttr("alarmNormal",
	~alarmNormalAttrib() {};
	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
		{(static_cast<AlarmHandler *>(dev))->read_alarmNormal(att);}
	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
		{return (static_cast<AlarmHandler *>(dev))->is_alarmNormal_allowed(ty);}
//	Attribute alarmUnacknowledged class definition
class alarmUnacknowledgedAttrib: public Tango::SpectrumAttr
	alarmUnacknowledgedAttrib():SpectrumAttr("alarmUnacknowledged",
	~alarmUnacknowledgedAttrib() {};
	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
		{(static_cast<AlarmHandler *>(dev))->read_alarmUnacknowledged(att);}
	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
		{return (static_cast<AlarmHandler *>(dev))->is_alarmUnacknowledged_allowed(ty);}
//	Attribute alarmAcknowledged class definition
class alarmAcknowledgedAttrib: public Tango::SpectrumAttr
	alarmAcknowledgedAttrib():SpectrumAttr("alarmAcknowledged",
	~alarmAcknowledgedAttrib() {};
	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
		{(static_cast<AlarmHandler *>(dev))->read_alarmAcknowledged(att);}
	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
		{return (static_cast<AlarmHandler *>(dev))->is_alarmAcknowledged_allowed(ty);}
//	Attribute alarmUnacknowledgedNormal class definition
class alarmUnacknowledgedNormalAttrib: public Tango::SpectrumAttr
	alarmUnacknowledgedNormalAttrib():SpectrumAttr("alarmUnacknowledgedNormal",
	~alarmUnacknowledgedNormalAttrib() {};
	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
		{(static_cast<AlarmHandler *>(dev))->read_alarmUnacknowledgedNormal(att);}
	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
		{return (static_cast<AlarmHandler *>(dev))->is_alarmUnacknowledgedNormal_allowed(ty);}
//	Attribute alarmShelved class definition
class alarmShelvedAttrib: public Tango::SpectrumAttr
	alarmShelvedAttrib():SpectrumAttr("alarmShelved",
	~alarmShelvedAttrib() {};
	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
		{(static_cast<AlarmHandler *>(dev))->read_alarmShelved(att);}
	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
		{return (static_cast<AlarmHandler *>(dev))->is_alarmShelved_allowed(ty);}
//	Attribute alarmOutOfService class definition
class alarmOutOfServiceAttrib: public Tango::SpectrumAttr
	alarmOutOfServiceAttrib():SpectrumAttr("alarmOutOfService",
	~alarmOutOfServiceAttrib() {};
	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
		{(static_cast<AlarmHandler *>(dev))->read_alarmOutOfService(att);}
	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
		{return (static_cast<AlarmHandler *>(dev))->is_alarmOutOfService_allowed(ty);}
//	Attribute alarmSilenced class definition
class alarmSilencedAttrib: public Tango::SpectrumAttr
	alarmSilencedAttrib():SpectrumAttr("alarmSilenced",
	~alarmSilencedAttrib() {};
	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
		{(static_cast<AlarmHandler *>(dev))->read_alarmSilenced(att);}
	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
		{return (static_cast<AlarmHandler *>(dev))->is_alarmSilenced_allowed(ty);}
//	Attribute alarmList class definition
class alarmListAttrib: public Tango::SpectrumAttr
	alarmListAttrib():SpectrumAttr("alarmList",
	~alarmListAttrib() {};
	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
		{(static_cast<AlarmHandler *>(dev))->read_alarmList(att);}
	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
		{return (static_cast<AlarmHandler *>(dev))->is_alarmList_allowed(ty);}
//	Attribute alarmFrequency class definition
class alarmFrequencyAttrib: public Tango::SpectrumAttr
	alarmFrequencyAttrib():SpectrumAttr("alarmFrequency",
	~alarmFrequencyAttrib() {};
	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
		{(static_cast<AlarmHandler *>(dev))->read_alarmFrequency(att);}
	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
		{return (static_cast<AlarmHandler *>(dev))->is_alarmFrequency_allowed(ty);}
//	Attribute alarmSummary class definition
class alarmSummaryAttrib: public Tango::SpectrumAttr
{
public:
	alarmSummaryAttrib():SpectrumAttr("alarmSummary",
			Tango::DEV_STRING, Tango::READ, 10000) {};
	~alarmSummaryAttrib() {};
	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
		{(static_cast<AlarmHandler *>(dev))->read_alarmSummary(att);}
	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
		{return (static_cast<AlarmHandler *>(dev))->is_alarmSummary_allowed(ty);}
};

//	Attribute eventList class definition
class eventListAttrib: public Tango::SpectrumAttr
{
public:
	eventListAttrib():SpectrumAttr("eventList",
			Tango::DEV_STRING, Tango::READ, 10000) {};
	~eventListAttrib() {};
	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
		{(static_cast<AlarmHandler *>(dev))->read_eventList(att);}
	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
		{return (static_cast<AlarmHandler *>(dev))->is_eventList_allowed(ty);}
};

//	Attribute eventSummary class definition
class eventSummaryAttrib: public Tango::SpectrumAttr
{
public:
	eventSummaryAttrib():SpectrumAttr("eventSummary",
			Tango::DEV_STRING, Tango::READ, 10000) {};
	~eventSummaryAttrib() {};
	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
		{(static_cast<AlarmHandler *>(dev))->read_eventSummary(att);}
	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
		{return (static_cast<AlarmHandler *>(dev))->is_eventSummary_allowed(ty);}
};

//=========================================
//	Define classes for dynamic attributes
//=========================================
//	Attribute AlarmState class definition
class AlarmStateAttrib: public Tango::Attr
{
public:
	AlarmStateAttrib(const string &att_name):Attr(att_name.c_str(), 
	~AlarmStateAttrib() {};
	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
		{(static_cast<AlarmHandler *>(dev))->read_AlarmState(att);}
	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
		{return (static_cast<AlarmHandler *>(dev))->is_AlarmState_allowed(ty);}
	virtual bool same_type(const type_info &in_type) {return typeid(AlarmStateEnum) == in_type;}
	virtual string get_enum_type() {return string("AlarmStateEnum");}
};

//	Attribute AlarmFormula class definition
class AlarmFormulaAttrib: public Tango::Attr
{
public:
	AlarmFormulaAttrib(const string &att_name):Attr(att_name.c_str(), 
			Tango::DEV_STRING, Tango::READ) {};
	~AlarmFormulaAttrib() {};
	virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
		{(static_cast<AlarmHandler *>(dev))->read_AlarmFormula(att);}
	virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
		{return (static_cast<AlarmHandler *>(dev))->is_AlarmFormula_allowed(ty);}
//=========================================
//	Define classes for commands
//=========================================
//	Command Ack class definition
class AckClass : public Tango::Command
{
public:
	AckClass(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)	{};

	AckClass(const char   *name,
	               Tango::CmdArgType in,
				   Tango::CmdArgType out)
	:Command(name,in,out)	{};
	~AckClass() {};
	
	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<AlarmHandler *>(dev))->is_Ack_allowed(any);}
};

//	Command Load class definition
class LoadClass : public Tango::Command
{
public:
	LoadClass(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)	{};

	LoadClass(const char   *name,
	               Tango::CmdArgType in,
				   Tango::CmdArgType out)
	:Command(name,in,out)	{};
	~LoadClass() {};
	
	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<AlarmHandler *>(dev))->is_Load_allowed(any);}
};

//	Command Remove class definition
class RemoveClass : public Tango::Command
{
public:
	RemoveClass(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)	{};

	RemoveClass(const char   *name,
	               Tango::CmdArgType in,
				   Tango::CmdArgType out)
	:Command(name,in,out)	{};
	~RemoveClass() {};
	
	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<AlarmHandler *>(dev))->is_Remove_allowed(any);}
//	Command SearchAlarm class definition
class SearchAlarmClass : public Tango::Command
	               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)	{};

	               Tango::CmdArgType in,
				   Tango::CmdArgType out)
	:Command(name,in,out)	{};
	
	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<AlarmHandler *>(dev))->is_SearchAlarm_allowed(any);}
//	Command StopAudible class definition
class StopAudibleClass : public Tango::Command
	               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)	{};

	               Tango::CmdArgType in,
				   Tango::CmdArgType out)
	:Command(name,in,out)	{};
	
	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<AlarmHandler *>(dev))->is_StopAudible_allowed(any);}
};

//	Command Silence class definition
class SilenceClass : public Tango::Command
{
public:
	SilenceClass(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)	{};

	SilenceClass(const char   *name,
	               Tango::CmdArgType in,
				   Tango::CmdArgType out)
	:Command(name,in,out)	{};
	~SilenceClass() {};
	
	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<AlarmHandler *>(dev))->is_Silence_allowed(any);}
};

//	Command Modify class definition
class ModifyClass : public Tango::Command
{
public:
	ModifyClass(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)	{};

	ModifyClass(const char   *name,
	               Tango::CmdArgType in,
				   Tango::CmdArgType out)
	:Command(name,in,out)	{};
	~ModifyClass() {};
	
	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<AlarmHandler *>(dev))->is_Modify_allowed(any);}
//	Command Shelve class definition
class ShelveClass : public Tango::Command
{
public:
	ShelveClass(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)	{};

	ShelveClass(const char   *name,
	               Tango::CmdArgType in,
				   Tango::CmdArgType out)
	:Command(name,in,out)	{};
	~ShelveClass() {};
	
	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<AlarmHandler *>(dev))->is_Shelve_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<AlarmHandler *>(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<AlarmHandler *>(dev))->is_Disable_allowed(any);}
};

//	Command ResetStatistics class definition
class ResetStatisticsClass : public Tango::Command
{
public:
	ResetStatisticsClass(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)	{};

	ResetStatisticsClass(const char   *name,
	               Tango::CmdArgType in,
				   Tango::CmdArgType out)
	:Command(name,in,out)	{};
	~ResetStatisticsClass() {};
	
	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<AlarmHandler *>(dev))->is_ResetStatistics_allowed(any);}
//	Command StopNew class definition
class StopNewClass : public Tango::Command
{
public:
	StopNewClass(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)	{};

	StopNewClass(const char   *name,
	               Tango::CmdArgType in,
				   Tango::CmdArgType out)
	:Command(name,in,out)	{};
	~StopNewClass() {};
	
	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<AlarmHandler *>(dev))->is_StopNew_allowed(any);}
};

//	Command GetAlarmInfo class definition
class GetAlarmInfoClass : public Tango::Command
{
public:
	GetAlarmInfoClass(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)	{};

	GetAlarmInfoClass(const char   *name,
	               Tango::CmdArgType in,
				   Tango::CmdArgType out)
	:Command(name,in,out)	{};
	~GetAlarmInfoClass() {};
	
	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<AlarmHandler *>(dev))->is_GetAlarmInfo_allowed(any);}
};

//	Command ReLoadAll class definition
class ReLoadAllClass : public Tango::Command
{
public:
	ReLoadAllClass(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)	{};

	ReLoadAllClass(const char   *name,
	               Tango::CmdArgType in,
				   Tango::CmdArgType out)
	:Command(name,in,out)	{};
	~ReLoadAllClass() {};
	
	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<AlarmHandler *>(dev))->is_ReLoadAll_allowed(any);}
};

 *	The AlarmHandlerClass singleton definition
class __declspec(dllexport)  AlarmHandlerClass : public Tango::DeviceClass
class AlarmHandlerClass : public Tango::DeviceClass
	/*----- PROTECTED REGION ID(AlarmHandlerClass::Additionnal DServer data members) ENABLED START -----*/
	/*----- PROTECTED REGION END -----*/	//	AlarmHandlerClass::Additionnal DServer data members
	//	Class properties data members
	public:
		//	GroupNames:	Labels for Group mask, first is for mask 0x00
		vector<string>	groupNames;
		//	SubscribeRetryPeriod:	Retry subscription period in seconds
		Tango::DevLong	subscribeRetryPeriod;
		//	StatisticsTimeWindow:	Time window to compute statistics in seconds
		vector<Tango::DevLong>	statisticsTimeWindow;
		//	ErrorDelay:	Delay in seconds before changing to ERROR state after an exception is received.
		Tango::DevULong	errorDelay;
	public:
		//	write class properties data members
		Tango::DbData	cl_prop;
		Tango::DbData	cl_def_prop;
		Tango::DbData	dev_def_prop;
	
		//	Method prototypes
		static AlarmHandlerClass *init(const char *);
		static AlarmHandlerClass *instance();
		~AlarmHandlerClass();
		Tango::DbDatum	get_class_property(string &);
		Tango::DbDatum	get_default_device_property(string &);
		Tango::DbDatum	get_default_class_property(string &);
	
	protected:
		AlarmHandlerClass(string &);
		static AlarmHandlerClass *_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   //	AlarmHandler_H