00001 #ifndef alarm_supplier_H 00002 #define alarm_supplier_H 00003 /******************************************************************************* 00004 * ALMA - Atacama Large Millimiter Array 00005 * (c) National Research Council of Canada, 2005 00006 * 00007 * This library is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU Lesser General Public 00009 * License as published by the Free Software Foundation; either 00010 * version 2.1 of the License, or (at your option) any later version. 00011 * 00012 * This library is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 * Lesser General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public 00018 * License along with this library; if not, write to the Free Software 00019 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00020 * 00021 * "@(#) $Id: AlarmSupplier.h,v 1.5 2008/01/29 01:38:45 sharring Exp $" 00022 * 00023 * who when what 00024 * -------- -------- ---------------------------------------------- 00025 * dfugate 2005-11-15 created 00026 * sharring 2005-11-22 documented 00027 */ 00028 00029 /************************************************************************ 00030 * 00031 *---------------------------------------------------------------------- 00032 */ 00033 00034 #ifndef __cplusplus 00035 #error This is a C++ include file and cannot be used from plain C 00036 #endif 00037 00038 #include <basencSupplier.h> 00039 #include <acscommonC.h> 00040 #include <logging.h> 00041 #include "ASIMessage.h" 00042 00049 class AlarmSupplier : public BaseSupplier 00050 { 00051 public: 00052 00058 AlarmSupplier(const char* channelName); 00059 00063 virtual ~AlarmSupplier(); 00064 00068 void publishEvent(acsalarm::ASIMessage &msg); 00069 00070 protected: 00071 00075 virtual const char* getChannelKind() { return acscommon::NC_KIND; } 00076 00080 virtual const char* getEventType() { return "ACSJMSMessageEntity"; } 00081 00082 private: 00083 // logger smart pointer 00084 Logging::Logger::LoggerSmartPtr myLoggerSmartPtr; 00085 00086 }; 00087 00088 00089 #endif