Code owners
Assign users and groups as approvers for specific file changes. Learn more.
AcquireWaveformLecroyClass.h 9.36 KiB
//*******************************************************************************
//* Copyright (c) 2008-2014 Synchrotron SOLEIL
//* All rights reserved. This program and the accompanying materials
//* are made available under the terms of the GNU Lesser Public License v3
//* which accompanies this distribution, and is available at
//* http://www.gnu.org/licenses/lgpl.html
//******************************************************************************
//=============================================================================
//
// 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: syldup $
//
// $Revision: 1.8 $
//
// $Log: not supported by cvs2svn $
// Revision 1.7 2008/02/28 09:02:05 xavela
// xavier :
// StateMachine file added !! (oups)
//
// Revision 1.5 2004/10/18 13:17:49 xavela
// xavier : add an attr waveArray2.
// Sorts attr in expert and operator view with Pogo.
// Inconsistencies removed.
//
// 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>
#include <AcquireWaveformLecroy.h>
namespace AcquireWaveformLecroy_ns
{
//=====================================
// Define classes for attributes
//=====================================
class rawWaveformDataAttrib: public Tango::SpectrumAttr
{
public:
rawWaveformDataAttrib():SpectrumAttr("rawWaveformData", Tango::DEV_SHORT, Tango::READ, 1500000) {};
~rawWaveformDataAttrib() {};
virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
{(static_cast<AcquireWaveformLecroy *>(dev))->read_rawWaveformData(att);}
virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
{return (static_cast<AcquireWaveformLecroy *>(dev))->is_rawWaveformData_allowed(ty);}
};
class verticalScaledDataAttrib: public Tango::SpectrumAttr
{
public:
verticalScaledDataAttrib():SpectrumAttr("verticalScaledData", Tango::DEV_DOUBLE, Tango::READ, 1500000) {};
~verticalScaledDataAttrib() {};
virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
{(static_cast<AcquireWaveformLecroy *>(dev))->read_verticalScaledData(att);}
virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
{return (static_cast<AcquireWaveformLecroy *>(dev))->is_verticalScaledData_allowed(ty);}
};
class waveArray1Attrib: public Tango::Attr
{
public:
waveArray1Attrib():Attr("waveArray1", Tango::DEV_LONG, Tango::READ) {};
~waveArray1Attrib() {};
virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
{(static_cast<AcquireWaveformLecroy *>(dev))->read_waveArray1(att);}
virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
{return (static_cast<AcquireWaveformLecroy *>(dev))->is_waveArray1_allowed(ty);}
};
class waveArray2Attrib: public Tango::Attr
{
public:
waveArray2Attrib():Attr("waveArray2", Tango::DEV_LONG, Tango::READ) {};
~waveArray2Attrib() {};
virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
{(static_cast<AcquireWaveformLecroy *>(dev))->read_waveArray2(att);}
virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
{return (static_cast<AcquireWaveformLecroy *>(dev))->is_waveArray2_allowed(ty);}
};
class waveArrayCountAttrib: public Tango::Attr
{
public:
waveArrayCountAttrib():Attr("waveArrayCount", Tango::DEV_LONG, Tango::READ) {};
~waveArrayCountAttrib() {};
virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
{(static_cast<AcquireWaveformLecroy *>(dev))->read_waveArrayCount(att);}
virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
{return (static_cast<AcquireWaveformLecroy *>(dev))->is_waveArrayCount_allowed(ty);}
};
class nominalBitsAttrib: public Tango::Attr
{
public:
nominalBitsAttrib():Attr("nominalBits", Tango::DEV_SHORT, Tango::READ) {};
~nominalBitsAttrib() {};
virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
{(static_cast<AcquireWaveformLecroy *>(dev))->read_nominalBits(att);}
virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
{return (static_cast<AcquireWaveformLecroy *>(dev))->is_nominalBits_allowed(ty);}
};
class horizontalIntervalAttrib: public Tango::Attr
{
public:
horizontalIntervalAttrib():Attr("horizontalInterval", Tango::DEV_DOUBLE, Tango::READ) {};
~horizontalIntervalAttrib() {};
virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
{(static_cast<AcquireWaveformLecroy *>(dev))->read_horizontalInterval(att);}
virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
{return (static_cast<AcquireWaveformLecroy *>(dev))->is_horizontalInterval_allowed(ty);}
};
class horizontalOffsetAttrib: public Tango::Attr
{
public:
horizontalOffsetAttrib():Attr("horizontalOffset", Tango::DEV_DOUBLE, Tango::READ) {};
~horizontalOffsetAttrib() {};
virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
{(static_cast<AcquireWaveformLecroy *>(dev))->read_horizontalOffset(att);}
virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
{return (static_cast<AcquireWaveformLecroy *>(dev))->is_horizontalOffset_allowed(ty);}
};
class verticalGainAttrib: public Tango::Attr
{
public:
verticalGainAttrib():Attr("verticalGain", Tango::DEV_DOUBLE, Tango::READ) {};
~verticalGainAttrib() {};
virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
{(static_cast<AcquireWaveformLecroy *>(dev))->read_verticalGain(att);}
virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
{return (static_cast<AcquireWaveformLecroy *>(dev))->is_verticalGain_allowed(ty);}
};
class verticalOffsetAttrib: public Tango::Attr
{
public:
verticalOffsetAttrib():Attr("verticalOffset", Tango::DEV_DOUBLE, Tango::READ) {};
~verticalOffsetAttrib() {};
virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
{(static_cast<AcquireWaveformLecroy *>(dev))->read_verticalOffset(att);}
virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
{return (static_cast<AcquireWaveformLecroy *>(dev))->is_verticalOffset_allowed(ty);}
};
class triggerTimeAttrib: public Tango::Attr
{
public:
triggerTimeAttrib():Attr("triggerTime", Tango::DEV_STRING, Tango::READ) {};
~triggerTimeAttrib() {};
virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
{(static_cast<AcquireWaveformLecroy *>(dev))->read_triggerTime(att);}
virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
{return (static_cast<AcquireWaveformLecroy *>(dev))->is_triggerTime_allowed(ty);}
};
//=========================================
// Define classes for commands
//=========================================
class WriteReadCmd : public Tango::Command
{
public:
WriteReadCmd(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) {};
WriteReadCmd(const char *name,
Tango::CmdArgType in,
Tango::CmdArgType out)
:Command(name,in,out) {};
~WriteReadCmd() {};
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<AcquireWaveformLecroy *>(dev))->is_WriteRead_allowed(any);}
};
//
// The AcquireWaveformLecroyClass singleton definition
//
class
#ifdef WIN32
__declspec(dllexport)
#endif
AcquireWaveformLecroyClass : public Tango::DeviceClass
{
public:
// properties member data
// add your own data members here
//------------------------------------
public:
Tango::DbData cl_prop;
Tango::DbData cl_def_prop;
Tango::DbData dev_def_prop;
// Method prototypes
static AcquireWaveformLecroyClass *init(const char *);
static AcquireWaveformLecroyClass *instance();
~AcquireWaveformLecroyClass();
Tango::DbDatum get_class_property(string &);
Tango::DbDatum get_default_device_property(string &);
Tango::DbDatum get_default_class_property(string &);
protected:
AcquireWaveformLecroyClass(string &);
static AcquireWaveformLecroyClass *_instance;
void command_factory();
void get_class_property();
void attribute_factory(vector<Tango::Attr *> &);
void write_class_property();
void set_default_property();
string get_cvstag();
string get_cvsroot();
private:
void device_factory(const Tango::DevVarStringArray *);
};
} // namespace AcquireWaveformLecroy_ns
#endif // _ACQUIREWAVEFORMLECROYCLASS_H