AP&C API Reference
Public Member Functions | Properties | Events | List of all members
Apac.ISupervisable Interface Reference

Defines the contract supported by all supervisable components, which include supervisors themselves. More...

Inheritance diagram for Apac.ISupervisable:
Apac.Supervisable Apac.Supervisors.ISupervisor Apac.Control.MockController Apac.Data.ThreadedCompilationEngine Apac.Data.ThreadedMeasurementStore Apac.Data.ThreadedPostProcessingEngine Apac.EventManagement.EventEngine Apac.LicensedSupervisable Apac.Management.OutboundPublicIpReport Apac.Reporting.GraphGenerator Apac.Reporting.ThreadedReportingEngine Apac.Supervisors.Supervisor

Public Member Functions

void Initialize (Apac.Configuration.SupervisableConfig config, Supervisors.ISupervisor exec)
 Initializes the component with the given SupervisableConfig (or derivative) and ISupervisor. 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 Start() will soon be called on the component. This can be used as an opportunity to perform preparatory activity, like checking the state of referenced components and similar actions. More...
 
void Start ()
 Starts the component. More...
 
void Stop ()
 Stops the component. More...
 

Properties

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...
 

Detailed Description

Defines the contract supported by all supervisable components, which include supervisors themselves.

Member Function Documentation

◆ CheckReferencesStates()

void Apac.ISupervisable.CheckReferencesStates ( )

Checks the states of referenced components to be sure they are satisfactory for this component's operation.

Implemented in Apac.Supervisors.Supervisor, and Apac.Supervisable.

◆ Initialize()

void Apac.ISupervisable.Initialize ( Apac.Configuration.SupervisableConfig  config,
Supervisors.ISupervisor  exec 
)

Initializes the component with the given SupervisableConfig (or derivative) and ISupervisor.

Parameters
configThe configuration used to control the behavior of the component.
execThe supervisor controlling the component.

◆ ResolveReferences()

void Apac.ISupervisable.ResolveReferences ( )

Resolves any references this component might hold to other supervisable components.

Implemented in Apac.Supervisors.Supervisor, and Apac.Supervisable.

◆ Start()

void Apac.ISupervisable.Start ( )

Starts the component.

Implemented in Apac.Supervisors.Supervisor, and Apac.Supervisable.

◆ Starting()

void Apac.ISupervisable.Starting ( )

Signals that Start() will soon be called on the component. This can be used as an opportunity to perform preparatory activity, like checking the state of referenced components and similar actions.

Implemented in Apac.Supervisors.Supervisor, and Apac.Supervisable.

◆ Stop()

void Apac.ISupervisable.Stop ( )

Stops the component.

Implemented in Apac.Supervisors.Supervisor, and Apac.Supervisable.

Property Documentation

◆ CurrentState

SupervisableState Apac.ISupervisable.CurrentState
get

Gets the current SupervisableState of this component.

◆ Description

string Apac.ISupervisable.Description
get

The description of the component, for human consumption.

◆ ExecutiveSupervisor

Supervisors.ISupervisor Apac.ISupervisable.ExecutiveSupervisor
get

Walks the tree to find the top level supervisor.

◆ IsRunning

bool Apac.ISupervisable.IsRunning
get

Indicates that the component is running.

◆ LastException

Exception Apac.ISupervisable.LastException
get

Gets the last exception to have occurred and been trapped by this component.

◆ Name

string Apac.ISupervisable.Name
get

The name of the component, for unique identification purposes.

◆ PreviousState

SupervisableState Apac.ISupervisable.PreviousState
get

Gets the previous SupervisableState of this component.

◆ Prioritized

bool Apac.ISupervisable.Prioritized
get

Indicates if the component should be high priority.

◆ StartTime

DateTime Apac.ISupervisable.StartTime
get

Gets the time this supervisable component was started.

◆ StopTime

DateTime Apac.ISupervisable.StopTime
get

Gets the time this supervisable component was stopped.

◆ UpTime

TimeSpan Apac.ISupervisable.UpTime
get

Gets the amount of time this supervisable component has been running, or did run before it was stopped (if IsRunning is false).

Event Documentation

◆ SupervisableErrored

SupervisableErroredHandler Apac.ISupervisable.SupervisableErrored

Notifies listeners that an error occured within the controller.

◆ SupervisableHeartbeat

SupervisableHeartbeatHandler Apac.ISupervisable.SupervisableHeartbeat

Notifies listeners that the component is still active.

◆ SupervisableStateChanged

SupervisableStateChangedHandler Apac.ISupervisable.SupervisableStateChanged

Notifies listeners that the state has changed.

◆ SupervisableStateChanging

SupervisableStateChangingHandler Apac.ISupervisable.SupervisableStateChanging

Notifies listeners that the state is about to change.


The documentation for this interface was generated from the following file: