00001 #ifndef ALARM_SYSTEM_INTERFACE_PROXY_H 00002 #define ALARM_SYSTEM_INTERFACE_PROXY_H 00003 00004 #include "AlarmSystemInterface.h" 00005 #include "AcsAlarmPublisher.h" 00006 00007 namespace laserSource 00008 { 00009 class CERNAlarmSystemInterfaceProxy : public acsalarm::AlarmSystemInterface 00010 { 00011 public: 00012 CERNAlarmSystemInterfaceProxy(); 00013 CERNAlarmSystemInterfaceProxy(std::string theSourceName); 00014 virtual ~CERNAlarmSystemInterfaceProxy(); 00015 virtual void close(); 00016 00017 protected: 00018 bool publishMessage(acsalarm::ASIMessage msg); 00019 00020 private: 00021 // initialization logic used by the constructors 00022 void init(); 00023 00024 // pointer to our publisher object 00025 laserSource::AcsAlarmPublisher * laserPublisher; 00026 }; 00027 }; 00028 #endif 00029