1 <generator header_tag="ADMIN_MODULES_ITF">
3 <include file="nel/misc/time_nl.h"/>
5 <namespace name="ADMIN">
7 <!-- PHP interface of the admin service module-->
8 <!-- ############################################################## -->
9 <callback_interface name="CAdminServiceWeb" caller="php">
10 <doc line="This is the interface used by PHP to call methods"/>
11 <doc line="on the Admin service module"/>
13 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
15 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
16 <invoke name="globalCmd" msg="GCMD">
17 <doc line="Send a command to the AS."/>
18 <doc line="This is used to issue global commands like 'as.allStart' or 'as.allStop'."/>
19 <doc line="The result is returned by the return message"/>
20 <doc line="serviceCmdResult."/>
22 <param type="std::string" name="command" php_serial="String" byref="true"/>
25 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
27 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
28 <invoke name="controlCmd" msg="CCMD">
29 <doc line="Send a service related command to the executor "/>
30 <doc line="(not to the controled service)"/>
31 <doc line="The result is returned by the return message"/>
32 <doc line="controlCmdResult."/>
35 <param type="std::string" name="serviceAlias" php_serial="String" byref="true"/>
36 <param type="std::string" name="command" php_serial="String" byref="true"/>
39 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
41 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
42 <invoke name="serviceCmd" msg="SCMD">
43 <doc line="Send a command to a service."/>
44 <doc line="The result is returned by the return message"/>
45 <doc line="serviceCmdResult."/>
47 <param type="std::string" name="serviceAlias" php_serial="String" byref="true"/>
48 <param type="std::string" name="command" php_serial="String" byref="true"/>
51 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
52 <!-- commandResult -->
53 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
54 <return name="commandResult" msg="CMDR">
55 <param type="std::string" name="serviceAlias" php_serial="String" byref="true"/>
56 <param type="std::string" name="result" php_serial="String" byref="true"/>
60 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
61 <!-- getShardOrders -->
62 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
63 <invoke name="getShardOrders" msg="GSO">
64 <doc line="Get the orders of each known shard."/>
65 <doc line="The return value is a vector of string, one entry by shard"/>
67 <return type="std::string" php_serial="String" array="true"/>
71 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
73 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
74 <invoke name="getStates" msg="GS">
75 <doc line="Get the last known state of all services."/>
76 <doc line="The return value is a vector of string, one entry by service"/>
78 <return type="std::string" php_serial="String" array="true"/>
82 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
83 <!-- getHighRezGraphInfo -->
84 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
85 <invoke name="getHighRezGraphInfo" msg="GHRGI">
86 <doc line="Get information about a high rez graph."/>
87 <doc line="The return is a string array containing"/>
88 <doc line="the name of the var, the available sample"/>
89 <doc line="period as two unix date (start dans end)"/>
90 <doc line="and the number of samples available"/>
91 <doc line="If the var is not found, an empty array is returned"/>
94 <return type="std::string" php_serial="String" array="true"/>
96 <param type="std::string" name="varAddr" php_serial="String" byref="true"/>
99 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
100 <!-- getHighRezGraph -->
101 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
102 <invoke name="getHighRezGraph" msg="GHRG">
103 <doc line="Get the data for a high resolution graph."/>
104 <doc line="The return is a string array, each"/>
105 <doc line="string containing 'time:milliOffset:value"/>
106 <doc line="Set endDate to 0 to specify a start date relative"/>
107 <doc line="to the last sample date. In this case, start date"/>
108 <doc line="is interpreted as the number of second before"/>
109 <doc line="the last sample."/>
111 <return type="std::string" php_serial="String" array="true"/>
113 <param type="std::string" name="varAddr" php_serial="String" byref="true"/>
114 <param type="uint32" name="startDate" />
115 <param type="uint32" name="endDate" />
116 <param type="uint32" name="milliStep" />
120 </callback_interface>
122 <!-- ############################################################## -->
123 <!-- Item data for graph -->
124 <!-- ############################################################## -->
125 <class name="TGraphData">
128 <property type="std::string" name="ServiceAlias" byref="true"/>
129 <property type="std::string" name="VarName" byref="true"/>
130 <property type="uint32" name="SamplePeriod"/>
131 <property type="double" name="Value"/>
134 <!-- ############################################################## -->
135 <!-- Group of data for graph -->
136 <!-- ############################################################## -->
137 <class name="TGraphDatas">
140 <property type="uint32" name="CurrentTime"/>
141 <property type="std::vector < TGraphData >" name="Datas" byref="true" serial="Cont"/>
144 <!-- ############################################################## -->
145 <!-- Item data for high rez graph -->
146 <!-- ############################################################## -->
147 <class name="THighRezData">
150 <property type="NLMISC::TTime" name="SampleTick"/>
151 <property type="double" name="Value"/>
153 <!-- ############################################################## -->
154 <!-- Group of data for high rez graph -->
155 <!-- ############################################################## -->
156 <class name="THighRezDatas">
159 <property type="std::string" name="ServiceAlias" byref="true"/>
160 <property type="std::string" name="VarName" byref="true"/>
161 <property type="uint32" name="CurrentTime"/>
163 <property type="std::vector < THighRezData >" name="Datas" byref="true" serial="Cont"/>
166 <!-- ############################################################## -->
167 <!-- Shard orders enum -->
168 <!-- ############################################################## -->
169 <enum name="TShardOrders">
170 <item name="so_autostart_on"/>
171 <item name="so_autostart_off"/>
174 <!-- ############################################################## -->
175 <!-- Service orders enum -->
176 <!-- ############################################################## -->
177 <enum name="TRunningOrders">
178 <item name="ro_deactivated"/>
179 <item name="ro_activated"/>
182 <!-- ############################################################## -->
183 <!-- Service running state enum-->
184 <!-- ############################################################## -->
185 <enum name="TRunningState">
186 <item name="rs_stopped"/>
187 <item name="rs_running"/>
188 <item name="rs_online"/>
189 <!-- <item name="rs_stopped"/>
190 <item name="rs_starting"/>
192 <!-- <item name="rs_connected"/>-->
193 <!-- <item name="rs_online"/>
194 <item name="rs_stopping"/>
197 <!-- ############################################################## -->
198 <!-- Service running tag -->
199 <!-- ############################################################## -->
200 <enum name="TRunningTag">
201 <item name="rt_chain_crashing"/>
202 <item name="rt_locally_started"/>
203 <item name="rt_locally_stopped"/>
204 <item name="rt_globally_stopped"/>
205 <item name="rt_stopped_for_patch"/>
206 <item name="rt_externaly_started"/>
207 <item name="rt_slow_to_stop"/>
208 <item name="rt_slow_to_start"/>
211 <!-- ############################################################## -->
212 <!-- Service status -->
213 <!-- ############################################################## -->
214 <class name="TServiceStatus">
217 <property type="std::string" name="ShardName" byref="true"/>
218 <property type="std::string" name="ServiceLongName" byref="true"/>
219 <property type="std::string" name="ServiceShortName" byref="true"/>
220 <property type="std::string" name="ServiceAliasName" byref="true"/>
221 <property type="TRunningState" name="RunningState" enum="smart"/>
222 <property type="TRunningOrders" name="RunningOrders" enum="smart"/>
223 <property type="std::set < TRunningTag >" name="RunningTags" serial="Cont" enum="smart" byref="true"/>
224 <property type="std::string" name="Status" byref="true"/>
227 <!-- ############################################################## -->
228 <!-- Module interface of the admin service module-->
229 <!-- ############################################################## -->
230 <module_interface name="CAdminService">
232 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
233 <!-- up service update -->
234 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
235 <method name="upServiceUpdate" msg="USU">
236 <doc line="An AES send an update of the list of service up"/>
238 <param type="std::vector < TServiceStatus >" name="serviceStatus" byref="true" serial="Cont"/>
241 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
243 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
244 <method name="graphUpdate" msg="GU">
245 <doc line="An AES send graph data update"/>
247 <param type="TGraphDatas" name="graphDatas" byref="true"/>
250 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
251 <!-- HR graphUpdate -->
252 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
253 <method name="highRezGraphUpdate" msg="HRGU">
254 <doc line="An AES send high rez graph data update"/>
256 <param type="THighRezDatas" name="graphDatas" byref="true"/>
259 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
260 <!-- updateAESStates -->
261 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
262 <!-- <method name="updateAESStates" msg="UAS">
263 <doc line="An AES send it's updated state strings"/>
265 <param type="std::vector < std::string >" name="states" byref="true" serial="Cont"/>
268 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
269 <!-- aes return command result -->
270 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
271 <method name="commandResult" msg="CR">
272 <doc line="AES send back the result of execution of a command"/>
274 <param type="uint32" name="commandId" />
275 <param type="std::string" name="serviceAlias" byref="true"/>
276 <param type="std::string" name="result" byref="true"/>
281 <!-- ############################################################## -->
282 <!-- Module interface of the admin executor service module-->
283 <!-- ############################################################## -->
284 <module_interface name="CAdminExecutorService">
286 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
287 <!-- global state from AS -->
288 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
289 <!-- <method name="setGlobalOrders" msg="SGO" broadcast="true">
290 <doc line="AS send it's global running orders"/>
292 <param type="TRunningOrders" name="globalOrders" enum="smart"/>
295 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
296 <!-- shard state from AS -->
297 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
298 <method name="setShardOrders" msg="SCO" broadcast="true">
299 <doc line="AS send orders for a shard"/>
301 <param type="std::string" name="shardName" byref="true"/>
302 <param type="TShardOrders" name="shardOrders" enum="smart"/>
305 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
306 <!-- shutdown shard from AS -->
307 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
308 <method name="shutdownShard" msg="SDS" broadcast="true">
309 <doc line="AS send a command to shutdown a shard with a delay"/>
311 <param type="std::string" name="shardName" byref="true"/>
312 <param type="uint32" name="delay"/>
316 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
318 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
319 <method name="controlCmd" msg="CC" broadcast="true">
320 <doc line="AS send a control command to this AES"/>
322 <param type="uint32" name="commandId" />
323 <param type="std::string" name="serviceAlias" byref="true"/>
324 <param type="std::string" name="command" byref="true"/>
327 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
328 <!-- service command -->
329 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
330 <method name="serviceCmd" msg="SCMD">
331 <doc line="Send a command to a service."/>
333 <param type="uint32" name="commandId" />
334 <param type="std::string" name="serviceAlias" php_serial="String" byref="true"/>
335 <param type="std::string" name="command" php_serial="String" byref="true"/>
338 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
339 <!-- aes client return command result -->
340 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
341 <method name="commandResult" msg="CR">
342 <doc line="AES client send back the result of execution of a command"/>
344 <param type="uint32" name="commandId" />
345 <param type="std::string" name="serviceAlias" byref="true"/>
346 <param type="std::string" name="result" byref="true"/>
349 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
351 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
352 <method name="graphUpdate" msg="GU">
353 <doc line="A service send graph data update"/>
355 <param type="TGraphDatas" name="graphDatas" byref="true"/>
358 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
359 <!-- HR graphUpdate -->
360 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
361 <method name="highRezGraphUpdate" msg="HRGU">
362 <doc line="A service high rez graph data update"/>
364 <param type="THighRezDatas" name="graphDatas" byref="true"/>
367 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
368 <!-- serviceConnected-->
369 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
370 <!-- <method name="serviceConnected" msg="SR">
371 <doc line="A service inform the AES that it is connected"/>
373 <param type="std::string" name="longName" byref="true"/>
374 <param type="std::string" name="shortName" byref="true"/>
375 <param type="std::string" name="aliasName" byref="true"/>
376 <param type="uint32" name="pid"/>
379 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
380 <!-- service status update -->
381 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
382 <method name="serviceStatusUpdate" msg="SSU">
383 <doc line="A service send an update of of it's status string"/>
385 <param type="std::string" name="status" byref="true"/>
390 <!-- ############################################################## -->
391 <!-- Module interface of the admin executor service client module-->
392 <!-- ############################################################## -->
393 <module_interface name="CAdminExecutorServiceClient">
395 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
396 <!-- service command -->
397 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
398 <method name="serviceCmd" msg="SCMD">
399 <doc line="execute a command and return the result."/>
401 <param type="uint32" name="commandId" />
402 <param type="std::string" name="command" byref="true"/>
405 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
406 <!-- service command (one way)-->
407 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
408 <method name="serviceCmdNoReturn" msg="SCMDNR">
409 <doc line="Send a command to a service without waiting for the return value."/>
411 <param type="std::string" name="command" byref="true"/>