LRAUV  revA
ConfigDataElement.h
Go to the documentation of this file.
1 /*
2  * ConfigDataElement.h
3  *
4  * Created on: Jan 9, 2012
5  * Author: godin
6  */
7 
8 #ifndef CONFIGDATAELEMENT_H_
9 #define CONFIGDATAELEMENT_H_
10 
11 #include "SimpleDataElement.h"
12 #include "utils/FlexArray.h"
13 
15 {
16 public:
17 
18  ConfigDataElement( const ConfigURI& name,
19  DataValue* initialValue );
20 
21  virtual ~ConfigDataElement();
22 
23  void setConfigValue( DataValue* setFromValue );
24 
25  void applyConfigValue( const Timestamp& ifWrittenBefore );
26 
28  virtual void setTimestamp( const Timestamp& timestamp );
29 
30  virtual bool requiresRestart() const
31  {
32  return requiresRestart_;
33  }
34 
35  virtual void setRequiresRestart( bool requiresRestart )
36  {
38  }
39 
40  virtual bool isSecure( void ) const
41  {
42  return secure_;
43  }
44 
45  virtual void setSecure( bool secure )
46  {
47  secure_ = secure;
48  }
49 
50  virtual bool isActive() const
51  {
52  return true;
53  }
54 
55  virtual bool isFailed( void ) const
56  {
57  return false;
58  }
59 
60  virtual bool isOrphaned( void ) const
61  {
62  return false;
63  }
64 
65  static void ApplyConfigValues( const Timestamp& ifWrittenBefore );
66 
67  static unsigned int GetConfigDataElementCount()
68  {
69  return ConfigDataElements_.size();
70  }
71 
72  static ConfigDataElement* GetConfigDataElement( unsigned int index );
73 
74 protected:
75 
79  bool secure_;
80 
81  static Mutex ListMutex_;
83 
84 private:
85  // Note that the copy constructor below is private and not given a body.
86  // Any attempt to call it will return a compiler error.
87  ConfigDataElement( const ConfigDataElement& old ); // disallow copy constructor
88 };
89 
90 #endif /* CONFIGDATAELEMENT_H_ */
virtual void setSecure(bool secure)
Definition: ConfigDataElement.h:45
virtual void setRequiresRestart(bool requiresRestart)
Definition: ConfigDataElement.h:35
virtual bool isSecure(void) const
Definition: ConfigDataElement.h:40
virtual bool requiresRestart() const
Definition: ConfigDataElement.h:30
ConfigDataElement(const ConfigURI &name, DataValue *initialValue)
Definition: ConfigDataElement.cpp:14
static unsigned int GetConfigDataElementCount()
Definition: ConfigDataElement.h:67
DataValue * configValue_
Definition: ConfigDataElement.h:76
bool secure_
Definition: ConfigDataElement.h:79
A simple pthread Mutex abstraction.
Definition: Mutex.h:20
virtual ~ConfigDataElement()
Definition: ConfigDataElement.cpp:26
bool isConfigValue_
Definition: ConfigDataElement.h:77
A DataValue is an abstract base class for a data value and associated engineering units of the value...
Definition: DataValue.h:35
Definition: ElementURI.h:166
Contains the FlexArrayBase and FlexArray class declarations.
unsigned int size() const
Definition: FlexArray.cpp:69
virtual bool isActive() const
Indicates if the element is "active".
Definition: ConfigDataElement.h:50
static Mutex ListMutex_
Definition: ConfigDataElement.h:81
virtual void setTimestamp(const Timestamp &timestamp)
Override this to clear flag: isConfigValue_.
Definition: ConfigDataElement.cpp:49
void setConfigValue(DataValue *setFromValue)
Definition: ConfigDataElement.cpp:33
Definition: ConfigDataElement.h:14
A "Simple" DataElement.
Definition: SimpleDataElement.h:24
static ConfigDataElement * GetConfigDataElement(unsigned int index)
Definition: ConfigDataElement.cpp:64
void applyConfigValue(const Timestamp &ifWrittenBefore)
Definition: ConfigDataElement.cpp:38
virtual bool isOrphaned(void) const
Returns the value of the element's "orphand" flag.
Definition: ConfigDataElement.h:60
static void ApplyConfigValues(const Timestamp &ifWrittenBefore)
Definition: ConfigDataElement.cpp:55
virtual bool isFailed(void) const
Definition: ConfigDataElement.h:55
static FlexArray< ConfigDataElement * > ConfigDataElements_
Definition: ConfigDataElement.h:82
Contains the SimpleDataElement class definition.
bool requiresRestart_
Definition: ConfigDataElement.h:78
Represents absolute times.
Definition: Timestamp.h:31