1using System.Collections.Generic;
16 private readonly SortedDictionary<string, object> updatedVariables =
new SortedDictionary<string, object>();
36 this.StateUpdated =
false;
37 this.VariablesUpdated =
false;
38 this.AuthorizationsUpdated =
false;
112 this.CurrentState.State = StateId;
113 this.StateUpdated =
true;
115 if (
string.IsNullOrEmpty(StateId))
128 lock (this.updatedVariables)
130 this.updatedVariables[Name] = Value;
131 this.VariablesUpdated =
true;
145 this.AuthorizationsUpdated =
true;
155 this.AuthorizationsUpdated =
true;
164 KeyValuePair<string, object>[] Result;
166 lock (this.updatedVariables)
168 Result =
new KeyValuePair<string, object>[this.updatedVariables.Count];
169 this.updatedVariables.CopyTo(Result, 0);
171 this.updatedVariables.Clear();
172 this.VariablesUpdated =
false;
183 lock (this.updatedVariables)
185 this.updatedVariables.Clear();
186 this.VariablesUpdated =
false;
Represents a case-insensitive string.
Class that keeps track of events and timing.
void Idle()
Main Thread goes idle.
void NewState(string State)
Main Thread changes state.
Manages eDaler on accounts connected to the broker.
Provisioning and registry service component.
Class representing the current state of a state machine.
void SetVariable(string Name, object Value)
Sets a variable
bool AddSource(CaseInsensitiveString Name)
Adds a source
bool RemoveSource(CaseInsensitiveString Name)
Removes a source
Contains information required for evaluating script in a state-machine.
StateMachine Machine
Reference to state-machine definition.
EvaluationArguments(Variables Variables, StateMachine Machine, Token Token, CurrentState CurrentState, LegalComponent Legal, EDalerComponent EDaler, Profiler Profiler)
Contains information required for evaluating script in a state-machine.
CurrentState CurrentState
Current persisted state.
void AddSource(CaseInsensitiveString Source)
Adds an authorization.
EDalerComponent EDaler
eDaler component.
bool AuthorizationsUpdated
If authorizations in the state machine have been updated.
KeyValuePair< string, object >[] PopUpdatedVariables()
Gets an array of updated variables since last call.
void UpdateVariable(string Name, object Value)
Updates a variable.
void RemoveSource(CaseInsensitiveString Source)
Removes an authorization.
bool StateUpdated
If the state machine has changed state during processing.
void ClearUpdatedVariables()
Clears the variable update flags.
bool VariablesUpdated
If variables in the state machine have been updated.
LegalComponent Legal
Legal component
Profiler Profiler
State-Machine profiler.
Token Token
Reference to related token.
Variables Variables
Current set of variables.
void SetState(string StateId)
Sets a new state.
Class representing a state machine.