Gocator API
 All Classes Files Functions Variables Typedefs Macros Modules Pages
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-2018 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 ///@cond private
14 
15 #include <GoSdk/GoSdkDef.h>
16 #include <GoSdk/Tools/GoTool.h>
17 #include <GoSdk/Tools/GoExtParams.h>
19 #include <kApi/Data/kXml.h>
20 
21 kBeginHeader()
22 
23 /**
24  * @class GoExtTool
25  * @extends GoTool
26  * @ingroup GoSdk-Tools
27  * @brief Represents an extensible tool.
28  */
29 typedef GoTool GoExtTool;
30 
31 /**
32  * Returns the tool configuration version string.
33  *
34  * @public @memberof GoExtTool
35  * @version Introduced in firmware 4.4.4.14
36  * @param tool GoExtTool object.
37  * @return The tool configuration version string.
38  */
39 GoFx(const kChar*) GoExtTool_Version(GoExtTool tool);
40 
41 /**
42  * Returns the measurement count.
43  *
44  * @public @memberof GoExtTool
45  * @version Introduced in firmware 4.4.4.14
46  * @param tool GoExtTool object.
47  * @return The measurement count.
48  */
49 GoFx(kSize) GoExtTool_MeasurementCount(GoExtTool tool);
50 
51 /**
52  * Retrieves the measurement at the given index.
53  *
54  * @public @memberof GoExtTool
55  * @version Introduced in firmware 4.4.4.14
56  * @param tool GoExtTool object.
57  * @param index The index of the measurement.
58  * @return The measurement at the given index or kNULL if an invalid index is provided.
59  */
60 GoFx(GoMeasurement) GoExtTool_MeasurementAt(GoExtTool tool, kSize index);
61 
62 /**
63 * Sets the name of the tool.
64 *
65 * @public @memberof GoExtTool
66  * @version Introduced in firmware 4.4.4.14
67 * @param tool GoExtTool object.
68 * @param name The name to be set for the tool.
69 * @return Operation status.
70 */
71 GoFx(kStatus) GoExtTool_SetDisplayName(GoExtTool tool, const kChar* name);
72 
73 /**
74  * Retrieves the display name of the tool.
75  *
76  * @public @memberof GoExtTool
77  * @version Introduced in firmware 4.4.4.14
78  * @param tool GoExtTool object.
79  * @return The tool display name.
80  */
81 GoFx(const kChar*) GoExtTool_DisplayName(GoExtTool tool);
82 
83 /**
84  * Retrieves the type of the tool.
85  *
86  * @public @memberof GoExtTool
87  * @version Introduced in firmware 4.4.4.14
88  * @param tool GoExtTool object.
89  * @return The tool type as a character array.
90  */
91 GoFx(const kChar*) GoExtTool_Type(GoExtTool tool);
92 
93 /**
94  * Sets the data source.
95  *
96  * @public @memberof GoExtTool
97  * @version Introduced in firmware 4.4.4.14
98  * @param tool GoExtTool object.
99  * @param source GoDataSource object.
100  * @return Operation status.
101  * @see GoExtTool_IntensitySupportEnabled
102  */
103 GoFx(kStatus) GoExtTool_SetSource(GoExtTool tool, GoDataSource source);
104 
105 /**
106  * Gets the data source.
107  *
108  * @public @memberof GoExtTool
109  * @version Introduced in firmware 4.4.4.14
110  * @param tool GoExtTool object.
111  * @return The data source.
112  */
113 GoFx(GoDataSource) GoExtTool_Source(GoExtTool tool);
114 
115 /**
116  * Gets the data source option list count.
117  *
118  * @public @memberof GoExtTool
119  * @version Introduced in firmware 4.4.4.14
120  * @param tool GoExtTool object.
121  * @return The current tool data source option list count.
122  */
123 GoFx(kSize) GoExtTool_SourceOptionCount(GoExtTool tool);
124 
125 /**
126  * Gets the data source option at the given index.
127  *
128  * @public @memberof GoExtTool
129  * @version Introduced in firmware 4.4.4.14
130  * @param tool GoExtTool object.
131  * @param index The index of the option list to access.
132  * @return The tool data source option at the given index, or k32U_MAX if an invalid index is given.
133  */
134 GoFx(k32u) GoExtTool_SourceOptionAt(GoExtTool tool, kSize index);
135 
136 /**
137  * Returns a boolean value representing whether the tool supports x anchoring.
138  *
139  * @public @memberof GoExtTool
140  * @version Introduced in firmware 4.4.4.14
141  * @param tool GoExtTool object.
142  * @return kTRUE if supported, kFALSE if not.
143  */
144 GoFx(kBool) GoExtTool_XAnchorSupportEnabled(GoExtTool tool);
145 
146 /**
147  * Gets the X-anchoring option list count.
148  *
149  * @public @memberof GoExtTool
150  * @version Introduced in firmware 4.4.4.14
151  *
152  * @param tool GoExtTool object.
153  * @return The X-anchoring option list count.
154  */
155 GoFx(kSize) GoExtTool_XAnchorOptionCount(GoExtTool tool);
156 
157 /**
158  * Gets the X-anchoring option at the given index.
159  *
160  * @public @memberof GoExtTool
161  * @version Introduced in firmware 4.4.4.14
162  *
163  * @param tool GoExtTool object.
164  * @param index The index of the option list to access.
165  * @return The X-anchoring option at the given index or k32U_MAX if invalid.
166  */
167 GoFx(k32u) GoExtTool_XAnchorOptionAt(GoExtTool tool, kSize index);
168 
169 /**
170  * Gets the current X-anchoring source.
171  *
172  * @public @memberof GoExtTool
173  * @version Introduced in firmware 4.4.4.14
174  *
175  * @param tool GoExtTool object.
176  * @return The X-anchoring source or -1 if no source is currently set.
177  */
178 GoFx(k32s) GoExtTool_XAnchor(GoExtTool tool);
179 
180 /**
181  * Sets the X-anchoring source.
182  *
183  * @public @memberof GoExtTool
184  * @version Introduced in firmware 4.4.4.14
185  *
186  * @param tool GoExtTool object.
187  * @param id The measurement ID of a valid X-anchoring source.
188  * @return Operation status.
189  * @see GoExtTool_AnchorSupportEnabled
190  */
191 GoFx(kStatus) GoExtTool_SetXAnchor(GoExtTool tool, k32s id);
192 
193 /**
194  * Returns a boolean value representing whether or not a valid X-anchoring source has been set for X-anchoring.
195  *
196  * @public @memberof GoExtTool
197  * @version Introduced in firmware 4.4.4.14
198  *
199  * @param tool GoExtTool object.
200  * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
201  * @see GoExtTool_AnchorSupportEnabled
202  */
203 GoFx(kBool) GoExtTool_XAnchorEnabled(GoExtTool tool);
204 
205 ///@cond (Gocator_3x00)
206 
207 /**
208 * Returns a boolean value representing whether the tool supports y anchoring.
209 *
210 * @public @memberof GoExtTool
211 * @version Introduced in firmware 4.6.3.95
212 * @param tool GoExtTool object.
213 * @return kTRUE if supported, kFALSE if not.
214 */
215 GoFx(kBool) GoExtTool_YAnchorSupportEnabled(GoExtTool tool);
216 
217 /**
218  * Gets the Y-anchoring option list count.
219  *
220  * @public @memberof GoExtTool
221  * @version Introduced in firmware 4.4.4.14
222  *
223  * @param tool GoExtTool object.
224  * @return The Y-anchoring option list count.
225  */
226 GoFx(kSize) GoExtTool_YAnchorOptionCount(GoExtTool tool);
227 
228 /**
229  * Gets the Y-anchoring option at the given index.
230  *
231  * @public @memberof GoExtTool
232  * @version Introduced in firmware 4.4.4.14
233  *
234  * @param tool GoExtTool object.
235  * @param index The index of the option list to access.
236  * @return The Y-anchoring option at the given index or k32U_MAX if invalid.
237  */
238 GoFx(k32u) GoExtTool_YAnchorOptionAt(GoExtTool tool, kSize index);
239 
240 /**
241  * Gets the current Y-anchoring source.
242  *
243  * @public @memberof GoExtTool
244  * @version Introduced in firmware 4.4.4.14
245  *
246  * @param tool GoExtTool object.
247  * @return The Y-anchoring source or -1 if no source is currently set.
248  */
249 GoFx(k32s) GoExtTool_YAnchor(GoExtTool tool);
250 
251 /**
252  * Sets the Y-anchoring source.
253  *
254  * @public @memberof GoExtTool
255  * @version Introduced in firmware 4.4.4.14
256  * @param tool GoExtTool object.
257  * @param id The measurement ID of a valid Y-anchoring source.
258  * @return Operation status.
259  * @see GoExtTool_AnchorSupportEnabled, GoExtTool_Type
260  */
261 GoFx(kStatus) GoExtTool_SetYAnchor(GoExtTool tool, k32s id);
262 
263 /**
264  * Returns a boolean value representing whether or not a valid Y-anchoring source has been set for Y-anchoring.
265  *
266  * @public @memberof GoExtTool
267  * @version Introduced in firmware 4.4.4.14
268  * @param tool GoExtTool object.
269  * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
270  * @see GoExtTool_AnchorSupportEnabled, GoExtTool_Type
271  */
272 GoFx(kBool) GoExtTool_YAnchorEnabled(GoExtTool tool);
273 
274 ///@endcond
275 
276 ///@cond (Gocator_2x00 || Gocator_3x00)
277 
278 /**
279 * Returns a boolean value representing whether the tool supports z anchoring.
280 *
281 * @public @memberof GoExtTool
282 * @version Introduced in firmware 4.6.3.95
283 * @param tool GoExtTool object.
284 * @return kTRUE if supported, kFALSE if not.
285 */
286 GoFx(kBool) GoExtTool_ZAnchorSupportEnabled(GoExtTool tool);
287 
288 /**
289  * Gets the Z-anchoring option list count.
290  *
291  * @public @memberof GoExtTool
292  * @version Introduced in firmware 4.4.4.14
293  * @param tool GoExtTool object.
294  * @return The X-anchoring option list count.
295  */
296 GoFx(kSize) GoExtTool_ZAnchorOptionCount(GoExtTool tool);
297 
298 /**
299  * Gets the Z-anchoring option at the given index.
300  *
301  * @public @memberof GoExtTool
302  * @version Introduced in firmware 4.4.4.14
303  * @param tool GoExtTool object.
304  * @param index The index of the option list to access.
305  * @return The Z-anchoring option at the given index or k32U_MAX if invalid.
306  */
307 GoFx(k32u) GoExtTool_ZAnchorOptionAt(GoExtTool tool, kSize index);
308 
309 /**
310  * Gets the current Z-anchoring source.
311  *
312  * @public @memberof GoExtTool
313  * @version Introduced in firmware 4.4.4.14
314  * @param tool GoExtTool object.
315  * @return The Z-anchoring source or -1 if no source is currently set.
316  */
317 GoFx(k32s) GoExtTool_ZAnchor(GoExtTool tool);
318 
319 /**
320  * Sets the Z-anchoring source.
321  *
322  * @public @memberof GoExtTool
323  * @version Introduced in firmware 4.4.4.14
324  * @param tool GoExtTool object.
325  * @param id The measurement ID of a valid Z-anchoring source.
326  * @return Operation status.
327  * @see GoExtTool_AnchorSupportEnabled, GoExtTool_Type
328  */
329 GoFx(kStatus) GoExtTool_SetZAnchor(GoExtTool tool, k32s id);
330 
331 /**
332  * Returns a boolean value representing whether or not a valid Z-anchoring source has been set for Z-anchoring.
333  *
334  * @public @memberof GoExtTool
335  * @version Introduced in firmware 4.4.4.14
336  * @param tool GoExtTool object.
337  * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
338  * @see GoExtTool_AnchorSupportEnabled, GoExtTool_Type
339  */
340 GoFx(kBool) GoExtTool_ZAnchorEnabled(GoExtTool tool);
341 
342 ///@endcond
343 
344 ///@cond (Gocator_2x00 || Gocator_3x00)
345 
346 /**
347 * Returns a boolean value representing whether the tool supports z angle anchoring.
348 *
349 * @public @memberof GoExtTool
350 * @version Introduced in firmware 4.6.3.95
351 * @param tool GoExtTool object.
352 * @return kTRUE if supported, kFALSE if not.
353 */
354 GoFx(kBool) GoExtTool_ZAngleAnchorSupportEnabled(GoExtTool tool);
355 
356 /**
357 * Gets the ZAngle-anchoring option list count.
358 *
359 * @public @memberof GoExtTool
360 * @version Introduced in firmware 4.6.2.133
361 * @param tool GoExtTool object.
362 * @return The ZAngle-anchoring option list count.
363 */
364 GoFx(kSize) GoExtTool_ZAngleAnchorOptionCount(GoExtTool tool);
365 
366 /**
367 * Gets the ZAngle-anchoring option at the given index.
368 *
369 * @public @memberof GoExtTool
370 * @version Introduced in firmware 4.6.2.133
371 * @param tool GoExtTool object.
372 * @param index The index of the option list to access.
373 * @return The ZAngle-anchoring option at the given index or k32U_MAX if invalid.
374 */
375 GoFx(k32u) GoExtTool_ZAngleAnchorOptionAt(GoExtTool tool, kSize index);
376 
377 /**
378 * Gets the current Z-anchoring source.
379 *
380 * @public @memberof GoExtTool
381 * @version Introduced in firmware 4.6.2.133
382 * @param tool GoExtTool object.
383 * @return The ZAngle-anchoring source or -1 if no source is currently set.
384 */
385 GoFx(k32s) GoExtTool_ZAngleAnchor(GoExtTool tool);
386 
387 /**
388 * Sets the Z-anchoring source.
389 *
390 * @public @memberof GoExtTool
391 * @version Introduced in firmware 4.6.2.133
392 * @param tool GoExtTool object.
393 * @param id The measurement ID of a valid Z-anchoring source.
394 * @return Operation status.
395 * @see GoExtTool_AngleAnchorSupportEnabled, GoExtTool_Type
396 */
397 GoFx(kStatus) GoExtTool_SetZAngleAnchor(GoExtTool tool, k32s id);
398 
399 /**
400 * Returns a boolean value representing whether or not a valid Z-anchoring source has been set for Z-anchoring.
401 *
402 * @public @memberof GoExtTool
403 * @version Introduced in firmware 4.6.2.133
404 * @param tool GoExtTool object.
405 * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
406 * @see GoExtTool_AngleAnchorSupportEnabled, GoExtTool_Type
407 */
408 GoFx(kBool) GoExtTool_ZAngleAnchorEnabled(GoExtTool tool);
409 
410 ///@endcond
411 
412 /**
413  * Retrieves the first found instance of a measurement for a given enumeration type.
414  *
415  * @public @memberof GoExtTool
416  * @version Introduced in firmware 4.4.4.14
417  * @param tool GoExtTool object.
418  * @param name The name of the measurement to retrieve.
419  * @return A measurement object if one is found, otherwise kNULL.
420  */
421 GoFx(GoMeasurement) GoExtTool_FindMeasurementByName(GoExtTool tool, const kChar* name);
422 
423 /**
424  * Returns the number of parameters available for the given tool.
425  *
426  * @public @memberof GoExtTool
427  * @version Introduced in firmware 4.4.4.14
428  * @param tool GoExtTool object.
429  * @return Parameter count.
430  */
431 GoFx(kSize) GoExtTool_ParameterCount(GoExtTool tool);
432 
433 /**
434  * Returns the parameter at the given index.
435  *
436  * @public @memberof GoExtTool
437  * @version Introduced in firmware 4.4.4.14
438  * @param tool GoExtTool object.
439  * @param index The index of the parameter to retrieve.
440  * @return The custom tool parameter object.
441  */
442 GoFx(GoExtParam) GoExtTool_ParameterAt(GoExtTool tool, kSize index);
443 
444 /**
445  * Returns the parameter which matches the given label.
446  *
447  * @public @memberof GoExtTool
448  * @version Introduced in firmware 4.4.4.14
449  * @param tool GoExtTool object.
450  * @param label The label of the parameter to retrieve.
451  * @return The parameter matching the label or kNULL if no match is found.
452  * @remark The search is case sensitive.
453  */
454 GoFx(GoExtParam) GoExtTool_FindParameterById(GoExtTool tool, const kChar* label);
455 
456 /**
457 * Returns the number of tool data outputs available for the given tool.
458 *
459 * @public @memberof GoExtTool
460 * @version Introduced in firmware 4.7.3.97
461 * @param tool GoExtTool object.
462 * @return Tool data output count.
463 */
464 GoFx(kSize) GoExtTool_ToolDataOutputCount(GoExtTool tool);
465 
466 /**
467 * Returns the tool data output item at the given index.
468 *
469 * @public @memberof GoExtTool
470 * @version Introduced in firmware 4.7.3.97
471 * @param tool GoExtTool object.
472 * @param index The index of the tool data output item to retrieve.
473 * @return The custom tool data output object or kNULL if no such entry.
474 */
475 GoFx(GoExtToolDataOutput) GoExtTool_ToolDataOutputAt(GoExtTool tool, kSize index);
476 
477 kEndHeader()
478 #include <GoSdk/Tools/GoExtTool.x.h>
479 
480 ///@endcond
481 
482 #endif
Declares the base GoTool class.
Represents the base class for a tool measurement or script output.
Represents a data source.
Declares the GoExtToolDataOutput class.
Essential SDK declarations.
Represents the base tool class.
Represents the base class for a tool data output.