1.7 KiB
1.7 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | ||
|---|---|---|---|---|---|---|
|
2026-04-17T16:07:35.693278+00:00 | zai-org/GLM-5-FP8 | 1 | e6aa8724b93b00bb |
BusyIndicatorManager
Purpose
This module provides a thread-safe singleton manager for coordinating busy indicator UI state across the application. It supports multiple concurrent busy operations tracked by integer IDs, allowing nested or overlapping operations to display appropriate messages. The manager implements INotifyPropertyChanged via Prism's BindableBase to support XAML data binding.
Public Interface
BusyIndicatorManager : BindableBase (Singleton)
Properties:
static BusyIndicatorManager Instance { get; }— Thread-safe singleton accessor using double-checked locking pattern withSyncRoot.bool IsBusy { get; }— Returnstruewhen one or more busy operations are active. Setter is private; managed viaShowBusy/CloseBusy.string Message { get; }— Returns the message of the most recently added busy operation. Setter is private; managed viaShowBusy/CloseBusy.
Methods:
void ShowBusy(int id, string busyMessage)— Registers or updates a busy operation with the givenid. SetsIsBusy = trueand updatesMessagetobusyMessage. If theidalready exists, its message is updated.void CloseBusy(int id)— Removes the busy operation with the givenid. If no operations remain, setsIsBusy = falseandMessage = string.Empty. If operations remain, keepsIsBusy = trueand setsMessageto the last entry's value (viabusyParameters.Last().Value).