ScanMonitorWrapper.h

00001 #ifndef SCTAPIIPC_SCANMONITORWRAPPER_H
00002 #define SCTAPIIPC_SCANMONITORWRAPPER_H
00003 
00004 // Actually, ignore this never gets used
00005 
00020 // Need complete types for public inheritence
00021 #include "SctApi/ScanMonitor.h" 
00022 #include "Sct_SctApi/SctApi.hh" // for ScanMonitor{_var,_ptr} interface 
00023 
00024 class ScanMonitorWrapper : public ::SctApi::ScanMonitor {
00025  public:
00026   typedef enum MemoryPolicy_enum { 
00027     takeOwnershipOfObjectReference, 
00028     doNotTakeOwnershipOfObjectReference
00029   } MemoryPolicy;
00030  private:
00031   const MemoryPolicy m_memoryPolicy;
00032   typedef Sct_SctApi::ScanMonitor_ptr WorkerType;
00033   WorkerType m_worker;
00034   const WorkerType worker() const { return m_worker; };
00035   WorkerType worker() { return m_worker; };
00036  public:
00037   ScanMonitorWrapper(const WorkerType & w, const MemoryPolicy memoryPolicy) :
00038     m_memoryPolicy(memoryPolicy),
00039     m_worker(w) {
00040   };
00041   virtual ~ScanMonitorWrapper() {
00042     if (m_memoryPolicy==takeOwnershipOfObjectReference) {
00043       CORBA::release(m_worker);
00044     };
00045   };
00046 
00047   // This would be useful...
00048   char *status();
00049 };
00050 
00051 #endif

Generated on Mon Feb 6 14:01:27 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6