00001 #ifndef ACS_ALARM_PUBLISHER_H 00002 #define ACS_ALARM_PUBLISHER_H 00003 00004 #include "AlarmSupplier.h" 00005 #include "ASIMessage.h" 00006 00007 using acsalarm::ASIMessage; 00008 00009 namespace laserSource 00010 { 00011 /* 00012 * Concrete alarm publisher which uses ACS Notification Channel 00013 * for communication mechanism to send alarms to the laser alarm server. 00014 * The Notification-Service-related functionality is encapsulated in 00015 * a separate class (which is used by this class), AlarmSupplier. 00016 */ 00017 class AcsAlarmPublisher 00018 { 00019 public: 00020 AcsAlarmPublisher(string topicName); 00021 virtual ~AcsAlarmPublisher(); 00022 00023 /* 00024 * Method to publish an alarm to the laser alarm server. 00025 * @param msg the ASIMessage to publish. 00026 */ 00027 virtual bool publishAlarm(ASIMessage msg); 00028 00029 private: 00030 AlarmSupplier * alarmSupplier; 00031 }; 00032 }; 00033 00034 #endif
1.3.6