Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
Do.cs
1
using
System;
2
using
System.Threading.Tasks;
3
using
System.Xml;
4
using
Waher.Content.Xml
;
5
using
Waher.Persistence.Attributes
;
6
using
Waher.Service.IoTBroker.StateMachines.Model.Attributes
;
7
8
namespace
Waher.Service.IoTBroker.StateMachines.Model.Actions.Conditional
9
{
13
public
class
Do
:
ActionContainer
14
{
15
private
ExpressionAttribute
@
while
;
16
20
public
Do
()
21
: base()
22
{
23
}
24
28
[DefaultValueNull]
29
public
string
While
30
{
31
get
=> this.@
while
?.Expression;
32
set
=> this.@
while
=
new
ExpressionAttribute
(value,
false
,
this
);
33
}
34
38
public
override
string
LocalName
=> nameof(
Do
);
39
44
public
override
IStateMachineNode
Create
()
45
{
46
return
new
Do
();
47
}
48
53
public
override
Task
Parse
(XmlElement Xml)
54
{
55
this.@
while
=
new
ExpressionAttribute
(
XML
.
Attribute
(Xml,
"while"
),
true
,
this
);
56
57
return
base.Parse(Xml);
58
}
59
64
public
override
async Task
Execute
(
EvaluationArguments
Arguments)
65
{
66
while
(
true
)
67
{
68
await base.Execute(Arguments);
69
70
if
(!(await this.@
while
.Evaluate(Arguments.
Variables
) is
bool
Result))
71
throw
new
Exception(
"Conditions must return boolean values."
);
72
73
if
(!Result)
74
break
;
75
}
76
}
77
}
78
}
Waher.Content.Xml.XML
Helps with common XML-related tasks.
Definition:
XML.cs:19
Waher.Content.Xml.XML.Attribute
static string Attribute(XmlElement E, string Name)
Gets the value of an XML attribute.
Definition:
XML.cs:914
Waher.Service.IoTBroker.StateMachines.Model.Actions.ActionContainer
Abstract base class for action nodes that contain other action nodes.
Definition:
ActionContainer.cs:9
Waher.Service.IoTBroker.StateMachines.Model.Actions.Conditional.Do
Executes a do-loop.
Definition:
Do.cs:14
Waher.Service.IoTBroker.StateMachines.Model.Actions.Conditional.Do.Execute
override async Task Execute(EvaluationArguments Arguments)
Evaluates the action node
Definition:
Do.cs:64
Waher.Service.IoTBroker.StateMachines.Model.Actions.Conditional.Do.LocalName
override string LocalName
Local name
Definition:
Do.cs:38
Waher.Service.IoTBroker.StateMachines.Model.Actions.Conditional.Do.Parse
override Task Parse(XmlElement Xml)
Parses the State-machine node.
Definition:
Do.cs:53
Waher.Service.IoTBroker.StateMachines.Model.Actions.Conditional.Do.Create
override IStateMachineNode Create()
Creates a new node of the corresponding type.
Definition:
Do.cs:44
Waher.Service.IoTBroker.StateMachines.Model.Actions.Conditional.Do.Do
Do()
Executes a do-loop.
Definition:
Do.cs:20
Waher.Service.IoTBroker.StateMachines.Model.Actions.Conditional.While
Executes a while-loop.
Definition:
While.cs:14
Waher.Service.IoTBroker.StateMachines.Model.Attributes.ExpressionAttribute
Attribute containing a script expression.
Definition:
ExpressionAttribute.cs:14
Waher.Service.IoTBroker.StateMachines.Model.EvaluationArguments
Contains information required for evaluating script in a state-machine.
Definition:
EvaluationArguments.cs:15
Waher.Service.IoTBroker.StateMachines.Model.EvaluationArguments.Variables
Variables Variables
Current set of variables.
Definition:
EvaluationArguments.cs:47
Waher.Service.IoTBroker.StateMachines.Model.IStateMachineNode
Interface for State-Machine nodes
Definition:
IStateMachineNode.cs:11
Waher.Content.Xml
Definition:
XmlCodec.cs:11
Waher.Persistence.Attributes
Definition:
ArchivingTimeAttribute.cs:4
Waher.Service.IoTBroker.StateMachines.Model.Actions.Conditional
Definition:
Case.cs:8
Waher.Service.IoTBroker.StateMachines.Model.Attributes
Definition:
ExpressionAttribute.cs:9
Waher.Service.IoTBroker
StateMachines
Model
Actions
Conditional
Do.cs
Generated by
1.9.5