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