00001 #ifndef CERN_ALARM_SYSTEM_INTERFACE_FACTORY_H 00002 #define CERN_ALARM_SYSTEM_INTERFACE_FACTORY_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 */ 00022 00023 #include "AlarmSystemInterfaceFactory.h" 00024 #include <logging.h> 00025 00026 namespace laserSource 00027 { 00028 class CERNAlarmSystemInterfaceFactory: public AlarmSystemInterfaceFactory 00029 { 00030 public: 00032 CERNAlarmSystemInterfaceFactory(); 00033 virtual ~CERNAlarmSystemInterfaceFactory(); 00034 00040 virtual bool init(); 00041 00046 virtual void done(); 00047 00053 virtual acsalarm::AlarmSystemInterface* createSource(std::string sourceName); 00054 00059 virtual acsalarm::AlarmSystemInterface* createSource(); 00060 00061 }; 00062 }; 00063 #endif /* ifndef CERN_ALARM_SYSTEM_INTERFACE_FACTORY_H */ 00064