Gocator API

- Home
- Types
- Files

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 <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 if 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 ///@endcond
370
371 #endif
k32u
GoTool.h
Declares the base GoTool class.
GoMeasurement
Represents the base class for a tool measurement or script output.
kSize
GoDataSource
Represents a data source.
kChar
GoSdkDef.h
Essential SDK declarations.
GoTool
Represents the base tool class.
k32s
kStatus
kXml.h
kBool