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 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 kBeginHeader()
16 
17 /**
18  * @class GoFeature
19  * @extends kObject
20  * @ingroup GoSdk
21  * @brief Represents the base class for a tool Feature or script output.
22  */
23 typedef kObject GoFeature;
24 
25 /**
26  * Returns whether or not the given Feature has a valid ID assigned to it.
27  *
28  * @public @memberof GoFeature
29  * @version Introduced in firmware 4.6.3.27
30  * @param feature GoFeature object.
31  * @return kTRUE if there is an ID; kFALSE otherwise.
32  */
33 GoFx(kBool) GoFeature_HasId(GoFeature feature);
34 
35 /**
36  * Clears the assigned ID for the given Feature.
37  *
38  * @public @memberof GoFeature
39  * @version Introduced in firmware 4.6.3.27
40  * @param feature GoFeature object.
41  * @return Operation status.
42  */
43 GoFx(kStatus) GoFeature_ClearId(GoFeature feature);
44 
45 /**
46  * Sets an ID number for the given Feature.
47  *
48  * @public @memberof GoFeature
49  * @version Introduced in firmware 4.6.3.27
50  * @param feature GoFeature object.
51  * @param id The ID value to set for the feature.
52  * @return Operation status.
53  */
54 GoFx(kStatus) GoFeature_SetId(GoFeature feature, k32u id);
55 
56 /**
57  * Gets the ID for the given feature.
58  *
59  * @public @memberof GoFeature
60  * @version Introduced in firmware 4.6.3.27
61  * @param feature GoFeature object.
62  * @return The ID value if there is one assigned. Otherwise, -1 is returned.
63  */
64 GoFx(k32s) GoFeature_Id(GoFeature feature);
65 
66 /**
67  * Gets the name for the given feature.
68  *
69  * @public @memberof GoFeature
70  * @version Introduced in firmware 4.6.3.27
71  * @param feature GoFeature object.
72  * @return A character array pointer for the feature name.
73  */
74 GoFx(const kChar*) GoFeature_Name(GoFeature feature);
75 
76 /**
77  * Sets the name for the given feature.
78  *
79  * @public @memberof GoFeature
80  * @version Introduced in firmware 4.6.3.27
81  * @param feature GoFeature object.
82  * @param name The name to assign to the feature.
83  * @return Operation status.
84  */
85 GoFx(kStatus) GoFeature_SetName(GoFeature feature, const kChar* name);
86 
87 /**
88  * Returns the source tool of the given feature.
89  *
90  * @public @memberof GoFeature
91  * @version Introduced in firmware 4.6.3.27
92  * @param feature GoFeature object.
93  * @return A pointer to the source tool for the feature.
94  */
95 GoFx(kObject) GoFeature_SourceTool(GoFeature feature);
96 
97 /**
98  * Enables the given feature for output.
99  *
100  * @public @memberof GoFeature
101  * @version Introduced in firmware 4.6.3.27
102  * @param feature GoFeature object.
103  * @param enable Set to kTRUE to enable the feature, kFALSE to disable it.
104  * @return Operation status.
105  */
106 GoFx(kStatus) GoFeature_Enable(GoFeature feature, kBool enable);
107 
108 /**
109  * Returns a boolean value representing whether the given feature is enabled.
110  *
111  * @public @memberof GoFeature
112  * @version Introduced in firmware 4.6.3.27
113  * @param feature GoFeature object.
114  * @return kTRUE if enabled; kFALSE otherwise.
115  */
116 GoFx(kBool) GoFeature_Enabled(GoFeature feature);
117 
118 /**
119  * Gets the feature type for the given feature.
120  *
121  * @public @memberof GoFeature
122  * @version Introduced in firmware 4.6.3.27
123  * @param feature GoFeature object.
124  * @return A character array pointer for the feature type.
125  */
126 GoFx(const kChar*) GoFeature_Type(GoFeature feature);
127 
128 /**
129 * Gets the feature data type for the given feature.
130 *
131 * @public @memberof GoFeature
132 * @version Introduced in firmware 4.6.3.27
133 * @param feature GoFeature object.
134 * @return The feature data type enumerator value.
135 */
136 GoFx(GoFeatureDataType) GoFeature_DataType(GoFeature feature);
137 
138 /**
139 * Gets the feature type id for the given feature.
140 *
141 * @public @memberof GoFeature
142 * @version Introduced in firmware 4.6.3.27
143 * @param feature GoFeature object.
144 * @return The feature type enumerator value.
145 */
146 GoFx(GoFeatureType) GoFeature_TypeId(GoFeature feature);
147 
148 
149 kEndHeader()
150 #include <GoSdk/Tools/GoFeature.x.h>
151 
152 #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.