//=============================================================================
//
// file :         AcquireWaveformLecroyClass.h
//
// description :  Include for the AcquireWaveformLecroyClass root class.
//                This class is represents the singleton class for
//                the AcquireWaveformLecroy device class.
//                It contains all properties and methods which the 
//                AcquireWaveformLecroy requires only once e.g. the commands.
//			
// project :      TANGO Device Server
//
// $Author: xavela $
//
// $Revision: 1.5 $
//
// $Log: not supported by cvs2svn $
// Revision 1.4  2004/10/07 09:21:18  xavela
// xavier : no cout now.
//
// Revision 1.3  2004/10/05 13:11:11  xavela
// Xavier : previous commit failed.
//
// Revision 1.2  2004/10/05 13:09:10  xavela
// Xavier : memory allocation in read_attr_hardware() method.
// calculation of offset of the begining of the struct, which contains the context of the waveform acquisition, in the received block data.
//
//
// copyleft :     Synchrotron SOLEIL
//                L'Orme des Merisiers
//                Saint-Aubin - BP 48
//=============================================================================
//
//  		This file is generated by POGO
//	(Program Obviously used to Generate tango Object)
//
//         (c) - Software Engineering Group - ESRF
//=============================================================================

#ifndef _ACQUIREWAVEFORMLECROYCLASS_H
#define _ACQUIREWAVEFORMLECROYCLASS_H

#include <tango.h>


namespace AcquireWaveformLecroy
{
//
// Define classes for commands
//

//
// The AcquireWaveformLecroyClass singleton definition
//

class AcquireWaveformLecroyClass : public Tango::DeviceClass
{
public:

//	add your own data members here
//------------------------------------

public:

//	Method prototypes
	static AcquireWaveformLecroyClass *init(const char *);
	static AcquireWaveformLecroyClass *instance();
	~AcquireWaveformLecroyClass();
	
protected:
	AcquireWaveformLecroyClass(string &);
	static AcquireWaveformLecroyClass *_instance;
	void command_factory();
	void attribute_factory(vector<Tango::Attr *> &);
	void write_class_property();

private:
	void device_factory(const Tango::DevVarStringArray *);
};


}	//	namespace AcquireWaveformLecroy

#endif // _ACQUIREWAVEFORMLECROYCLASS_H