Gocator API
 All Classes Files Functions Variables Typedefs Macros Modules Pages
GoFeature.h
Go to the documentation of this file.
1 /**
2  * @file GoFeature.h
3  * @brief Declares the GoFeature class.
4  *
5  * @internal
6  * Copyright (C) 2017-2022 by LMI Technologies Inc.
7  * Licensed under the MIT License.
8  * Redistributed files must retain the above copyright notice.
9  */
10 #ifndef GO_FEATURE_H
11 #define GO_FEATURE_H
12 
13 #include <GoSdk/GoSdkDef.h>
14 
15 /**
16  * @class GoFeature
17  * @extends kObject
18  * @ingroup GoSdk
19  * @brief Represents the base class for a tool Feature or script output.
20  */
21 typedef kObject GoFeature;
22 
23 /**
24  * Returns whether or not the given Feature has a valid ID assigned to it.
25  *
26  * @public @memberof GoFeature
27  * @version Introduced in firmware 4.6.3.27
28  * @param feature GoFeature object.
29  * @return kTRUE if there is an ID; kFALSE otherwise.
30  */
31 GoFx(kBool) GoFeature_HasId(GoFeature feature);
32 
33 /**
34  * Clears the assigned ID for the given Feature.
35  *
36  * @public @memberof GoFeature
37  * @version Introduced in firmware 4.6.3.27
38  * @param feature GoFeature object.
39  * @return Operation status.
40  */
41 GoFx(kStatus) GoFeature_ClearId(GoFeature feature);
42 
43 /**
44  * Sets an ID number for the given Feature.
45  *
46  * @public @memberof GoFeature
47  * @version Introduced in firmware 4.6.3.27
48  * @param feature GoFeature object.
49  * @param id The ID value to set for the feature.
50  * @return Operation status.
51  */
52 GoFx(kStatus) GoFeature_SetId(GoFeature feature, k32u id);
53 
54 /**
55  * Gets the ID for the given feature.
56  *
57  * @public @memberof GoFeature
58  * @version Introduced in firmware 4.6.3.27
59  * @param feature GoFeature object.
60  * @return The ID value if there is one assigned. Otherwise, -1 is returned.
61  */
62 GoFx(k32s) GoFeature_Id(GoFeature feature);
63 
64 /**
65  * Gets the name for the given feature.
66  *
67  * @public @memberof GoFeature
68  * @version Introduced in firmware 4.6.3.27
69  * @param feature GoFeature object.
70  * @return A character array pointer for the feature name.
71  */
72 GoFx(const kChar*) GoFeature_Name(GoFeature feature);
73 
74 /**
75  * Sets the name for the given feature.
76  *
77  * @public @memberof GoFeature
78  * @version Introduced in firmware 4.6.3.27
79  * @param feature GoFeature object.
80  * @param name The name to assign to the feature.
81  * @return Operation status.
82  */
83 GoFx(kStatus) GoFeature_SetName(GoFeature feature, const kChar* name);
84 
85 /**
86  * Returns the source tool of the given feature.
87  *
88  * @public @memberof GoFeature
89  * @version Introduced in firmware 4.6.3.27
90  * @param feature GoFeature object.
91  * @return A pointer to the source tool for the feature.
92  */
94 
95 /**
96  * Enables the given feature for output.
97  *
98  * @public @memberof GoFeature
99  * @version Introduced in firmware 4.6.3.27
100  * @param feature GoFeature object.
101  * @param enable Set to kTRUE to enable the feature, kFALSE to disable it.
102  * @return Operation status.
103  */
104 GoFx(kStatus) GoFeature_Enable(GoFeature feature, kBool enable);
105 
106 /**
107  * Returns a boolean value representing whether the given feature is enabled.
108  *
109  * @public @memberof GoFeature
110  * @version Introduced in firmware 4.6.3.27
111  * @param feature GoFeature object.
112  * @return kTRUE if enabled; kFALSE otherwise.
113  */
114 GoFx(kBool) GoFeature_Enabled(GoFeature feature);
115 
116 /**
117  * Gets the feature type for the given feature.
118  *
119  * @public @memberof GoFeature
120  * @version Introduced in firmware 4.6.3.27
121  * @param feature GoFeature object.
122  * @return A character array pointer for the feature type.
123  */
124 GoFx(const kChar*) GoFeature_Type(GoFeature feature);
125 
126 /**
127 * Gets the feature data type for the given feature.
128 *
129 * @public @memberof GoFeature
130 * @version Introduced in firmware 4.6.3.27
131 * @param feature GoFeature object.
132 * @return The feature data type enumerator value.
133 */
135 
136 /**
137 * Gets the feature type id for the given feature.
138 *
139 * @public @memberof GoFeature
140 * @version Introduced in firmware 4.6.3.27
141 * @param feature GoFeature object.
142 * @return The feature type enumerator value.
143 */
145 
146 #include <GoSdk/Tools/GoFeature.x.h>
147 
148 #endif
kStatus GoFeature_ClearId(GoFeature feature)
Clears the assigned ID for the given Feature.
GoFeatureType GoFeature_TypeId(GoFeature feature)
Gets the feature type id for the given feature.
kObject GoFeature_SourceTool(GoFeature feature)
Returns the source tool of the given feature.
const kChar * GoFeature_Name(GoFeature feature)
Gets the name for the given feature.
kBool GoFeature_Enabled(GoFeature feature)
Returns a boolean value representing whether the given feature is enabled.
Lists all feature types.
Lists all feature data types.
k32s GoFeature_Id(GoFeature feature)
Gets the ID for the given feature.
Essential SDK declarations.
kStatus GoFeature_SetName(GoFeature feature, const kChar *name)
Sets the name for the given feature.
const kChar * GoFeature_Type(GoFeature feature)
Gets the feature type for the given feature.
kStatus GoFeature_SetId(GoFeature feature, k32u id)
Sets an ID number for the given Feature.
Represents the base class for a tool Feature or script output.
kBool GoFeature_HasId(GoFeature feature)
Returns whether or not the given Feature has a valid ID assigned to it.
GoFeatureDataType GoFeature_DataType(GoFeature feature)
Gets the feature data type for the given feature.
kStatus GoFeature_Enable(GoFeature feature, kBool enable)
Enables the given feature for output.