00001 #ifndef ABSTRACT_FAULT_FIELD_H 00002 #define ABSTRACT_FAULT_FIELD_H 00003 00004 #include <fesa-core/DataStore/AbstractField.h> 00005 #include <fesa-core/DataStore/TypeDefinition.h> 00006 #include <string> 00007 00008 00009 namespace fesa 00010 { 00011 00012 class AbstractFaultField { 00013 public: 00014 00015 /*AbstractFaultField(const std::string& name, bool multiplexed, DataStore* pDataStore, 00016 const std::string& description, FaultSeverity severity);*/ 00017 00018 //virtual ~AbstractFaultField(); 00019 00020 virtual void raise(int64_t time, MultiplexingContext* pCtx, int32_t errorCode = 0)= 0; 00021 virtual void raise(MultiplexingContext* pCtx, int32_t errorCode = 0) = 0; 00022 virtual void lower(int64_t time, MultiplexingContext* pCtx) = 0; 00023 virtual void lower(MultiplexingContext* pCtx) = 0; 00024 virtual bool isRaised(MultiplexingContext* pCtx) = 0; 00025 virtual FaultSeverity getSeverity() = 0; 00026 virtual int64_t getTimestamp(MultiplexingContext* pCtx) = 0; 00027 00028 private: 00029 00030 virtual int64_t getActualTime()= 0; 00031 00032 00033 }; 00034 } 00035 00036 #endif //ABSTRACT_FAULT_FIELD_H 00037