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

FaultState.h

Go to the documentation of this file.
00001 #ifndef FAULTSTATE_H_
00002 #define FAULTSTATE_H_
00003 
00004 #include <iostream>     
00005 #include <memory>
00006 #include "Properties.h"
00007 #include "Timestamp.h"
00008 
00009 namespace acsalarm 
00010 {
00011         /*
00012          * Class representing a single fault state for use by cpp alarm source clients 
00013          * which wish to send an alarm to the laser alarm server.
00014          */
00015         class FaultState
00016         {       
00017                 public:
00018 
00022                         FaultState();
00023 
00027                         FaultState(const FaultState &);
00028 
00032                         FaultState(std::string family, std::string member, int code);
00033 
00034                         /*
00035                          * Destructor
00036                          */
00037                         virtual ~FaultState();
00038 
00039                         FaultState & operator=(const FaultState & rhs);
00040  
00045                         void setCode(const int faultCode) {
00046                                 code=faultCode;
00047                         }
00048 
00053                         int getCode() const {
00054                                 return code;
00055                         }
00056 
00061                         void setDescriptor(const std::string & newDescriptor) {
00062                                 descriptor=newDescriptor;
00063                         }
00064 
00068                         std::string getDescriptor() const {
00069                                 return descriptor;
00070                         }
00071 
00076                         std::string getFamily() const {
00077                                 return family;
00078                         }
00079          
00084                         std::string getMember() const {
00085                                 return member;
00086                         }
00087 
00088 
00093                         void  setFamily(const std::string & faultFamily);
00094 
00099                         void  setMember(const std::string & newFaultMember);
00100 
00119                         virtual std::string toXML(int amountToIndent = 3);
00120 
00124                         virtual void setUserProperties(std::auto_ptr<acsalarm::Properties> theProperties) { userProperties = theProperties; }
00125 
00129                         const virtual acsalarm::Properties & getUserProperties() const { return *userProperties; }
00130 
00134                         virtual void setUserTimestamp(std::auto_ptr<acsalarm::Timestamp> theTimestamp) { userTimestamp = theTimestamp; }
00135 
00139                         const virtual acsalarm::Timestamp & getUserTimestamp() const { return *userTimestamp; }
00140 
00141                         virtual bool getActivatedByBackup() const { return activatedByBackup; }
00142                         virtual void setActivatedByBackup(bool newActivatedByBackup) { activatedByBackup = newActivatedByBackup; }
00143 
00144                         virtual bool getTerminatedByBackup() const { return terminatedByBackup; }
00145                         virtual void setTerminatedByBackup(bool newTerminatedByBackup) { terminatedByBackup = newTerminatedByBackup; }
00146 
00147                 private:
00148 
00149                         std::string member;
00150                         std::string family;
00151                         std::string descriptor;
00152                         int code;
00153                         bool activatedByBackup; 
00154                         bool terminatedByBackup;
00155                         std::auto_ptr<acsalarm::Properties> userProperties;
00156                         std::auto_ptr<acsalarm::Timestamp> userTimestamp;
00157         };
00158 };
00159 #endif /*FAULTSTATE_H_*/

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