AP&C API Reference
|
Provides the basis for supervisable components to utilize the licensing infrastructure. It contains a 'safety' feature that will release the license when the object is Disposed, but this is not fool-proof. Subclasses should ensure that ReleaseLicense() is called as appropriate (most likely during Supervisable.OnStop(). More...
Public Member Functions | |
bool | IsLicensed (LicensedFeatures feature) |
Checks to see if an individual feature is licensed, based on the stored response. More... | |
void | Dispose () |
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. More... | |
![]() | |
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 | |
AcquisitionResponse | CheckLicense () |
Checks the license. More... | |
ReleaseResponse | ReleaseLicense () |
Releases the license. More... | |
virtual void | Dispose (bool cleanUpManagedObjects) |
Releases unmanaged and - optionally - managed resources. More... | |
![]() | |
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 | |
abstract LicensedFeatures | Features [get] |
Gets the licensed features used by this component. See the LicensedFeatures flags enumeration. More... | |
AcquisitionResponse | LicenseResponse [get] |
Gets the license response previously obtained with CheckLicense(). More... | |
![]() | |
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... | |
Additional Inherited Members | |
![]() | |
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... | |
Provides the basis for supervisable components to utilize the licensing infrastructure. It contains a 'safety' feature that will release the license when the object is Disposed, but this is not fool-proof. Subclasses should ensure that ReleaseLicense() is called as appropriate (most likely during Supervisable.OnStop().
|
inlineprotected |
Checks the license.
|
inline |
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
|
inlineprotectedvirtual |
Releases unmanaged and - optionally - managed resources.
cleanUpManagedObjects | true to release both managed and unmanaged resources; false to release only unmanaged resources. |
|
inline |
Checks to see if an individual feature is licensed, based on the stored response.
feature |
true
if the feature is licensed, false
if not.
|
inlineprotected |
Releases the license.
|
get |
Gets the licensed features used by this component. See the LicensedFeatures flags enumeration.
The features.
|
get |
Gets the license response previously obtained with CheckLicense().
The license response.