Interface IActivityMonitorImpl
Defines required aspects that an actual monitor implementation must support.
Inherited Members
Namespace: CK.Core.Impl
Assembly: CK.ActivityMonitor.dll
Syntax
public interface IActivityMonitorImpl : IActivityMonitor, IUniqueId
Properties
| Improve this Doc View SourceCurrentGroup
Gets the currently opened group. Null when no group is currently opened.
Declaration
IActivityLogGroup CurrentGroup { get; }
Property Value
| Type | Description |
|---|---|
| IActivityLogGroup |
Methods
| Improve this Doc View SourceInitializeTopicAndAutoTags(String, CKTrait, String, Int32)
Enables IActivityMonitorBoundClient clients to initialize Topic and AutoTag typically from inside their SetMonitor(IActivityMonitorImpl, Boolean) method or any other methods provided that a reentrant and concurrent lock has been obtained (otherwise an InvalidOperationException is thrown).
Declaration
void InitializeTopicAndAutoTags(string newTopic, CKTrait newTags, string fileName = null, int lineNumber = 0)
Parameters
| Type | Name | Description |
|---|---|---|
| String | newTopic | New topic to set. When null, it is ignored. |
| CK.Core.CKTrait | newTags | new tags to set. When null, it is ignored. |
| String | fileName | Source file name of the caller. Do not set it: the attribute will do the job. |
| Int32 | lineNumber | Line number in the source file. Do not set it: the attribute will do the job. |
OnClientMinimalFilterChanged(LogFilter, LogFilter)
Enables a IActivityMonitorBoundClient to warn its Monitor whenever its MinimalFilter changed. This can be called from any IActivityMonitorBoundClient methods (when a ReentrancyAndConcurrencyLock() has been acquired) or not, but NOT concurrently: SignalChange() must be used to signal a change on any thread at any time.
Declaration
void OnClientMinimalFilterChanged(LogFilter oldLevel, LogFilter newLevel)
Parameters
| Type | Name | Description |
|---|---|---|
| LogFilter | oldLevel | The previous minimal level that the client expected. |
| LogFilter | newLevel | The new minimal level that the client expects. |
ReentrancyAndConcurrencyLock()
Gets a disposable object that checks for reentrant and concurrent calls.
Declaration
IDisposable ReentrancyAndConcurrencyLock()
Returns
| Type | Description |
|---|---|
| IDisposable | A disposable object (that must be disposed). |
SignalChange()
Signals the monitor that one IsDead is true or a MinimalFilter has changed: the ActualFilter is marked as needing a re computation in a thread-safe manner. This can be called by bound clients on any thread at any time as opposed to OnClientMinimalFilterChanged(LogFilter, LogFilter) that can only be called non-concurrently (typically from inside client methods).
Declaration
void SignalChange()