00001
00002 #ifndef SCT_SCTAPIIPC_SCTAPIDDCSERVER_H
00003 #define SCT_SCTAPIIPC_SCTAPIDDCSERVER_H
00004
00005
00006 namespace SctApiDDC {
00007 class SctApiDDCServer;
00008 };
00009
00010
00011 #include <boost/shared_ptr.hpp>
00012 #include <ipc/object.h>
00013 #include <ipc/server.h>
00014 #include "Sct_SctApi/SctApi.hh"
00015
00016
00017 namespace SctApi {
00018 class SctApiDDC;
00019 };
00020
00021
00022 namespace SctApiDDC {
00023
00024 class SctApiDDCServer : public IPCNamedObject<POA_Sct_SctApi::SctApiDDCServer>,
00025 public IPCServer {
00026 private:
00027 CORBA::Short m_ddcSingleTimeout;
00028 CORBA::Short m_ddcMultipleTimeout;
00029 boost::shared_ptr<SctApi::SctApiDDC> m_worker;
00030 SctApi::SctApiDDC * worker();
00031 public:
00033 SctApiDDCServer();
00034 public:
00036 virtual void requestHardReset (CORBA::ULong mid);
00037 virtual void requestIVCurve (CORBA::ULong mid, CORBA::Float start, CORBA::Float stop, CORBA::Float step, CORBA::UShort delay, CORBA::Float currentLim);
00038 virtual void setSelect (CORBA::ULong mid, CORBA::Boolean value);
00039 virtual void setSelectAllInCrate (CORBA::Long crate, CORBA::Boolean value);
00040 virtual void changeRunState (CORBA::Long state);
00041 virtual void ddcSetSingleTimeout (CORBA::Short timeout);
00042 virtual CORBA::Short ddcGetSingleTimeout ();
00043 virtual void ddcSetMultipleTimeout (CORBA::Short timeout);
00044 virtual CORBA::Short ddcGetMultipleTimeout ();
00045 virtual void ddcChangeState (CORBA::Long crate, CORBA::Long channel, CORBA::Short state);
00046 virtual void ddcChangeStates (CORBA::Long crate, const char* name, CORBA::Short state);
00047 virtual void ddcChangeStateAll (CORBA::Long crate, CORBA::Short state);
00048 virtual void ddcLoadConfiguration (CORBA::Long crate, CORBA::Short state);
00049 virtual void ddcHardReset (CORBA::Long crate, CORBA::Long channel);
00050 virtual void ddcHardResetAll (CORBA::Long crate);
00051 virtual CORBA::ULong ddcGetChannelParameterInt (CORBA::Long crate, CORBA::Long channel, const char * name);
00052 virtual CORBA::Float ddcGetChannelParameterFloat (CORBA::Long crate, CORBA::Long channel, const char * name);
00053 virtual char * ddcGetChannelParameterString (CORBA::Long crate, CORBA::Long channel, const char * name);
00054 virtual CORBA::ULong ddcGetCardParameterInt (CORBA::Long crate, CORBA::Long card, const char * name);
00055 virtual CORBA::Float ddcGetCardParameterFloat (CORBA::Long crate, CORBA::Long card, const char * name);
00056 virtual char * ddcGetCardParameterString (CORBA::Long crate, CORBA::Long card, const char * name);
00057 virtual CORBA::ULong ddcGetCrateParameterInt (CORBA::Long crate, const char * name);
00058 virtual CORBA::Float ddcGetCrateParameterFloat (CORBA::Long crate, const char * name);
00059 virtual char * ddcGetCrateParameterString (CORBA::Long crate, const char * name);
00060 virtual void ddcGetCrateParameters (CORBA::Long crate, const Sct_SctApi::NameList & names, Sct_SctApi::NameValueList_out nameValues);
00061 virtual void ddcSetCrateParameterFloat(CORBA::Long crate, const char* name, CORBA::Float value);
00062 virtual void ddcSetCardParameterFloat(CORBA::Long crate, CORBA::Long card, const char* name, CORBA::Float value);
00063 virtual void ddcSetChannelParameterFloat(CORBA::Long crate, CORBA::Long channel, const char* name, CORBA::Float value);
00064 public:
00066 virtual void shutdown() { this->stop(); };
00067 };
00068
00069 };
00070
00071
00072 #endif