AP&C API Reference
|
Public Member Functions | |
ThreadedReportingEngine () | |
Initializes a new instance of the ThreadedReportingEngine<ValueType> class. More... | |
ThreadedReportingEngine (IMeasurementStore dataStore, ISettingsStore settingStore, IDataCompiler compiler) | |
Initializes a new instance of the ThreadedReportingEngine<ValueType> class. More... | |
void | GenerateWeeklyReports (DateTime date) |
Should completely re/generate the weekly reports for the week containing the given date. More... | |
void | GenerateMonthlyReports (DateTime date) |
Should completely re/generate the monthly reports for the month containing the given date. More... | |
void | AppendToWeeklyReports (DateTime date) |
Should append data for the given date to the weekly report. More... | |
void | AppendToMonthlyReports (DateTime date) |
Should append data for the given date to the monthly report. More... | |
void | Dispose () |
![]() | |
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 | |
override void | OnInitialize (Apac.Configuration.SupervisableConfig config) |
Called when the supervisable component is intitialized. More... | |
override void | OnResolveReferences () |
Called when the supervisable component needs to resolve its runtime references to other components. More... | |
override void | OnCheckReferencesStates () |
Called when the supervisable component needs to check the state of its runtime reference components. More... | |
override void | OnStart () |
Called to start the supervisable component. More... | |
override void | OnStop () |
Called to stop the supervisable component. More... | |
abstract void | OnAppendToWeeklyReports (DateTime date) |
Signals to append data for the given date to the weekly report. More... | |
abstract void | OnAppendToMonthlyReports (DateTime date) |
Signals to append data for the given date to the monthly report. More... | |
abstract void | OnGenerateWeeklyReports (DateTime date) |
Signals a complete re/generate of the weekly reports for the month containing the given date. More... | |
abstract void | OnGenerateMonthlyReports (DateTime date) |
Signals a complete re/generate of the monthly reports for the month containing the given date. More... | |
virtual void | Dispose (bool disposing) |
![]() | |
abstract void | OnInitialize (Apac.Configuration.SupervisableConfig config) |
Called when the supervisable component is intitialized. 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... | |
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... | |
Protected Attributes | |
volatile Configuration.ReportGeneratorConfig | _config = null |
Properties | |
IMeasurementStore | Store [get] |
Provide subclasses with access to the store. More... | |
ISettingsStore | SettingStore [get] |
Provide subclasses with access to the settings. 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... | |
|
inline |
Initializes a new instance of the ThreadedReportingEngine<ValueType> class.
|
inline |
Initializes a new instance of the ThreadedReportingEngine<ValueType> class.
dataStore | The data store. |
settingStore | The setting store. |
compiler | The compiler. |
|
inline |
Should append data for the given date to the monthly report.
date |
Implements Apac.Reporting.IReportGenerator.
|
inline |
Should append data for the given date to the weekly report.
date | The date to be appended to the report. |
Implements Apac.Reporting.IReportGenerator.
|
inline |
Should completely re/generate the monthly reports for the month containing the given date.
date | The date used to determine which monthly report to generate. |
Implements Apac.Reporting.IReportGenerator.
|
inline |
Should completely re/generate the weekly reports for the week containing the given date.
date | The date used to determine which weekly report to generate. |
Implements Apac.Reporting.IReportGenerator.
|
protectedpure virtual |
Signals to append data for the given date to the monthly report.
date | The date for which the monthly report should be updated. |
Implemented in Apac.Ecop.Reporting.JsonMeasurementReportingEngine, and Apac.Reporting.XmlCktUsageReportGenerator.
|
protectedpure virtual |
Signals to append data for the given date to the weekly report.
date | The date for which the weekly report should be updated. |
Implemented in Apac.Ecop.Reporting.JsonMeasurementReportingEngine, and Apac.Reporting.XmlCktUsageReportGenerator.
|
inlineprotectedvirtual |
Called when the supervisable component needs to check the state of its runtime reference components.
InitializationException |
Implements Apac.Supervisable.
|
protectedpure virtual |
Signals a complete re/generate of the monthly reports for the month containing the given date.
date | The date for which the report should be re/generated. |
Implemented in Apac.Ecop.Reporting.JsonMeasurementReportingEngine, and Apac.Reporting.XmlCktUsageReportGenerator.
|
protectedpure virtual |
Signals a complete re/generate of the weekly reports for the month containing the given date.
date | The date for which the report should be re/generated. |
Implemented in Apac.Ecop.Reporting.JsonMeasurementReportingEngine, and Apac.Reporting.XmlCktUsageReportGenerator.
|
inlineprotected |
Called when the supervisable component is intitialized.
config | The configuration to use for initialization. |
InitializationException |
|
inlineprotectedvirtual |
Called when the supervisable component needs to resolve its runtime references to other components.
InitializationException |
Implements Apac.Supervisable.
|
inlineprotectedvirtual |
Called to start the supervisable component.
Implements Apac.Supervisable.
|
inlineprotectedvirtual |
Called to stop the supervisable component.
Implements Apac.Supervisable.
|
getprotected |
Provide subclasses with access to the settings.
|
getprotected |
Provide subclasses with access to the store.