Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Related Pages

TriggerServer.h

00001 #ifndef SCTAPIIPC_TRIGGERSERVER_H
00002 #define SCTAPIIPC_TRIGGERSERVER_H
00003 
00004 // CORBA wrapper for SctApi::Trigger class
00005 
00006 // fwd dec self
00007 class TriggerServer;
00008 
00009 //includes
00010 #include "Sct_SctApi/SctApi.hh"
00011 #include <ipc/object.h>
00012 #include <omniORB4/poa.h> // For PortableServer::RefCountServantBase
00013 #include <boost/shared_ptr.hpp>
00014 
00015 // fwd dec others:
00016 namespace SctApi {
00017   class Trigger;
00018 };
00019 
00020 //declaration
00021 class TriggerServer : 
00022       public IPCNamedObject<POA_Sct_SctApi::Trigger>,
00023       public virtual PortableServer::RefCountServantBase {
00024   TriggerServer(const TriggerServer &);
00025   TriggerServer &operator=(const TriggerServer &);
00026   static int nextNumber;
00027  public:
00028   TriggerServer();
00029   explicit TriggerServer(const boost::shared_ptr< ::SctApi::Trigger> other);
00030 
00031   //static TriggerServer *getServer(boost::shared_ptr< ::SctApi::Trigger> trigger);
00032   //static void mapServer(boost::shared_ptr< ::SctApi::Trigger> trigger, TriggerServer *server);
00033 
00034   virtual ~TriggerServer();
00035 
00036   virtual void print ();
00037   virtual void singleL1A ();
00038   virtual void doubleL1A (CORBA::UShort delay);
00039   virtual void delayedL1A (CORBA::UShort delay);
00040   virtual void calL1A (CORBA::UShort delay);
00041   virtual void pulseL1A (CORBA::UShort delay);
00042   virtual void softL1A (CORBA::UShort delay);
00043   virtual void softCalL1A (CORBA::UShort delay, CORBA::UShort delay2);
00044   virtual void softPulseL1A (CORBA::UShort delay, CORBA::UShort delay2);
00045   virtual void softBc (CORBA::UShort delay);
00046   virtual void soft();
00047   virtual void bc();
00048   virtual void bcL1A (CORBA::UShort delay);
00049   virtual void bcCalL1A (CORBA::UShort delay, CORBA::UShort delay2);
00050   virtual void bcPulseL1A (CORBA::UShort delay, CORBA::UShort delay2);
00051   virtual void setCommIncr (CORBA::UShort command, CORBA::UShort incr);
00052   virtual void getCommIncr (CORBA::UShort & command, CORBA::UShort & incr);
00053 
00054   virtual Sct_SctApi::RODTriggers * getRODTriggers();
00055 
00056   virtual void shutdown();
00057 
00058  private:
00059   boost::shared_ptr< ::SctApi::Trigger> m_worker;
00060   boost::shared_ptr< ::SctApi::Trigger> worker() { return m_worker; };
00061  protected:
00062   //static std::map<boost::shared_ptr< ::SctApi::Trigger>, TriggerServer *> serverMap;
00063 
00064  private:
00065   static std::string getServerName();
00066 
00067   //SctApi::Trigger &worker();
00068 };
00069 
00070 #endif

Generated on Fri Sep 16 18:02:02 2005 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5