Gocator API
GoExtTool.h
Go to the documentation of this file.
1 /**
2  * @file GoExtTool.h
3  * @brief Declares the base GoExtTool class.
4  *
5  * @internal
6  * Copyright (C) 2016-2019 by LMI Technologies Inc.
7  * Licensed under the MIT License.
8  * Redistributed files must retain the above copyright notice.
9  */
10 #ifndef GO_EXT_TOOL_H
11 #define GO_EXT_TOOL_H
12 
13 #include <GoSdk/GoSdkDef.h>
14 #include <GoSdk/Tools/GoTool.h>
15 #include <GoSdk/Tools/GoExtParams.h>
17 #include <kApi/Data/kXml.h>
18 
19 /**
20  * @class GoExtTool
21  * @extends GoTool
22  * @ingroup GoSdk-Tools
23  * @brief Represents an extensible tool.
24  */
25 typedef GoTool GoExtTool;
26 
27 /**
28  * Returns the tool configuration version string.
29  *
30  * @public @memberof GoExtTool
31  * @version Introduced in firmware 4.4.4.14
32  * @param tool GoExtTool object.
33  * @return The tool configuration version string.
34  */
35 GoFx(const kChar*) GoExtTool_Version(GoExtTool tool);
36 
37 /**
38  * Sets the data stream. Note that stream validation will only occur if tool
39  * is in the tool options list.
40  *
41  * @public @memberof GoExtTool
42  * @version Introduced in firmware 5.3.19.50
43  * @param tool GoExtTool object.
44  * @param stream GoDataStream value.
45  * @return Operation status.
46  * @see GoExtTool_StreamOptionCount, GoExtTool_StreamOptionAt
47  */
49 
50 /**
51  * Gets the data stream.
52  *
53  * @public @memberof GoExtTool
54  * @version Introduced in firmware 5.3.19.50
55  * @param tool GoExtTool object.
56  * @return The current Ext tool data stream value.
57  */
59 
60 /**
61  * Gets the data stream option list count.
62  *
63  * @public @memberof GoExtTool
64  * @version Introduced in firmware 5.3.19.50
65  * @param tool GoExtTool object.
66  * @return The current Ext tool data stream option list count.
67  */
69 
70 /**
71  * Gets the data stream option at the given index.
72  *
73  * @public @memberof GoExtTool
74  * @version Introduced in firmware 5.3.19.50
75  * @param tool GoExtTool object.
76  * @param index The index of the option list to access.
77  * @return The Ext tool data stream option at the given index, or k32U_MAX if an invalid index is given.
78  */
80 
81 /**
82  * Returns the measurement count.
83  *
84  * @public @memberof GoExtTool
85  * @version Introduced in firmware 4.4.4.14
86  * @param tool GoExtTool object.
87  * @return The measurement count.
88  */
90 
91 /**
92  * Retrieves the measurement at the given index.
93  *
94  * @public @memberof GoExtTool
95  * @version Introduced in firmware 4.4.4.14
96  * @param tool GoExtTool object.
97  * @param index The index of the measurement.
98  * @return The measurement at the given index or kNULL if an invalid index is provided.
99  */
101 
102 /**
103 * Sets the name of the tool.
104 *
105 * @public @memberof GoExtTool
106  * @version Introduced in firmware 4.4.4.14
107 * @param tool GoExtTool object.
108 * @param name The name to be set for the tool.
109 * @return Operation status.
110 */
111 GoFx(kStatus) GoExtTool_SetDisplayName(GoExtTool tool, const kChar* name);
112 
113 /**
114  * Retrieves the display name of the tool.
115  *
116  * @public @memberof GoExtTool
117  * @version Introduced in firmware 4.4.4.14
118  * @param tool GoExtTool object.
119  * @return The tool display name.
120  */
121 GoFx(const kChar*) GoExtTool_DisplayName(GoExtTool tool);
122 
123 /**
124  * Retrieves the type of the tool.
125  *
126  * @public @memberof GoExtTool
127  * @version Introduced in firmware 4.4.4.14
128  * @param tool GoExtTool object.
129  * @return The tool type as a character array.
130  */
131 GoFx(const kChar*) GoExtTool_Type(GoExtTool tool);
132 
133 /**
134  * Sets the data source.
135  *
136  * @public @memberof GoExtTool
137  * @version Introduced in firmware 4.4.4.14
138  * @param tool GoExtTool object.
139  * @param source GoDataSource object.
140  * @return Operation status.
141  * @see GoExtTool_IntensitySupportEnabled
142  */
144 
145 /**
146  * Gets the data source.
147  *
148  * @public @memberof GoExtTool
149  * @version Introduced in firmware 4.4.4.14
150  * @param tool GoExtTool object.
151  * @return The data source.
152  */
154 
155 /**
156  * Gets the data source option list count.
157  *
158  * @public @memberof GoExtTool
159  * @version Introduced in firmware 4.4.4.14
160  * @param tool GoExtTool object.
161  * @return The current tool data source option list count.
162  */
164 
165 /**
166  * Gets the data source option at the given index.
167  *
168  * @public @memberof GoExtTool
169  * @version Introduced in firmware 4.4.4.14
170  * @param tool GoExtTool object.
171  * @param index The index of the option list to access.
172  * @return The tool data source option at the given index, or k32U_MAX if an invalid index is given.
173  */
174 GoFx(k32u) GoExtTool_SourceOptionAt(GoExtTool tool, kSize index);
175 
176 /**
177  * Returns a boolean value representing whether the tool supports x anchoring.
178  *
179  * @public @memberof GoExtTool
180  * @version Introduced in firmware 4.4.4.14
181  * @param tool GoExtTool object.
182  * @return kTRUE if supported, kFALSE if not.
183  */
185 
186 /**
187  * Gets the X-anchoring option list count.
188  *
189  * @public @memberof GoExtTool
190  * @version Introduced in firmware 4.4.4.14
191  *
192  * @param tool GoExtTool object.
193  * @return The X-anchoring option list count.
194  */
196 
197 /**
198  * Gets the X-anchoring option at the given index.
199  *
200  * @public @memberof GoExtTool
201  * @version Introduced in firmware 4.4.4.14
202  *
203  * @param tool GoExtTool object.
204  * @param index The index of the option list to access.
205  * @return The X-anchoring option at the given index or k32U_MAX if invalid.
206  */
207 GoFx(k32u) GoExtTool_XAnchorOptionAt(GoExtTool tool, kSize index);
208 
209 /**
210  * Gets the current X-anchoring source.
211  *
212  * @public @memberof GoExtTool
213  * @version Introduced in firmware 4.4.4.14
214  *
215  * @param tool GoExtTool object.
216  * @return The X-anchoring source or -1 if no source is currently set.
217  */
218 GoFx(k32s) GoExtTool_XAnchor(GoExtTool tool);
219 
220 /**
221  * Sets the X-anchoring source.
222  *
223  * @public @memberof GoExtTool
224  * @version Introduced in firmware 4.4.4.14
225  *
226  * @param tool GoExtTool object.
227  * @param id The measurement ID of a valid X-anchoring source.
228  * @return Operation status.
229  * @see GoExtTool_AnchorSupportEnabled
230  */
232 
233 /**
234  * Returns a boolean value representing whether or not a valid X-anchoring source has been set for X-anchoring.
235  *
236  * @public @memberof GoExtTool
237  * @version Introduced in firmware 4.4.4.14
238  *
239  * @param tool GoExtTool object.
240  * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
241  * @see GoExtTool_AnchorSupportEnabled
242  */
244 
245 /**
246 * Returns a boolean value representing whether the tool supports y anchoring.
247 *
248 * @public @memberof GoExtTool
249 * @note Supported with G3
250 * @version Introduced in firmware 4.6.3.95
251 * @param tool GoExtTool object.
252 * @return kTRUE if supported, kFALSE if not.
253 */
255 
256 /**
257  * Gets the Y-anchoring option list count.
258  *
259  * @public @memberof GoExtTool
260  * @note Supported with G3
261  * @version Introduced in firmware 4.4.4.14
262  *
263  * @param tool GoExtTool object.
264  * @return The Y-anchoring option list count.
265  */
267 
268 /**
269  * Gets the Y-anchoring option at the given index.
270  *
271  * @public @memberof GoExtTool
272  * @note Supported with G3
273  * @version Introduced in firmware 4.4.4.14
274  *
275  * @param tool GoExtTool object.
276  * @param index The index of the option list to access.
277  * @return The Y-anchoring option at the given index or k32U_MAX if invalid.
278  */
279 GoFx(k32u) GoExtTool_YAnchorOptionAt(GoExtTool tool, kSize index);
280 
281 /**
282  * Gets the current Y-anchoring source.
283  *
284  * @public @memberof GoExtTool
285  * @note Supported with G3
286  * @version Introduced in firmware 4.4.4.14
287  *
288  * @param tool GoExtTool object.
289  * @return The Y-anchoring source or -1 if no source is currently set.
290  */
291 GoFx(k32s) GoExtTool_YAnchor(GoExtTool tool);
292 
293 /**
294  * Sets the Y-anchoring source.
295  *
296  * @public @memberof GoExtTool
297  * @note Supported with G3
298  * @version Introduced in firmware 4.4.4.14
299  * @param tool GoExtTool object.
300  * @param id The measurement ID of a valid Y-anchoring source.
301  * @return Operation status.
302  * @see GoExtTool_AnchorSupportEnabled, GoExtTool_Type
303  */
305 
306 /**
307  * Returns a boolean value representing whether or not a valid Y-anchoring source has been set for Y-anchoring.
308  *
309  * @public @memberof GoExtTool
310  * @note Supported with G3
311  * @version Introduced in firmware 4.4.4.14
312  * @param tool GoExtTool object.
313  * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
314  * @see GoExtTool_AnchorSupportEnabled, GoExtTool_Type
315  */
317 
318 /**
319 * Returns a boolean value representing whether the tool supports z anchoring.
320 *
321 * @public @memberof GoExtTool
322 * @note Supported with G2, G3
323 * @version Introduced in firmware 4.6.3.95
324 * @param tool GoExtTool object.
325 * @return kTRUE if supported, kFALSE if not.
326 */
328 
329 /**
330  * Gets the Z-anchoring option list count.
331  *
332  * @public @memberof GoExtTool
333  * @note Supported with G2, G3
334  * @version Introduced in firmware 4.4.4.14
335  * @param tool GoExtTool object.
336  * @return The X-anchoring option list count.
337  */
339 
340 /**
341  * Gets the Z-anchoring option at the given index.
342  *
343  * @public @memberof GoExtTool
344  * @note Supported with G2, G3
345  * @version Introduced in firmware 4.4.4.14
346  * @param tool GoExtTool object.
347  * @param index The index of the option list to access.
348  * @return The Z-anchoring option at the given index or k32U_MAX if invalid.
349  */
350 GoFx(k32u) GoExtTool_ZAnchorOptionAt(GoExtTool tool, kSize index);
351 
352 /**
353  * Gets the current Z-anchoring source.
354  *
355  * @public @memberof GoExtTool
356  * @note Supported with G2, G3
357  * @version Introduced in firmware 4.4.4.14
358  * @param tool GoExtTool object.
359  * @return The Z-anchoring source or -1 if no source is currently set.
360  */
361 GoFx(k32s) GoExtTool_ZAnchor(GoExtTool tool);
362 
363 /**
364  * Sets the Z-anchoring source.
365  *
366  * @public @memberof GoExtTool
367  * @note Supported with G2, G3
368  * @version Introduced in firmware 4.4.4.14
369  * @param tool GoExtTool object.
370  * @param id The measurement ID of a valid Z-anchoring source.
371  * @return Operation status.
372  * @see GoExtTool_AnchorSupportEnabled, GoExtTool_Type
373  */
375 
376 /**
377  * Returns a boolean value representing whether or not a valid Z-anchoring source has been set for Z-anchoring.
378  *
379  * @public @memberof GoExtTool
380  * @note Supported with G2, G3
381  * @version Introduced in firmware 4.4.4.14
382  * @param tool GoExtTool object.
383  * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
384  * @see GoExtTool_AnchorSupportEnabled, GoExtTool_Type
385  */
387 
388 /**
389 * Returns a boolean value representing whether the tool supports z angle anchoring.
390 *
391 * @public @memberof GoExtTool
392 * @note Supported with G2, G3
393 * @version Introduced in firmware 4.6.3.95
394 * @param tool GoExtTool object.
395 * @return kTRUE if supported, kFALSE if not.
396 */
398 
399 /**
400 * Gets the ZAngle-anchoring option list count.
401 *
402 * @public @memberof GoExtTool
403 * @note Supported with G2, G3
404 * @version Introduced in firmware 4.6.2.133
405 * @param tool GoExtTool object.
406 * @return The ZAngle-anchoring option list count.
407 */
409 
410 /**
411 * Gets the ZAngle-anchoring option at the given index.
412 *
413 * @public @memberof GoExtTool
414 * @note Supported with G2, G3
415 * @version Introduced in firmware 4.6.2.133
416 * @param tool GoExtTool object.
417 * @param index The index of the option list to access.
418 * @return The ZAngle-anchoring option at the given index or k32U_MAX if invalid.
419 */
421 
422 /**
423 * Gets the current Z-anchoring source.
424 *
425 * @public @memberof GoExtTool
426 * @note Supported with G2, G3
427 * @version Introduced in firmware 4.6.2.133
428 * @param tool GoExtTool object.
429 * @return The ZAngle-anchoring source or -1 if no source is currently set.
430 */
432 
433 /**
434 * Sets the Z-anchoring source.
435 *
436 * @public @memberof GoExtTool
437 * @note Supported with G2, G3
438 * @version Introduced in firmware 4.6.2.133
439 * @param tool GoExtTool object.
440 * @param id The measurement ID of a valid Z-anchoring source.
441 * @return Operation status.
442 * @see GoExtTool_AngleAnchorSupportEnabled, GoExtTool_Type
443 */
445 
446 /**
447 * Returns a boolean value representing whether or not a valid Z-anchoring source has been set for Z-anchoring.
448 *
449 * @public @memberof GoExtTool
450 * @note Supported with G2, G3
451 * @version Introduced in firmware 4.6.2.133
452 * @param tool GoExtTool object.
453 * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
454 * @see GoExtTool_AngleAnchorSupportEnabled, GoExtTool_Type
455 */
457 
458 /**
459  * Retrieves the first found instance of a measurement for a given enumeration type.
460  *
461  * @public @memberof GoExtTool
462  * @version Introduced in firmware 4.4.4.14
463  * @param tool GoExtTool object.
464  * @param name The name of the measurement to retrieve.
465  * @return A measurement object if one is found, otherwise kNULL.
466  */
468 
469 /**
470  * Returns the number of parameters available for the given tool.
471  *
472  * @public @memberof GoExtTool
473  * @version Introduced in firmware 4.4.4.14
474  * @param tool GoExtTool object.
475  * @return Parameter count.
476  */
478 
479 /**
480  * Returns the parameter at the given index.
481  *
482  * @public @memberof GoExtTool
483  * @version Introduced in firmware 4.4.4.14
484  * @param tool GoExtTool object.
485  * @param index The index of the parameter to retrieve.
486  * @return The custom tool parameter object.
487  */
488 GoFx(GoExtParam) GoExtTool_ParameterAt(GoExtTool tool, kSize index);
489 
490 /**
491  * Returns the parameter which matches the given label.
492  *
493  * @public @memberof GoExtTool
494  * @version Introduced in firmware 4.4.4.14
495  * @param tool GoExtTool object.
496  * @param label The label of the parameter to retrieve.
497  * @return The parameter matching the label or kNULL if no match is found.
498  * @remark The search is case sensitive.
499  */
500 GoFx(GoExtParam) GoExtTool_FindParameterById(GoExtTool tool, const kChar* label);
501 
502 /**
503 * Returns the number of tool data outputs available for the given tool.
504 *
505 * @public @memberof GoExtTool
506 * @version Introduced in firmware 4.7.3.97
507 * @param tool GoExtTool object.
508 * @return Tool data output count.
509 */
511 
512 /**
513 * Returns the tool data output item at the given index.
514 *
515 * @public @memberof GoExtTool
516 * @version Introduced in firmware 4.7.3.97
517 * @param tool GoExtTool object.
518 * @param index The index of the tool data output item to retrieve.
519 * @return The custom tool data output object or kNULL if no such entry.
520 */
522 
523 /**
524 * Compares the tool with a specific tool type.
525 *
526 * @public @memberof GoExtTool
527 * @version Introduced in firmware 5.2.13.12
528 * @param tool GoExtTool object.
529 * @param toolType tool type to compare the tool object to.
530 * @return kTrue if tool object eaquals to toolType, otherwise kFalse.
531 */
532 GoFx(kBool) GoExtTool_Equals(GoExtTool tool, kString toolType);
533 
534 #include <GoSdk/Tools/GoExtTool.x.h>
535 
536 #endif
kSize GoExtTool_ToolDataOutputCount(GoExtTool tool)
Returns the number of tool data outputs available for the given tool.
Declares the base GoTool class.
GoExtParam GoExtTool_ParameterAt(GoExtTool tool, kSize index)
Returns the parameter at the given index.
k32u GoExtTool_ZAnchorOptionAt(GoExtTool tool, kSize index)
Gets the Z-anchoring option at the given index.
Represents the base class for a tool measurement or script output.
kBool GoExtTool_YAnchorEnabled(GoExtTool tool)
Returns a boolean value representing whether or not a valid Y-anchoring source has been set for Y-anc...
k32u GoExtTool_YAnchorOptionAt(GoExtTool tool, kSize index)
Gets the Y-anchoring option at the given index.
kBool GoExtTool_ZAnchorSupportEnabled(GoExtTool tool)
Returns a boolean value representing whether the tool supports z anchoring.
kStatus GoExtTool_SetZAnchor(GoExtTool tool, k32s id)
Sets the Z-anchoring source.
GoExtParam GoExtTool_FindParameterById(GoExtTool tool, const kChar *label)
Returns the parameter which matches the given label.
kSize GoExtTool_YAnchorOptionCount(GoExtTool tool)
Gets the Y-anchoring option list count.
k32u GoExtTool_XAnchorOptionAt(GoExtTool tool, kSize index)
Gets the X-anchoring option at the given index.
kBool GoExtTool_Equals(GoExtTool tool, kString toolType)
Compares the tool with a specific tool type.
kStatus GoExtTool_SetYAnchor(GoExtTool tool, k32s id)
Sets the Y-anchoring source.
kStatus GoExtTool_SetSource(GoExtTool tool, GoDataSource source)
Sets the data source.
GoDataStream GoExtTool_StreamOptionAt(GoExtTool tool, kSize index)
Gets the data stream option at the given index.
GoDataSource GoExtTool_Source(GoExtTool tool)
Gets the data source.
Represents a data stream which consists of a data step and ID.
Definition: GoSdkDef.h:1213
Represents a data source.
kBool GoExtTool_YAnchorSupportEnabled(GoExtTool tool)
Returns a boolean value representing whether the tool supports y anchoring.
kStatus GoExtTool_SetZAngleAnchor(GoExtTool tool, k32s id)
Sets the Z-anchoring source.
kSize GoExtTool_ParameterCount(GoExtTool tool)
Returns the number of parameters available for the given tool.
kSize GoExtTool_MeasurementCount(GoExtTool tool)
Returns the measurement count.
kSize GoExtTool_ZAnchorOptionCount(GoExtTool tool)
Gets the Z-anchoring option list count.
k32s GoExtTool_YAnchor(GoExtTool tool)
Gets the current Y-anchoring source.
k32u GoExtTool_ZAngleAnchorOptionAt(GoExtTool tool, kSize index)
Gets the ZAngle-anchoring option at the given index.
kBool GoExtTool_ZAngleAnchorSupportEnabled(GoExtTool tool)
Returns a boolean value representing whether the tool supports z angle anchoring.
Declares the GoExtToolDataOutput class.
kSize GoExtTool_StreamOptionCount(GoExtTool tool)
Gets the data stream option list count.
kStatus GoExtTool_SetXAnchor(GoExtTool tool, k32s id)
Sets the X-anchoring source.
const kChar * GoExtTool_Version(GoExtTool tool)
Returns the tool configuration version string.
Essential SDK declarations.
kSize GoExtTool_SourceOptionCount(GoExtTool tool)
Gets the data source option list count.
Represents the base tool class.
kStatus GoExtTool_SetDisplayName(GoExtTool tool, const kChar *name)
Sets the name of the tool.
k32s GoExtTool_ZAnchor(GoExtTool tool)
Gets the current Z-anchoring source.
GoExtToolDataOutput GoExtTool_ToolDataOutputAt(GoExtTool tool, kSize index)
Returns the tool data output item at the given index.
const kChar * GoExtTool_Type(GoExtTool tool)
Retrieves the type of the tool.
const kChar * GoExtTool_DisplayName(GoExtTool tool)
Retrieves the display name of the tool.
Represents an extensible tool.
Represents the base class for a tool data output.
GoMeasurement GoExtTool_FindMeasurementByName(GoExtTool tool, const kChar *name)
Retrieves the first found instance of a measurement for a given enumeration type.
kSize GoExtTool_XAnchorOptionCount(GoExtTool tool)
Gets the X-anchoring option list count.
k32s GoExtTool_ZAngleAnchor(GoExtTool tool)
Gets the current Z-anchoring source.
GoMeasurement GoExtTool_MeasurementAt(GoExtTool tool, kSize index)
Retrieves the measurement at the given index.
kBool GoExtTool_XAnchorEnabled(GoExtTool tool)
Returns a boolean value representing whether or not a valid X-anchoring source has been set for X-anc...
kBool GoExtTool_ZAngleAnchorEnabled(GoExtTool tool)
Returns a boolean value representing whether or not a valid Z-anchoring source has been set for Z-anc...
GoDataStream GoExtTool_Stream(GoExtTool tool)
Gets the data stream.
kBool GoExtTool_XAnchorSupportEnabled(GoExtTool tool)
Returns a boolean value representing whether the tool supports x anchoring.
k32s GoExtTool_XAnchor(GoExtTool tool)
Gets the current X-anchoring source.
kStatus GoExtTool_SetStream(GoExtTool tool, GoDataStream stream)
Sets the data stream.
k32u GoExtTool_SourceOptionAt(GoExtTool tool, kSize index)
Gets the data source option at the given index.
kBool GoExtTool_ZAnchorEnabled(GoExtTool tool)
Returns a boolean value representing whether or not a valid Z-anchoring source has been set for Z-anc...
kSize GoExtTool_ZAngleAnchorOptionCount(GoExtTool tool)
Gets the ZAngle-anchoring option list count.