//******************************************************************************* //* 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