|
LRAUV
revA
|
The Config class provides static methods for accessing configuration values. More...
#include <Config.h>


Public Member Functions | |
| virtual | ~Config () |
| Destructor – never called. More... | |
| void | run () |
| No reason to ever run a config component. More... | |
Public Member Functions inherited from Component | |
| virtual | ~Component () |
| Destructor cleans up readers_ and writers_. More... | |
| void | registerReader (DataReader *reader) |
| void | unregisterReader (DataReader *reader) |
| void | registerWriter (DataWriter *writer) |
| void | unregisterWriter (DataWriter *writer) |
| void | disableMetering (void) |
| FlexArray< DataReader * > & | getReaderList (void) |
| FlexArray< DataWriter * > & | getWriterList (void) |
| const Module * | getModule () |
| virtual void | initialize () |
| Provide a space for initialization before being run. More... | |
| virtual void | configure () |
| Read (or re-read!) configuration settings. More... | |
| virtual void | execute (void) |
| virtual void | uninitialize () |
| Provide a space for uninitialization. More... | |
| bool | isActive () const |
| Indicates if the component is active. More... | |
| const CodedStr & | getName (void) const |
| Returns the name. More... | |
| const Timestamp & | getTimeOfLastRun (void) const |
| ComponentState | getState (void) |
| Return the component's current state. More... | |
| void | setState (ComponentState state) |
| RunState | getRunState (void) |
| Return the component's run state. More... | |
| bool | isUsingRunState () |
| Return true if using runState. More... | |
| void | requestData (bool requestingData) |
| Tell the component to start (or stop) sending data. More... | |
| void | requestStart () |
| Tell the component to start runnning. More... | |
| void | requestPause (const Timespan expectedPauseTime) |
| Tell the component to pause runnning. More... | |
| void | requestResume () |
| Tell the component resume from pause. More... | |
| void | requestStop () |
| Tell the component to stop runnning. More... | |
| virtual RunState | start () |
| Do what needs to be done to run Similar to initialize, in old init/run/uninit sequence. More... | |
| virtual RunState | starting () |
| Might follow a STOP...START sequence Subseqent. More... | |
| virtual RunState | runnable () |
| Should eventually follow a START request or RESETTING. More... | |
| virtual RunState | satisfied () |
| Possible return value of a Behavior. More... | |
| virtual RunState | pause () |
| Pause for a short period (indicated by pauseTime) More... | |
| virtual RunState | pausing () |
| Might follow a PAUSE request. More... | |
| virtual RunState | paused () |
| Should eventually follow a PAUSE request: should set continueTime. More... | |
| virtual RunState | resume () |
| Resume from PAUSE. More... | |
| virtual RunState | resuming () |
| Might follow a PAUSE...RESUME sequence. More... | |
| virtual RunState | resetting () |
| Might occur in case of Error. More... | |
| virtual RunState | stop () |
| Initial state – can be later followed by START. More... | |
| virtual RunState | stopping () |
| Might follow a STOP request. More... | |
| virtual RunState | stopped () |
| Should eventually follow a STOP request. More... | |
| void | setCriticalFailureReported (bool boolVal) |
| void | setRecoveringFromCritical (bool boolVal) |
| void | setFailureReported (bool boolVal) |
| bool | isFailureUninitialized () |
| void | setFailureUninitialized (bool boolVal) |
| void | setRetryTimeout (const Timespan &timeout) |
| virtual bool | isCompleted (void) |
| Query if this component is completed. More... | |
| void | setPeriod (const Timespan &period) |
| Set the period of this component... used if it is periodic. More... | |
| const Timespan & | getPeriod (void) |
| Returns the component's period (regardless of whether it is periodic) More... | |
| ComponentType | getComponentType () |
| Getter function for ComponentType. More... | |
| virtual bool | isFailed (void) const |
| virtual FailureMode::FailType | getFailureType (void) const |
| virtual bool | getCriticalFailureReported (void) const |
| virtual bool | getFailureReported (void) const |
| virtual Timespan | getRetryTimeout (void) const |
| virtual FailureMode::FailType | setFailure (FailureMode::FailType failureType) |
| virtual int | getFailCount (void) const |
| virtual bool | isFailureMissionCritical () |
| virtual int | getAllowableFailures (void) const |
| virtual void | setAllowableFailures (int fails) |
| Logger & | getLogger (void) |
| virtual int | incrementFailCount (void) |
| virtual void | resetFailCount (void) |
| virtual int | getSkippedRunsSinceFail (void) const |
| virtual int | incrementSkippedRunsSinceFail (void) |
| virtual void | logVoltage (float voltage, float averageVoltage) |
| virtual void | logCurrent (float current, float averageCurrent) |
| const Timestamp & | getWriteTimestamp (void) |
| void | setWriteTimestamp (const Timestamp &writeTimestamp) |
| BlobReader * | newBlobReader (const BlobURI &blobURI) |
| BlobReader * | newBlobReaderFromUniversal (const Str &componentName, const UniversalBlobURI &blobURI) |
| BlobWriter * | newBlobWriter (const BlobURI &blobURI, Logger::TimePrecisionType timePrecision=Logger::TIME_PRECISION_MILLIS) |
| ConfigReader * | newConfigReader (const ConfigURI &configURI) |
| DataReader * | newDataReader (const DataURI &dataURI) |
| DataReader * | newDataReaderFromUniversal (const Str &componentName, const UniversalURI &universalURI) |
| DataWriter * | newDataWriter (const DataURI &dataURI, Logger::TimePrecisionType timePrecision=Logger::TIME_PRECISION_MILLIS) |
| UniversalBlobReader * | newUniversalBlobReader (const UniversalBlobURI &universalURI) |
| UniversalBlobWriter * | newUniversalBlobWriter (const UniversalBlobURI &universalURI, const Unit &accuracyUnit=Units::NONE, const float accuracy=DataElement::NO_ACCURACY, Logger::TimePrecisionType timePrecision=Logger::TIME_PRECISION_MILLIS) |
| UniversalDataReader * | newUniversalReader (const UniversalURI &universalURI) |
| UniversalDataWriter * | newUniversalWriter (const UniversalURI &universalURI, const Unit &accuracyUnit=Units::NONE, const float accuracy=DataElement::NO_ACCURACY, Logger::TimePrecisionType timePrecision=Logger::TIME_PRECISION_MILLIS) |
Static Public Member Functions | |
| static void | LoadConfigFiles (const Str &path, const Str &altConfig, const Str &dataDir, Logger &logger) |
| Scans a folder for files that end in ".cfg" and loads them Also looks in sub-folders corresponding to the host name and user name. More... | |
| static Config * | Instance (const Str &realPath, const Str &basePath, const char *name, const Str &dataDir, bool &duplicate, Logger &logger) |
| Returns an instance, or NULL if the config file can't be read duplicate will be set to true if this is a duplicate. More... | |
| static void | Persist (const Str &name, const char *line, Logger &logger) |
| Saves a configuration setting persisted via configSet command. More... | |
| static void | LoadPersistedConfigSets (Logger &logger, bool reload, bool list) |
| Loads configuration settings persisted via configSet command. More... | |
| static void | Uninitialize () |
| Release static resources. More... | |
Private Member Functions | |
| Config (const Str &name) | |
| Private constructor – use Instance. More... | |
Static Private Member Functions | |
| static void | CopyFileToDir (const Str &path, const char *name, const Str &destDir, Logger &logger) |
| Copies the indicated file and its path to the destDir. More... | |
| static void | LoadConfigFilesInPath (const Str &basePath, const Str &addPath, const Str &dataDir, Logger &logger) |
| Scans a folder for files that end in ".cfg" and loads them. More... | |
| static bool | ParseLine (Component *config, char *buffer, unsigned int length, bool secure) |
| Parse a line from the input file, associating the value with the Config object. More... | |
Static Private Attributes | |
| static FastMap< const Str, Str * > | PersistedConfigSetMap_ |
Additional Inherited Members | |
Public Types inherited from Component | |
| enum | ComponentState { BLOCK_CONTINUOUS, BLOCK_PERIODIC, BLOCK_NORMAL, BLOCK_COMPLETED, BLOCK_UNKNOWN } |
| In this model, the component has basically two states: wanting to run, and completed (no longer needing to run). More... | |
| enum | ComponentType { COMPONENT_ASYNC, COMPONENT_CONFIG, COMPONENT_BEHAVIOR, COMPONENT_SYNC } |
| Components can indicate how they want to be handled by their type. More... | |
| enum | RunState { NO_RUN_STATE = 0, START, STARTING, RUNNABLE, SATISFIED, PAUSE, PAUSING, PAUSED, RESUME, RESUMING, RESETTING, STOP, STOPPING, STOPPED } |
Protected Types inherited from Component | |
| enum | ConfigOption { CONFIG_SIMULATE_HARDWARE, CONFIG_POWER, CONFIG_FREQUENCY, CONFIG_LATENCY } |
Protected Member Functions inherited from Component | |
| virtual ConfigURI | getConfigURI (ConfigOption configOption) const |
| Should return [myNamespace]::SIMULATE_HARDWARE, or [myNamespace]::POWER, etc. More... | |
| virtual ConfigURI | getConfigURI (ConfigOption configOption, ElementURI forElement) const |
| Should return [myNamespace]::POWER_[forElement], [myNamespace]::LATENCY_[forElement], etc. More... | |
| virtual void | setDurationOfLastRun (const Timespan &span) |
| virtual void | setTimeOfRun (const Timestamp &time) |
| virtual void | setTimeOfLastRun (const Timestamp &time) |
| virtual void | setDt (const Timespan &dt) |
| virtual bool | setEnabled (bool enabled=true) |
| void | setRunState (const RunState runState) |
| const Timespan | getPauseTime () const |
| virtual void | setFailureMissionCritical (bool failureMissionCritical) |
| bool | simulateHardware () |
Protected Attributes inherited from Component | |
| Logger | logger_ |
| Syslog::Severity | debugLevel_ |
| ComponentState | state_ |
| Keep track of whether the component has "completed" or should be run again. More... | |
| Timespan | desiredPeriod_ |
| CodedStr & | name_ |
| Store the component's name (used for logging purposes) More... | |
| Timestamp | timeOfRun_ |
| Timestamp | timeOfLastRun_ |
| Timespan | durationOfLastRun_ |
| Timespan | dt_ |
| Timespan | retryTimeout_ |
| bool | enabled_ |
| bool | failureReported_ |
| Indicates if the failure has been reported – cuts down on syslog. More... | |
| bool | criticalFailureReported_ |
| Indicates if a "Critical" failure has been reported – cuts down on syslog. More... | |
| bool | recoveringFromCritical_ |
| Indicates that a component had a previous critical failure that has been cleared temporarily awaiting final word from the component itself. More... | |
| bool | failureUninitialized_ |
| Indicates if the failure has resulted in an uninitialize call. More... | |
| int | failCount_ |
| Number of failures logged by PCaller. More... | |
| bool | failureMissionCritical_ |
| If true (default), complete failure ends mission. More... | |
| int | allowableFailures_ |
| Number of failures allowed to occur. More... | |
| int | skippedRunsSinceFail_ |
| Number of skipped runs since failureMode_ set by failCount_. More... | |
| FailureMode::FailType | failureType_ |
| Failed status. If failCount_ > 0, then this may be reset. More... | |
| Timestamp | timeOfFailure_ |
| Time of last failure. Relevant only if failed=true. More... | |
| Timestamp | writeTimestamp_ |
| Time of last write. More... | |
| FlexArray< DataReader * > | readers_ |
| FlexArray< DataWriter * > | writers_ |
| const Module * | module_ |
| Timespan | pauseTime_ |
| bool | meteringEnabled_ |
| If true, metering is enabled. More... | |
| DataWriter * | durationOfLastRunWriter_ |
| Writer for durationOfLastRun. More... | |
| DataWriter * | voltageWriter_ |
| DataWriter * | avgVoltageWriter_ |
| DataWriter * | currentWriter_ |
| DataWriter * | avgCurrentWriter_ |
| bool | persistentPause_ |
| True if data is persistent while component is paused. More... | |
The Config class provides static methods for accessing configuration values.
Configuration files are read by lua code in Tethys.lua::readConfig(). Hence, this class falls under Module, with Lua, rather than under Utilities.
|
inlinevirtual |
Destructor – never called.
|
private |
Private constructor – use Instance.
Referenced by Instance().
|
staticprivate |
Copies the indicated file and its path to the destDir.
References Str::cStr(), Syslog::ERROR, and Logger::syslog().
Referenced by Instance().
|
static |
Returns an instance, or NULL if the config file can't be read duplicate will be set to true if this is a duplicate.
References Config(), CopyFileToDir(), Str::cStr(), Str::EMPTY_STR, Syslog::ERROR, ComponentRegistry::Find(), Str::findLastOf(), Syslog::INFO, ParseLine(), ComponentRegistry::Remove(), Str::substr(), and Logger::syslog().
Referenced by LoadConfigFilesInPath().
|
static |
Scans a folder for files that end in ".cfg" and loads them Also looks in sub-folders corresponding to the host name and user name.
References Str::EMPTY_STR, LoadConfigFilesInPath(), and LoadPersistedConfigSets().
Referenced by Supervisor::configure().
|
staticprivate |
Scans a folder for files that end in ".cfg" and loads them.
References Str::cStr(), Str::EMPTY_STR, Syslog::ERROR, Syslog::INFO, ComponentRegistry::Insert(), Instance(), and Logger::syslog().
Referenced by LoadConfigFiles().
|
static |
Loads configuration settings persisted via configSet command.
If reload is false, settings will not be loaded after an unintentional restart If list is true, settings will just be displayed, not set
References Syslog::FAULT, ComponentRegistry::Find(), Str::find(), FastMap< S, T >::get(), Syslog::IMPORTANT, Str::length(), Str::NO_POS, ParseLine(), PersistedConfigSetMap_, FastMap< S, T >::pop(), FastMap< S, T >::put(), Str::substr(), Logger::syslog(), and Supervisor::WasRunning().
Referenced by CommandLine::commandConfigSet(), and LoadConfigFiles().
|
staticprivate |
Parse a line from the input file, associating the value with the Config object.
References Supervisor::ConfigureDecimation(), DataValue::copy(), StrValue::copy(), Unit::dataValue(), Slate::DeRegisterElementURI(), Syslog::ERROR, Syslog::FAULT, Slate::FindElementURI(), UnitRegistry::FindUnit(), Unit::getBaseUnit(), DataValue::getBaseUnit(), DataElement::getBaseUnit(), ElementURI::getCode(), Slate::GetElement(), Component::getLogger(), Unit::getName(), Component::getName(), DataElement::getUnit(), DataElement::getUri(), DecimationLogWriter::LINEAR_APPROXIMATION, Slate::MapDataElement(), LogWriter::NO_SERVICE, Units::NONE, DecimationLogWriter::Str2DecimationType(), LogWriter::Str2ServiceType(), Logger::syslog(), DecimationLogWriter::UNDEFINED_DECIMATION, and Slate::WriteOnce().
Referenced by Instance(), and LoadPersistedConfigSets().
Saves a configuration setting persisted via configSet command.
References Str::cStr(), FastMap< S, T >::get(), FastMap< S, T >::getIndexed(), Str::length(), PersistedConfigSetMap_, FastMap< S, T >::pop(), FastMap< S, T >::put(), and FastMap< S, T >::size().
Referenced by CommandLine::commandConfigSet().
|
inlinevirtual |
No reason to ever run a config component.
Reimplemented from Component.
|
static |
Release static resources.
References PersistedConfigSetMap_, FastMap< S, T >::popIndexed(), and FastMap< S, T >::size().
Referenced by Supervisor::uninitialize().
Referenced by LoadPersistedConfigSets(), Persist(), and Uninitialize().