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