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

AlarmSource.h

Go to the documentation of this file.
00001 #ifndef ACS_ALARMSOURCE_H
00002 #define ACS_ALARMSOURCE_H
00003 /*
00004  *    ALMA - Atacama Large Millimiter Array
00005  *    (c) European Southern Observatory, 2011
00006  *    Copyright by ESO (in the framework of the ALMA collaboration),
00007  *    All rights reserved
00008  *
00009  *    This library is free software; you can redistribute it and/or
00010  *    modify it under the terms of the GNU Lesser General Public
00011  *    License as published by the Free Software Foundation; either
00012  *    version 2.1 of the License, or (at your option) any later version.
00013  *
00014  *    This library is distributed in the hope that it will be useful,
00015  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
00016  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00017  *    Lesser General Public License for more details.
00018  *
00019  *    You should have received a copy of the GNU Lesser General Public
00020  *    License along with this library; if not, write to the Free Software
00021  *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
00022  *    MA 02111-1307  USA
00023  */
00024 
00025 #ifndef __cplusplus
00026 #error This is a C++ include file and cannot be used from plain C
00027 #endif
00028 
00029 #include <string>
00030 
00031 #include <acscommonC.h>
00032 #include "Properties.h"
00033 
00034 namespace acsalarm
00035 {
00089         class AlarmSource {
00090 
00091         public:
00095                 virtual ~AlarmSource() {}
00096 
00107                 virtual void raiseAlarm(
00108                                 std::string faultFamily,
00109                                 std::string faultMember,
00110                                 int faultCode)=0;
00111 
00124                 virtual void raiseAlarm(
00125                                 std::string faultFamily,
00126                                 std::string faultMember,
00127                                 int faultCode,
00128                                 Properties properties)=0;
00129 
00140                 virtual void clearAlarm(
00141                                 std::string faultFamily,
00142                                 std::string faultMember,
00143                                 int faultCode)=0;
00144 
00165                 virtual void setAlarm(
00166                                 std::string faultFamily,
00167                                 std::string faultMember,
00168                                 int faultCode,
00169                                 Properties alarmProps,
00170                                 bool active)=0;
00171 
00190                 virtual void setAlarm(
00191                                 std::string faultFamily,
00192                                 std::string faultMember,
00193                                 int faultCode,
00194                                 bool active)=0;
00195 
00199                 virtual void terminateAllAlarms()=0;
00200 
00213                 virtual void queueAlarms(ACS::TimeInterval time)=0;
00214 
00226                 virtual void queueAlarms()=0;
00227 
00233                 virtual void flushAlarms()=0;
00234 
00244                 virtual void disableAlarms()=0;
00245 
00256                 virtual void enableAlarms()=0;
00257 
00261                 virtual void start()=0;
00262 
00266                 virtual void tearDown()=0;
00267 
00280                 virtual void update(ACS::Time now) {}
00281         };
00282 }
00283 
00284 #endif // ACS_ALARMSOURCE_H

Generated on Mon May 4 2015 08:27:42 for ACS-2015.4 C++ API by  doxygen 1.7.0