• Classes
  • Modules
  • Namespaces
  • Files
  • Related Pages
  • File List
  • File Members

AcsAlarmPublisher.h

Go to the documentation of this file.
00001 #ifndef ACS_ALARM_PUBLISHER_H
00002 #define ACS_ALARM_PUBLISHER_H
00003 
00004 #include "AlarmSupplier.h"
00005 #include "ASIMessage.h"
00006 
00007 namespace laserSource
00008 {
00009         /*
00010          * Concrete alarm publisher which uses ACS Notification Channel
00011          * for communication mechanism to send alarms to the laser alarm server.
00012          * The Notification-Service-related functionality is encapsulated in
00013          * a separate class (which is used by this class), AlarmSupplier.
00014          */
00015         class AcsAlarmPublisher
00016         {
00017                 public:
00018                         AcsAlarmPublisher(std::string topicName);
00019                         virtual ~AcsAlarmPublisher();
00020 
00021                         /*
00022                          * Method to publish an alarm to the laser alarm server.
00023                          * @param msg the ASIMessage to publish.
00024                          * @throw In case of error publishing the message
00025                          */
00026                         virtual void publishAlarm(acsalarm::ASIMessage msg);
00027 
00028                 private:
00029                         AlarmSupplier * alarmSupplier;
00030 
00037                         CosNaming::NamingContext_var getNamingService();
00038 
00046                         static CosNaming::NamingContext_var naming_v;
00047         };
00048 };
00049 
00050 #endif

Generated on Thu Jan 12 2012 23:13:50 for ACS-10.0 C++ API by  doxygen 1.7.0