Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
CompoundQuery.cs
2using System.Threading.Tasks;
4
6{
10 public class CompoundQuery : Query
11 {
12 private readonly IEnumerable<Query> queries;
13
23 public CompoundQuery(string CommandId, string QueryId, object State, Language Language,
24 IEnumerable<Query> Queries, RequestOrigin Origin)
25 : base(CommandId, QueryId, State, Language, null, Origin)
26 {
27 this.queries = Queries;
28
29 foreach (Query Query in this.queries)
30 {
31 Query.OnAborted += this.Query_OnAborted;
32 Query.OnBeginSection += this.Query_OnBeginSection;
33 Query.OnDone += this.Query_OnDone;
34 Query.OnEndSection += this.Query_OnEndSection;
35 Query.OnMessage += this.Query_OnMessage;
36 Query.OnNewObject += this.Query_OnNewObject;
37 Query.OnNewRecords += this.Query_OnNewRecords;
38 Query.OnNewTable += this.Query_OnNewTable;
39 Query.OnStarted += this.Query_OnStarted;
40 Query.OnStatus += this.Query_OnStatus;
41 Query.OnTableDone += this.Query_OnTableDone;
42 Query.OnTitle += this.Query_OnTitle;
43 }
44 }
45
46 private Task Query_OnTitle(object Sender, QueryTitleEventArgs e)
47 {
48 return this.SetTitle(e);
49 }
50
51 private Task Query_OnTableDone(object Sender, QueryTableEventArgs e)
52 {
53 return this.TableDone(e);
54 }
55
56 private Task Query_OnStatus(object Sender, QueryStatusEventArgs e)
57 {
58 return this.SetStatus(e);
59 }
60
61 private Task Query_OnStarted(object Sender, QueryEventArgs e)
62 {
63 return this.Start(e);
64 }
65
66 private Task Query_OnNewTable(object Sender, QueryNewTableEventArgs e)
67 {
68 return this.NewTable(e);
69 }
70
71 private Task Query_OnNewRecords(object Sender, QueryNewRecordsEventArgs e)
72 {
73 return this.NewRecords(e);
74 }
75
76 private Task Query_OnNewObject(object Sender, QueryObjectEventArgs e)
77 {
78 return this.NewObject(e);
79 }
80
81 private Task Query_OnMessage(object Sender, QueryMessageEventArgs e)
82 {
83 return this.LogMessage(e);
84 }
85
86 private Task Query_OnEndSection(object Sender, QueryEventArgs e)
87 {
88 return this.EndSection(e);
89 }
90
91 private Task Query_OnDone(object Sender, QueryEventArgs e)
92 {
93 return this.Done(e);
94 }
95
96 private Task Query_OnBeginSection(object Sender, QueryTitleEventArgs e)
97 {
98 return this.BeginSection(e);
99 }
100
101 private Task Query_OnAborted(object Sender, QueryEventArgs e)
102 {
103 return this.Abort(e);
104 }
105
109 public IEnumerable<Query> Queries => this.queries;
110
114 public override async Task Abort()
115 {
116 await base.Abort();
117
118 foreach (Query Query in this.queries)
119 await Query.Abort();
120 }
121 }
122}
Contains information about a language.
Definition: Language.cs:17
Class handling the reception of data from a query on multiple nodes.
CompoundQuery(string CommandId, string QueryId, object State, Language Language, IEnumerable< Query > Queries, RequestOrigin Origin)
Class handling the reception of data from a query on multiple nodes.
override async Task Abort()
Aborts the query.
IEnumerable< Query > Queries
Queries
Class handling the reception of data from a query.
Definition: Query.cs:12
Task TableDone(string TableId)
Reports a table as being complete.
Definition: Query.cs:327
Task EndSection()
Ends a section. Each call to BeginSection(string) must be followed by a call to EndSection().
Definition: Query.cs:504
Task NewObject(object Object)
Reports a new object.
Definition: Query.cs:354
virtual async Task Abort()
Aborts the query.
Definition: Query.cs:177
Task Start()
Starts query execution.
Definition: Query.cs:213
Task NewRecords(string TableId, params Record[] Records)
Reports a new set of records in a table.
Definition: Query.cs:300
RequestOrigin Origin
Origin of request to execute the query.
Definition: Query.cs:80
object State
State object.
Definition: Query.cs:65
Task BeginSection(string Header)
Begins a new section. Sections can be nested. Each call to BeginSection(string) must be followed by a...
Definition: Query.cs:483
Task NewTable(string TableId, string TableName, params Column[] Columns)
Defines a new table in the query output.
Definition: Query.cs:272
Task LogMessage(Exception Exception)
Logs an Exception as a query message.
Definition: Query.cs:381
async Task Done()
Query execution completed.
Definition: Query.cs:241
Task SetStatus(string Status)
Sets the current status of the query execution.
Definition: Query.cs:457
Task SetTitle(string Title)
Sets the title of the report.
Definition: Query.cs:430
Event arguments for query title events.
Tokens available in request.
Definition: RequestOrigin.cs:9