AP&C API Reference
|
Public Member Functions | |
void | Initialize (Apac.Configuration.SupervisableConfig config, Supervisors.ISupervisor supervisor) |
Initializes the controller from configuration. More... | |
void | ResolveReferences () |
Resolves any references this component might hold to other supervisable components. More... | |
void | CheckReferencesStates () |
Checks the states of referenced components to be sure they are satisfactory for this component's operation. More... | |
void | Starting () |
Signals that the component will be starting on its own thread. This implementation uses this opportunity to CheckReferencesStates, change state to Starting, and signal subclasses with OnStarting. More... | |
void | Start () |
Starts the component. More... | |
void | Stop () |
Stops the component. More... | |
![]() | |
void | Initialize (Apac.Configuration.SupervisableConfig config, Supervisors.ISupervisor exec) |
Initializes the component with the given SupervisableConfig (or derivative) and ISupervisor. More... | |
Protected Member Functions | |
abstract void | OnInitialize (Apac.Configuration.SupervisableConfig config) |
Called when the supervisable component is intitialized. More... | |
abstract void | OnResolveReferences () |
Called when the supervisable component needs to resolve its runtime references to other components. More... | |
abstract void | OnCheckReferencesStates () |
Called when the supervisable component needs to check the state of its runtime reference components. More... | |
virtual void | OnStarting () |
Called when the supervisable component is about to start. This differs from handling OnStart in that this method is called on the supervisor's thread, whereas Start is called on a new thread. Subclasses may override this to do work that is considered initialization work that should be done before all component threads are started. More... | |
abstract void | OnStart () |
Called to start the supervisable component. More... | |
abstract void | OnStop () |
Called to stop the supervisable component. More... | |
virtual void | OnStateChanging (SupervisableState currentState, SupervisableState newState) |
Call chain for state changing notification. More... | |
virtual void | OnStateChanged (SupervisableState previousState, SupervisableState newState) |
Call chain for state changed notification. More... | |
virtual void | OnException (Exception ex) |
Call chain for exception notification. More... | |
void | SetState (SupervisableState newState) |
Changes the state of the controller to the new state. More... | |
virtual void | OnStateChangeStarting () |
virtual void | OnStateChangeRunning () |
virtual void | OnStateChangeStopping () |
virtual void | OnStateChangeStopped () |
virtual void | OnStateChangeInitializing () |
virtual void | OnStateChangeInitialized () |
virtual void | OnStateChangeErrored () |
virtual void | OnStateChangeImpaired () |
void | HandleException (string message, Exception e) |
Deals with the details of handling exceptions captured by the controller. More... | |
void | ResetException () |
Allows subclasses to reset the last exception to an empty state. More... | |
void | HandleImpairment (string message, Exception e) |
Deals with the details of handling non-critical problems captured by the controller. More... | |
Properties | |
string | Name [get] |
Gets the name of the controller, as specified by configuration. Note that if the name is not specified, then an index will be used. More... | |
string | Description [get] |
Gets the description of the controller, as specified by configuration. More... | |
bool | Prioritized [get] |
Indicates if the supervisable component should be executed on a higher thread priority. More... | |
DateTime | LastHeartbeat [get] |
The time of the last heartbeat. More... | |
Supervisors.ISupervisor | ExecutiveSupervisor [get] |
Walks the tree to find the top level supervisor. More... | |
bool | IsRunning [get] |
Gets a value indicating whether this instance is running. More... | |
SupervisableState | CurrentState [get] |
Gets the current overall state of the controller. More... | |
SupervisableState | PreviousState [get] |
Gets the previous overall state of the controller. More... | |
Exception | LastException [get] |
Gets the last exception encountered within the controller. More... | |
DateTime | StartTime [get] |
Gets the time this supervisable component was started. More... | |
DateTime | StopTime [get] |
Gets the time this supervisable component was stopped. More... | |
TimeSpan | UpTime [get] |
Gets the amount of time this supervisable component has been running, or did run before it was stopped (if IsRunning is false ). More... | |
Supervisors.ISupervisor | Supervisor [get] |
Gets the supervisor. More... | |
SupervisableConfig | Config [get] |
The configuration object used by the supervisable component. More... | |
log4net.ILog | Log [get] |
Lazy-initialized logger for subclass usage. More... | |
![]() | |
string | Name [get] |
The name of the component, for unique identification purposes. More... | |
string | Description [get] |
The description of the component, for human consumption. More... | |
bool | Prioritized [get] |
Indicates if the component should be high priority. More... | |
Supervisors.ISupervisor | ExecutiveSupervisor [get] |
Walks the tree to find the top level supervisor. More... | |
bool | IsRunning [get] |
Indicates that the component is running. More... | |
DateTime | LastHeartbeat [get] |
DateTime | StartTime [get] |
Gets the time this supervisable component was started. More... | |
DateTime | StopTime [get] |
Gets the time this supervisable component was stopped. More... | |
TimeSpan | UpTime [get] |
Gets the amount of time this supervisable component has been running, or did run before it was stopped (if IsRunning is false ). More... | |
SupervisableState | CurrentState [get] |
Gets the current SupervisableState of this component. More... | |
SupervisableState | PreviousState [get] |
Gets the previous SupervisableState of this component. More... | |
Exception | LastException [get] |
Gets the last exception to have occurred and been trapped by this component. More... | |
Events | |
SupervisableStateChangingHandler | SupervisableStateChanging |
Notifies listeners that the state is about to change. More... | |
SupervisableStateChangedHandler | SupervisableStateChanged |
Notifies listeners that the state has changed. More... | |
SupervisableErroredHandler | SupervisableErrored |
Notifies listeners that an error occured within the controller. More... | |
SupervisableHeartbeatHandler | SupervisableHeartbeat |
Notifies listeners that the component is still active. More... | |
![]() | |
SupervisableStateChangingHandler | SupervisableStateChanging |
Notifies listeners that the state is about to change. More... | |
SupervisableStateChangedHandler | SupervisableStateChanged |
Notifies listeners that the state has changed. More... | |
SupervisableErroredHandler | SupervisableErrored |
Notifies listeners that an error occured within the controller. More... | |
SupervisableHeartbeatHandler | SupervisableHeartbeat |
Notifies listeners that the component is still active. More... | |
|
inline |
Checks the states of referenced components to be sure they are satisfactory for this component's operation.
Implements Apac.ISupervisable.
|
inlineprotected |
Deals with the details of handling exceptions captured by the controller.
message | A specific message to be logged with the exception. |
e | The exception being handled. |
|
inlineprotected |
Deals with the details of handling non-critical problems captured by the controller.
message | A specific message to be logged. |
e | The exception causing the impairment, if applicable. This parameter can be null . |
|
inline |
Initializes the controller from configuration.
config |
|
protectedpure virtual |
Called when the supervisable component needs to check the state of its runtime reference components.
Implemented in Apac.TcTec.Top16.Control.Top16DIOController, Apac.PassiveHaus.DataManager, Apac.Ecop.DataManager, Apac.Reporting.ThreadedReportingEngine, Apac.Reporting.GraphGenerator, Apac.EventManagement.EventEngine, Apac.Data.ThreadedPostProcessingEngine, Apac.Data.ThreadedMeasurementStore, Apac.Data.ThreadedCompilationEngine, Apac.Control.UdpNodeController, Apac.Control.ThreadedPollingController, Apac.Control.SerialModbusController, Apac.Control.MockController, and Apac.Management.OutboundPublicIpReport.
|
inlineprotectedvirtual |
Call chain for exception notification.
ex | The exception that is being notified. |
|
protectedpure virtual |
Called when the supervisable component is intitialized.
config | The configuration to use for initialization. |
Implemented in Apac.TcTec.Top16.Control.Top16DIOController, Apac.EventManagement.EventEngine, Apac.Control.ThreadedPollingController, Apac.Control.SerialModbusController, Apac.Control.MockController, Apac.Dlp.Control.DlpIo20Controller, and Apac.Dallas.OneWire.Control.OneWireController.
|
protectedpure virtual |
Called when the supervisable component needs to resolve its runtime references to other components.
Implemented in Apac.TcTec.Top16.Control.Top16DIOController, Apac.PassiveHaus.DataManager, Apac.Ecop.DataManager, Apac.Reporting.ThreadedReportingEngine, Apac.Reporting.GraphGenerator, Apac.EventManagement.EventEngine, Apac.Data.ThreadedPostProcessingEngine, Apac.Data.ThreadedMeasurementStore, Apac.Data.ThreadedCompilationEngine, Apac.Control.UdpNodeController, Apac.Control.ThreadedPollingController, Apac.Control.SerialModbusController, Apac.Control.MockController, and Apac.Management.OutboundPublicIpReport.
|
protectedpure virtual |
Called to start the supervisable component.
Implemented in Apac.TcTec.Top16.Control.Top16DIOController, Apac.PassiveHaus.DataManager, Apac.Ecop.DataManager, Apac.Reporting.ThreadedReportingEngine, Apac.Reporting.GraphGenerator, Apac.EventManagement.EventEngine, Apac.Data.ThreadedPostProcessingEngine, Apac.Data.ThreadedMeasurementStore, Apac.Data.ThreadedCompilationEngine, Apac.Data.AlertingPostProcessor, Apac.Control.UdpNodeController, Apac.Control.ThreadedPollingController, Apac.Control.SerialModbusController, Apac.Control.MockController, and Apac.Management.OutboundPublicIpReport.
|
inlineprotectedvirtual |
Called when the supervisable component is about to start. This differs from handling OnStart in that this method is called on the supervisor's thread, whereas Start is called on a new thread. Subclasses may override this to do work that is considered initialization work that should be done before all component threads are started.
Reimplemented in Apac.PassiveHaus.DataManager, Apac.Ecop.DataManager, Apac.Control.MockController2, Apac.Dlp.Control.DlpIo20Controller, and Apac.Dallas.OneWire.Control.OneWireController.
|
inlineprotectedvirtual |
Call chain for state changed notification.
previousState | The state from which the controller just changed. |
newState | The state to which the controller just changed. |
|
inlineprotectedvirtual |
Call chain for state changing notification.
currentState | The state from which the controller will transition. |
newState | The state to which the controller will transition. |
|
protectedpure virtual |
Called to stop the supervisable component.
Implemented in Apac.TcTec.Top16.Control.Top16DIOController, Apac.PassiveHaus.DataManager, Apac.Ecop.DataManager, Apac.Reporting.ThreadedReportingEngine, Apac.Reporting.GraphGenerator, Apac.EventManagement.EventEngine, Apac.Data.ThreadedPostProcessingEngine, Apac.Data.ThreadedMeasurementStore, Apac.Data.ThreadedCompilationEngine, Apac.Control.UdpNodeController, Apac.Control.ThreadedPollingController, Apac.Control.SerialModbusController, Apac.Control.MockController, and Apac.Management.OutboundPublicIpReport.
|
inlineprotected |
Allows subclasses to reset the last exception to an empty state.
|
inline |
Resolves any references this component might hold to other supervisable components.
Implements Apac.ISupervisable.
|
inlineprotected |
Changes the state of the controller to the new state.
newState | The new state for the controller. |
This method will not notify or make changes if the new state is not different from the current state.
|
inline |
Starts the component.
Implements Apac.ISupervisable.
|
inline |
Signals that the component will be starting on its own thread. This implementation uses this opportunity to CheckReferencesStates, change state to Starting, and signal subclasses with OnStarting.
Implements Apac.ISupervisable.
|
inline |
Stops the component.
Implements Apac.ISupervisable.
|
getprotected |
The configuration object used by the supervisable component.
|
get |
Gets the current overall state of the controller.
|
get |
Gets the description of the controller, as specified by configuration.
|
get |
Walks the tree to find the top level supervisor.
|
get |
Gets a value indicating whether this instance is running.
true
if this instance is running; otherwise, false
.
|
get |
Gets the last exception encountered within the controller.
|
get |
The time of the last heartbeat.
|
getprotected |
Lazy-initialized logger for subclass usage.
|
get |
Gets the name of the controller, as specified by configuration. Note that if the name is not specified, then an index will be used.
|
get |
Gets the previous overall state of the controller.
|
get |
Indicates if the supervisable component should be executed on a higher thread priority.
|
get |
Gets the time this supervisable component was started.
|
get |
Gets the time this supervisable component was stopped.
|
getprotected |
Gets the supervisor.
|
get |
Gets the amount of time this supervisable component has been running, or did run before it was stopped (if IsRunning is false
).
SupervisableErroredHandler Apac.Supervisable.SupervisableErrored |
Notifies listeners that an error occured within the controller.
SupervisableHeartbeatHandler Apac.Supervisable.SupervisableHeartbeat |
Notifies listeners that the component is still active.
SupervisableStateChangedHandler Apac.Supervisable.SupervisableStateChanged |
Notifies listeners that the state has changed.
SupervisableStateChangingHandler Apac.Supervisable.SupervisableStateChanging |
Notifies listeners that the state is about to change.