Skip to main content

IVariableManager

Manages variables across actors, including persistence, loading, and change tracking.

Namespace: ControlBee.Interfaces

Extends: INotifyPropertyChanged

Properties

NameTypeDescription
LocalNamestringThe current local (recipe) name.
LocalNamesstring[]All available local names.
ModifiedboolWhether any variable has unsaved changes.

Methods

Add

Registers a variable with the manager.

void Add(IVariable variable);

Save

Saves all variables to the database.

void Save(string? localName = null);

Parameters:

  • localName — Optional local name to save under. Uses current if not specified.

Load

Loads all variables from the database.

void Load(string? localName = null);

Delete

Deletes all variables for the given local name.

void Delete(string localName);

ReadVariable<T>

Reads a variable value by location.

T ReadVariable<T>(string localName, string actorName, string itemPath) where T : new();

WriteVariable

Writes a variable value by location.

void WriteVariable(string localName, string actorName, string itemPath, string value);
void WriteVariable<T>(string localName, string actorName, string itemPath, T value) where T : new();
void WriteVariable(Type variableType, string localName, string actorName, string itemPath, object value);

ReadVariableChanges

Reads the history of variable changes.

DataTable ReadVariableChanges(QueryOptions? options = null);

SaveTemporaryVariables

Saves variables that have been temporarily modified.

void SaveTemporaryVariables();

DiscardChanges

Discards all unsaved variable changes.

void DiscardChanges();

Reload

Reloads all variables from the database.

void Reload();

RenameLocalName

Renames a local (recipe) name.

void RenameLocalName(string sourceLocalName, string targetLocalName);

Events

LoadCompleted

Raised when loading is complete.

event EventHandler<string>? LoadCompleted;

See Also