Gocator API
 All Classes Files Functions Variables Typedefs Macros Modules Pages
GoExtTool.h
1 ///@cond private
2 
3 /**
4  * @file GoExtTool.h
5  * @brief Declares the base GoExtTool class.
6  *
7  * @internal
8  * Copyright (C) 2016 by LMI Technologies Inc.
9  * Licensed under the MIT License.
10  * Redistributed files must retain the above copyright notice.
11  */
12 #ifndef GO_EXT_TOOL_H
13 #define GO_EXT_TOOL_H
14 
15 #include <GoSdk/GoSdkDef.h>
16 #include <GoSdk/Tools/GoTool.h>
17 #include <kApi/Data/kXml.h>
18 
19 kBeginHeader()
20 
21 /**
22  * @class GoExtTool
23  * @extends GoTool
24  * @ingroup GoSdk-Tools
25  * @brief Represents an extensible tool.
26  */
27 typedef GoTool GoExtTool;
28 
29 /**
30  * Returns the tool configuration version string.
31  *
32  * @public @memberof GoExtTool
33  * @version Introduced in firmware 4.4.4.14
34  * @param tool GoExtTool object.
35  * @return The tool configuration version string.
36  */
37 GoFx(const kChar*) GoExtTool_Version(GoExtTool tool);
38 
39 /**
40  * Returns the measurement count.
41  *
42  * @public @memberof GoExtTool
43  * @version Introduced in firmware 4.4.4.14
44  * @param tool GoExtTool object.
45  * @return The measurement count.
46  */
47 GoFx(kSize) GoExtTool_MeasurementCount(GoExtTool tool);
48 
49 /**
50  * Retrieves the measurement at the given index.
51  *
52  * @public @memberof GoExtTool
53  * @version Introduced in firmware 4.4.4.14
54  * @param tool GoExtTool object.
55  * @param index The index of the measurement.
56  * @return The measurement at the given index or kNULL if an invalid index is provided.
57  */
58 GoFx(GoMeasurement) GoExtTool_MeasurementAt(GoExtTool tool, kSize index);
59 
60 /**
61 * Sets the name of the tool.
62 *
63 * @public @memberof GoExtTool
64  * @version Introduced in firmware 4.4.4.14
65 * @param tool GoExtTool object.
66 * @param name The name to be set for the tool.
67 * @return Operation status.
68 */
69 GoFx(kStatus) GoExtTool_SetDisplayName(GoExtTool tool, const kChar* name);
70 
71 /**
72  * Retrieves the display name of the tool.
73  *
74  * @public @memberof GoExtTool
75  * @version Introduced in firmware 4.4.4.14
76  * @param tool GoExtTool object.
77  * @return The tool display name.
78  */
79 GoFx(const kChar*) GoExtTool_DisplayName(GoExtTool tool);
80 
81 /**
82  * Retrieves the type of the tool.
83  *
84  * @public @memberof GoExtTool
85  * @version Introduced in firmware 4.4.4.14
86  * @param tool GoExtTool object.
87  * @return The tool type as a character array.
88  */
89 GoFx(const kChar*) GoExtTool_Type(GoExtTool tool);
90 
91 /**
92  * Sets the data source.
93  *
94  * @public @memberof GoExtTool
95  * @version Introduced in firmware 4.4.4.14
96  * @param tool GoExtTool object.
97  * @param source GoDataSource object.
98  * @return Operation status.
99  * @see GoExtTool_IntensitySupportEnabled
100  */
101 GoFx(kStatus) GoExtTool_SetSource(GoExtTool tool, GoDataSource source);
102 
103 /**
104  * Gets the data source.
105  *
106  * @public @memberof GoExtTool
107  * @version Introduced in firmware 4.4.4.14
108  * @param tool GoExtTool object.
109  * @return The data source.
110  */
111 GoFx(GoDataSource) GoExtTool_Source(GoExtTool tool);
112 
113 /**
114  * Gets the data source option list count.
115  *
116  * @public @memberof GoExtTool
117  * @version Introduced in firmware 4.4.4.14
118  * @param tool GoExtTool object.
119  * @return The current tool data source option list count.
120  */
121 GoFx(kSize) GoExtTool_SourceOptionCount(GoExtTool tool);
122 
123 /**
124  * Gets the data source option at the given index.
125  *
126  * @public @memberof GoExtTool
127  * @version Introduced in firmware 4.4.4.14
128  * @param tool GoExtTool object.
129  * @param index The index of the option list to access.
130  * @return The tool data source option at the given index, or k32U_MAX if an invalid index is given.
131  */
132 GoFx(k32u) GoExtTool_SourceOptionAt(GoExtTool tool, kSize index);
133 
134 /**
135  * Returns a boolean value representing whether the tool supports anchoring.
136  *
137  * @public @memberof GoExtTool
138  * @version Introduced in firmware 4.4.4.14
139  * @param tool GoExtTool object.
140  * @return kTRUE if supported, kFALSE if not.
141  */
142 GoFx(kBool) GoExtTool_XAnchorSupportEnabled(GoExtTool tool);
143 
144 /**
145  * Gets the X-anchoring option list count.
146  *
147  * @public @memberof GoExtTool
148  * @version Introduced in firmware 4.4.4.14
149  *
150  * @param tool GoExtTool object.
151  * @return The X-anchoring option list count.
152  */
153 GoFx(kSize) GoExtTool_XAnchorOptionCount(GoExtTool tool);
154 
155 /**
156  * Gets the X-anchoring option at the given index.
157  *
158  * @public @memberof GoExtTool
159  * @version Introduced in firmware 4.4.4.14
160  *
161  * @param tool GoExtTool object.
162  * @param index The index of the option list to access.
163  * @return The X-anchoring option at the given index or k32U_MAX if invalid.
164  */
165 GoFx(k32u) GoExtTool_XAnchorOptionAt(GoExtTool tool, kSize index);
166 
167 /**
168  * Gets the current X-anchoring source.
169  *
170  * @public @memberof GoExtTool
171  * @version Introduced in firmware 4.4.4.14
172  *
173  * @param tool GoExtTool object.
174  * @return The X-anchoring source or -1 if no source is currently set.
175  */
176 GoFx(k32s) GoExtTool_XAnchor(GoExtTool tool);
177 
178 /**
179  * Sets the X-anchoring source.
180  *
181  * @public @memberof GoExtTool
182  * @version Introduced in firmware 4.4.4.14
183  *
184  * @param tool GoExtTool object.
185  * @param id The measurement ID of a valid X-anchoring source.
186  * @return Operation status.
187  * @see GoExtTool_AnchorSupportEnabled
188  */
189 GoFx(kStatus) GoExtTool_SetXAnchor(GoExtTool tool, k32s id);
190 
191 /**
192  * Returns a boolean value representing whether or not a valid X-anchoring source has been set for X-anchoring.
193  *
194  * @public @memberof GoExtTool
195  * @version Introduced in firmware 4.4.4.14
196  *
197  * @param tool GoExtTool object.
198  * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
199  * @see GoExtTool_AnchorSupportEnabled
200  */
201 GoFx(kBool) GoExtTool_XAnchorEnabled(GoExtTool tool);
202 
203 ///@cond (Gocator_3x00)
204 
205 /**
206  * Gets the Y-anchoring option list count.
207  *
208  * @public @memberof GoExtTool
209  * @version Introduced in firmware 4.4.4.14
210  *
211  * @param tool GoExtTool object.
212  * @return The Y-anchoring option list count.
213  */
214 GoFx(kSize) GoExtTool_YAnchorOptionCount(GoExtTool tool);
215 
216 /**
217  * Gets the Y-anchoring option at the given index.
218  *
219  * @public @memberof GoExtTool
220  * @version Introduced in firmware 4.4.4.14
221  *
222  * @param tool GoExtTool object.
223  * @param index The index of the option list to access.
224  * @return The Y-anchoring option at the given index or k32U_MAX if invalid.
225  */
226 GoFx(k32u) GoExtTool_YAnchorOptionAt(GoExtTool tool, kSize index);
227 
228 /**
229  * Gets the current Y-anchoring source.
230  *
231  * @public @memberof GoExtTool
232  * @version Introduced in firmware 4.4.4.14
233  *
234  * @param tool GoExtTool object.
235  * @return The Y-anchoring source or -1 if no source is currently set.
236  */
237 GoFx(k32s) GoExtTool_YAnchor(GoExtTool tool);
238 
239 /**
240  * Sets the Y-anchoring source.
241  *
242  * @public @memberof GoExtTool
243  * @version Introduced in firmware 4.4.4.14
244  * @param tool GoExtTool object.
245  * @param id The measurement ID of a valid Y-anchoring source.
246  * @return Operation status.
247  * @see GoExtTool_AnchorSupportEnabled, GoExtTool_Type
248  */
249 GoFx(kStatus) GoExtTool_SetYAnchor(GoExtTool tool, k32s id);
250 
251 /**
252  * Returns a boolean value representing whether or not a valid Y-anchoring source has been set for Y-anchoring.
253  *
254  * @public @memberof GoExtTool
255  * @version Introduced in firmware 4.4.4.14
256  * @param tool GoExtTool object.
257  * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
258  * @see GoExtTool_AnchorSupportEnabled, GoExtTool_Type
259  */
260 GoFx(kBool) GoExtTool_YAnchorEnabled(GoExtTool tool);
261 
262 ///@endcond
263 
264 ///@cond (Gocator_2x00 || Gocator_3x00)
265 
266 /**
267  * Gets the Z-anchoring option list count.
268  *
269  * @public @memberof GoExtTool
270  * @version Introduced in firmware 4.4.4.14
271  * @param tool GoExtTool object.
272  * @return The X-anchoring option list count.
273  */
274 GoFx(kSize) GoExtTool_ZAnchorOptionCount(GoExtTool tool);
275 
276 /**
277  * Gets the Z-anchoring option at the given index.
278  *
279  * @public @memberof GoExtTool
280  * @version Introduced in firmware 4.4.4.14
281  * @param tool GoExtTool object.
282  * @param index The index of the option list to access.
283  * @return The Z-anchoring option at the given index or k32U_MAX if invalid.
284  */
285 GoFx(k32u) GoExtTool_ZAnchorOptionAt(GoExtTool tool, kSize index);
286 
287 /**
288  * Gets the current Z-anchoring source.
289  *
290  * @public @memberof GoExtTool
291  * @version Introduced in firmware 4.4.4.14
292  * @param tool GoExtTool object.
293  * @return The Z-anchoring source or -1 if no source is currently set.
294  */
295 GoFx(k32s) GoExtTool_ZAnchor(GoExtTool tool);
296 
297 /**
298  * Sets the Z-anchoring source.
299  *
300  * @public @memberof GoExtTool
301  * @version Introduced in firmware 4.4.4.14
302  * @param tool GoExtTool object.
303  * @param id The measurement ID of a valid Z-anchoring source.
304  * @return Operation status.
305  * @see GoExtTool_AnchorSupportEnabled, GoExtTool_Type
306  */
307 GoFx(kStatus) GoExtTool_SetZAnchor(GoExtTool tool, k32s id);
308 
309 /**
310  * Returns a boolean value representing whether or not a valid Z-anchoring source has been set for Z-anchoring.
311  *
312  * @public @memberof GoExtTool
313  * @version Introduced in firmware 4.4.4.14
314  * @param tool GoExtTool object.
315  * @return kTRUE if a valid anchoring source is currently set and kFALSE otherwise.
316  * @see GoExtTool_AnchorSupportEnabled, GoExtTool_Type
317  */
318 GoFx(kBool) GoExtTool_ZAnchorEnabled(GoExtTool tool);
319 
320 ///@endcond
321 
322 /**
323  * Retrieves the first found instance of a measurement for a given enumeration type.
324  *
325  * @public @memberof GoExtTo
326  * @version Introduced in firmware 4.4.4.14
327  * @param tool GoExtTool object.
328  * @param name The name of the measurement to retrieve.
329  * @return A measurement object if one is found, otherwise kNULL.
330  */
331 GoFx(GoMeasurement) GoExtTool_FindMeasurementByName(GoExtTool tool, const kChar* name);
332 
333 /**
334  * Returns the number of parameters available for the given tool.
335  *
336  * @public @memberof GoExtTo
337  * @version Introduced in firmware 4.4.4.14
338  * @param tool GoExtTool object.
339  * @return Parameter count.
340  */
341 GoFx(kSize) GoExtTool_ParameterCount(GoExtTool tool);
342 
343 /**
344  * Returns the parameter at the given index.
345  *
346  * @public @memberof GoExtTo
347  * @version Introduced in firmware 4.4.4.14
348  * @param tool GoExtTool object.
349  * @param index The index of the parameter to retrieve.
350  * @return The custom tool parameter object.
351  */
352 GoFx(GoExtParam) GoExtTool_ParameterAt(GoExtTool tool, kSize index);
353 
354 /**
355  * Returns the parameter which matches the given label.
356  *
357  * @public @memberof GoExtTo
358  * @version Introduced in firmware 4.4.4.14
359  * @param tool GoExtTool object.
360  * @param label The label of the parameter to retrieve.
361  * @return The parameter matching the label or kNULL no match is found.
362  * @remark The search is case sensitive.
363  */
364 GoFx(GoExtParam) GoExtTool_FindParameterById(GoExtTool tool, const kChar* label);
365 
366 kEndHeader()
367 #include <GoSdk/Tools/GoExtTool.x.h>
368 
369 #endif
370 
371 ///@endcond
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.