PUBLIC METHOD DOCUMENTATION
TIMER ENTRIES COLLECTION INFO & MANAGEMENT
TimerEntryCount()
Returns the number of timer entries.
ITimerClientByObjPtr(p_ObjPtr As Long) As ITimerClient
Retrieves an ITimerClient instance by its object pointer.
UniqueITimerClientInstances() As ITimerClient()
Returns an array of unique ITimerClient instances (by ObjPtr) from the collection of timer entries.
TimerEntryByIndex(p_ZeroBasedIndex As Long) As ITimerClient
Returns an ITimerClient instance by index in the collection of timer entries.
TimerEntryIsPausedByIndex(p_ZeroBasedIndex As Long) As Boolean
Returns whether a timer entry is paused at the specified index.
TimerEntryIsPausedByIndex(p_ZeroBasedIndex As Long, p_IsPaused As Boolean)
Sets the paused/unpaused state of a timer entry by its index.
TimerEntryTagByIndex(p_ZeroBasedIndex As Long) As String
Returns the tag of a timer entry at the specified index.
TimerEntryIntervalMsByIndex(p_ZeroBasedIndex As Long) As Long
Returns the timer interval (in milliseconds) of a timer entry at the specified index.
TimerEntryLastFiredMsAgoByIndex(p_ZeroBasedIndex As Long) As Long
Returns the time elapsed (in milliseconds) since the last interval for a timer entry at the specified index.
Tags() As String()
Returns a sorted string array of all unique tags across timer entries. Mostly useful for UI reporting/debugging.
TagsByInstance(po_TimerClient As ITimerClient) As String()
Returns a sorted string array of all tags assigned to a specific ITimerClient instance. Mostly useful for UI reporting/debugging.
TagsByTypeOf(po_TimerClient As ITimerClient) As String()
Returns a sorted string array of unique tags assigned to multiple instances of a specific ITimerClient class. Mostly useful for UI reporting/debugging.
TIMER ENTRY MANAGEMENT
AddTimerEntry(po_TimerClient As ITimerClient, p_Tag As String, p_TimerIntervalMs As Long)
Adds a timer client to the pool by tag. If the combination of Instance & Tag exists, it updates the interval.
RemoveTimerEntries()
Removes all timer entries, resetting the class.
RemoveTimerEntriesByInstance(po_TimerClient As ITimerClient)
Removes all timer entries matching the ObjPtr of the given ITimerClient instance.
RemoveTimerEntriesByTypeOf(po_TimerClient As ITimerClient)
Removes all timer entries matching the ITimerClient_IsTypeOfMe result of the given instance.
RemoveTimerEntriesByTypeName(po_TimerClient As ITimerClient)
Removes all timer entries matching the TypeName() of the given instance.
RemoveTimerEntriesByTypeOfAndTag(po_TimerClient As ITimerClient, p_Tag As String)
Removes timer entries matching the ITimerClient_IsTypeOfMe result and the given tag.
RemoveTimerEntriesByTypeNameAndTag(po_TimerClient As ITimerClient, p_Tag As String)
Removes timer entries matching the TypeName() result and the given tag.
RemoveTimerEntriesByInstanceAndTag(po_TimerClient As ITimerClient, p_Tag As String)
Removes timer entries matching the ObjPtr of the given instance and the given tag.
RemoveTimerEntriesByTag(p_Tag As String)
Removes all timer entries matching the given tag, regardless of client type.
RemoveTimerEntryByIndex(p_ZeroBasedIndex As Long)
Removes a timer entry by index.
PAUSE STATE INFORMATION
IsPausedGlobally() As Boolean
Returns whether the global pause state is enabled.
IsPausedByInstance(po_TimerClient As ITimerClient) As Boolean
Returns a count of paused timer entries matching the ObjPtr of the given ITimerClient.
IsPausedByTypeOf(po_TimerClient As ITimerClient) As Boolean
Returns a count of paused timer entries matching the ITimerClient_IsTypeOfMe result.
IsPausedByTypeName(po_TimerClient As ITimerClient) As Boolean
Returns a count of paused timer entries matching the TypeName() result.
IsPausedByInstanceAndTag(po_TimerClient As ITimerClient, p_Tag As String) As Boolean
Returns a count of paused timer entries matching the ObjPtr of the given instance and the given tag.
IsPausedByTypeOfAndTag(po_TimerClient As ITimerClient, p_Tag As String) As Boolean
Returns a count of paused timer entries matching the ITimerClient_IsTypeOfMe result and the given tag.
IsPausedByTypeNameAndTag(po_TimerClient As ITimerClient, p_Tag As String) As Boolean
Returns a count of paused timer entries matching the TypeName() result and the given tag.
IsPausedByTag(p_Tag As String) As Boolean
Returns a count of paused timer entries matching the given tag.
PAUSE/UNPAUSE STATE MANAGEMENT
PauseGlobally()
Enables the global pause state.
PauseTimerEntriesByInstance(po_TimerClient As ITimerClient)
Pauses all timer entries matching the ObjPtr of the given instance.
PauseTimerEntriesByTypeOf(po_TimerClient As ITimerClient)
Pauses all timer entries matching the ITimerClient_IsTypeOfMe result.
PauseTimerEntriesByTypeName(po_TimerClient As ITimerClient)
Pauses all timer entries matching the TypeName() result.
PauseTimerEntriesByInstanceAndTag(po_TimerClient As ITimerClient, p_Tag As String)
Pauses all timer entries matching the ObjPtr of the given instance and the given tag.
PauseTimerEntriesByTypeOfAndTag(po_TimerClient As ITimerClient, p_Tag As String)
Pauses all timer entries matching the ITimerClient_IsTypeOfMe result and the given tag.
PauseTimerEntriesByTypeNameAndTag(po_TimerClient As ITimerClient, p_Tag As String)
Pauses all timer entries matching the TypeName() result and the given tag.
PauseTimerEntriesByTag(p_Tag As String)
Pauses all timer entries matching the given tag.
UnpauseGlobally(Optional p_PausedTimerEntryHandling As e_PausedTimerEntriesHandling = LeaveAlone)
Unpauses all timer entries matching the given handling mode.
The optional PausedTimerEntriesHandling parameter controls how Timer Entries that were paused using non-Global Pause method are treated on Global Unpause. The default value is LeaveAlone which will leave all Timer Entries in the pause state that they were in when the Global Pause was applied. Pass UnpauseAll to unpause all Timer Entries, even if they were previously paused using one of the non-Global Pause methods.
UnpauseTimerEntriesByInstance(po_TimerClient As ITimerClient)
Unpauses all timer entries matching the ObjPtr of the given instance.
UnpauseTimerEntriesByTypeOf(po_TimerClient As ITimerClient)
Unpauses all timer entries matching the ITimerClient_IsTypeOfMe result.
UnpauseTimerEntriesByTypeName(po_TimerClient As ITimerClient)
Unpauses all timer entries matching the TypeName() result.
UnpauseTimerEntriesByInstanceAndTag(po_TimerClient As ITimerClient, p_Tag As String)
Unpauses all timer entries matching the ObjPtr of the given instance and the given tag.
UnpauseTimerEntriesByTypeOfAndTag(po_TimerClient As ITimerClient, p_Tag As String)
Unpauses all timer entries matching the ITimerClient_IsTypeOfMe result and the given tag.
UnpauseTimerEntriesByTypeNameAndTag(po_TimerClient As ITimerClient, p_Tag As String)
Unpauses all timer entries matching the TypeName() result and the given tag.
UnpauseTimerEntriesByTag(p_Tag As String)
Unpauses all timer entries matching the given tag.