idlc 1.5.14
Interface Definition Language Compiler
Loading...
Searching...
No Matches
idl-results.h
Go to the documentation of this file.
1/**
2 * @file idl-results.h
3 * @brief Warning/Error codes.
4 * @details Here are the warning and error codes that may occur during compilation.
5 * @author Vladimir Shaleev <vladimirshaleev@gmail.com>
6 * @ingroup files
7 * @copyright MIT License
8 */
9#ifndef IDL_RESULTS_H
10#define IDL_RESULTS_H
11
12#include "idl-version.h"
13#include "idl-types.h"
14
16
17/**
18 * @brief Result codes.
19 * @details Enumeration of result codes.
20 * @ingroup enums
21 */
22typedef enum
23{
24 IDL_RESULT_SUCCESS = 0, /**< Indicates success (this is not an error). */
25 IDL_RESULT_ERROR_UNKNOWN = 1, /**< Unknown error. */
26 IDL_RESULT_ERROR_OUT_OF_MEMORY = 2, /**< Out of memory. */
27 IDL_RESULT_ERROR_INVALID_ARG = 3, /**< Invalid argument. */
28 IDL_RESULT_ERROR_FILE_CREATE = 4, /**< Failed to create file. */
29 IDL_RESULT_ERROR_COMPILATION = 5, /**< Compilation failed. */
30 IDL_RESULT_ERROR_NOT_SUPPORTED = 6, /**< Not supporeted. */
31 IDL_RESULT_MAX_ENUM = 0x7FFFFFFF /**< Max value of enum (not used) */
32} idl_result_t;
33
34/**
35 * @brief Compilation statuses.
36 * @details This enumeration contains warnings and errors that may occur during compilation.
37 * @ingroup enums
38 */
39typedef enum
40{
41 IDL_STATUS_W1001 = 1001, /**< Missing 'author' attribute. */
42 IDL_STATUS_W1002 = 1002, /**< Missing 'copyright' attribute. */
43 IDL_STATUS_E2001 = 2001, /**< Unexpected character. */
44 IDL_STATUS_E2002 = 2002, /**< Tabs are not allowed. */
45 IDL_STATUS_E2003 = 2003, /**< The name or type must start with a capital letter. */
46 IDL_STATUS_E2004 = 2004, /**< There can only be one api declaration. */
47 IDL_STATUS_E2005 = 2005, /**< There is no documentation in the declaration. */
48 IDL_STATUS_E2006 = 2006, /**< Documentation cannot be an empty string. */
49 IDL_STATUS_E2007 = 2007, /**< The brief should only be listed once in the documentation. */
50 IDL_STATUS_E2008 = 2008, /**< The detail should only be listed once in the documentation. */
51 IDL_STATUS_E2009 = 2009, /**< The copyright should only be listed once in the documentation. */
52 IDL_STATUS_E2010 = 2010, /**< The license should only be listed once in the documentation. */
53 IDL_STATUS_E2011 = 2011, /**< Unknown error. */
54 IDL_STATUS_E2012 = 2012, /**< The .idl file must start with the 'api' element. */
55 IDL_STATUS_E2013 = 2013, /**< Attribute cannot be duplicated. */
56 IDL_STATUS_E2014 = 2014, /**< The attribute is not valid in the context of use. */
57 IDL_STATUS_E2015 = 2015, /**< Unknown attribute. */
58 IDL_STATUS_E2016 = 2016, /**< Attribute must specify at least one argument. */
59 IDL_STATUS_E2017 = 2017, /**< Argument in attribute 'platform' is not allowed. */
60 IDL_STATUS_E2018 = 2018, /**< Argument in attribute 'platform' cannot be duplicated. */
61 IDL_STATUS_E2019 = 2019, /**< Inline documentation only [detail] description is allowed. */
62 IDL_STATUS_E2020 = 2020, /**< Invalid attribute in documentation. */
63 IDL_STATUS_E2021 = 2021, /**< It is acceptable to use either documentation or inline documentation, but not both. */
64 IDL_STATUS_E2022 = 2022, /**< Constants can only be added to an enumeration type. */
65 IDL_STATUS_E2023 = 2023, /**< The 'value' attribute must specify the value in the argument. */
66 IDL_STATUS_E2024 = 2024, /**< The 'value' attribute must contain only one value. */
67 IDL_STATUS_E2025 = 2025, /**< The 'value' attribute must specify an integer. */
68 IDL_STATUS_E2026 = 2026, /**< An enumeration must contain at least one constant. */
69 IDL_STATUS_E2027 = 2027, /**< Fields can only be added to a structured type. */
70 IDL_STATUS_E2028 = 2028, /**< The 'type' attribute must specify the type in the argument. */
71 IDL_STATUS_E2029 = 2029, /**< The 'type' attribute must contain only one type. */
72 IDL_STATUS_E2030 = 2030, /**< Symbol redefinition. */
73 IDL_STATUS_E2031 = 2031, /**< Enumeration constants can only be specified as integers or enum consts. */
74 IDL_STATUS_E2032 = 2032, /**< Symbol definition not found. */
75 IDL_STATUS_E2033 = 2033, /**< A constant cannot refer to itself when evaluated. */
76 IDL_STATUS_E2034 = 2034, /**< Constants can only refer to other constants when evaluated. */
77 IDL_STATUS_E2035 = 2035, /**< Declaration is not a type. */
78 IDL_STATUS_E2036 = 2036, /**< Enumeration constant can only be of type 'Int32'. */
79 IDL_STATUS_E2037 = 2037, /**< Identifiers are case sensitive. */
80 IDL_STATUS_E2038 = 2038, /**< Constant cannot go beyond the range of 'Int32' [-2147483648, 2147483647]. */
81 IDL_STATUS_E2039 = 2039, /**< Constant was duplicated. */
82 IDL_STATUS_E2040 = 2040, /**< Cyclic dependence of constant. */
83 IDL_STATUS_E2041 = 2041, /**< Could not find file for import. */
84 IDL_STATUS_E2042 = 2042, /**< Failed to open file. */
85 IDL_STATUS_E2043 = 2043, /**< Methods can only be added to a interface type. */
86 IDL_STATUS_E2044 = 2044, /**< Arguments can only be added to a method, function or callback. */
87 IDL_STATUS_E2045 = 2045, /**< Out of memory. */
88 IDL_STATUS_E2046 = 2046, /**< Static method cannot include argument' with attribute 'this'. */
89 IDL_STATUS_E2047 = 2047, /**< Constructor cannot include argument with attribute 'this'. */
90 IDL_STATUS_E2048 = 2048, /**< Method must include one argument with the 'this' attribute. */
91 IDL_STATUS_E2049 = 2049, /**< The 'get' attribute must specify a reference to the method in the argument. */
92 IDL_STATUS_E2050 = 2050, /**< The 'set' attribute must specify a reference to the method in the argument. */
93 IDL_STATUS_E2051 = 2051, /**< Argument of method cannot be of type 'Void'. */
94 IDL_STATUS_E2052 = 2052, /**< The property must contain at least the 'get' attribute or the 'set' attribute or both. */
95 IDL_STATUS_E2053 = 2053, /**< Getter must be a method. */
96 IDL_STATUS_E2054 = 2054, /**< A property getter cannot reference a method from another interface. */
97 IDL_STATUS_E2055 = 2055, /**< If the getter method is static, then the property must also be static, and vice versa. */
98 IDL_STATUS_E2056 = 2056, /**< A static getter method must not have arguments. */
99 IDL_STATUS_E2057 = 2057, /**< A getter method must have one argument. */
100 IDL_STATUS_E2058 = 2058, /**< Getter method cannot return 'Void'. */
101 IDL_STATUS_E2059 = 2059, /**< Setter must be a method. */
102 IDL_STATUS_E2060 = 2060, /**< If the setter method is static, then the property must also be static, and vice versa. */
103 IDL_STATUS_E2061 = 2061, /**< A property setter cannot reference a method from another interface. */
104 IDL_STATUS_E2062 = 2062, /**< A static setter method must have one argument. */
105 IDL_STATUS_E2063 = 2063, /**< A setter method must have two arguments. */
106 IDL_STATUS_E2064 = 2064, /**< The return type of the getter method is different from the argument type of the setter method. */
107 IDL_STATUS_E2065 = 2065, /**< The property type does not match the return type of the getter method. */
108 IDL_STATUS_E2066 = 2066, /**< The property type does not match the setter method argument type. */
109 IDL_STATUS_E2067 = 2067, /**< Failed to create file. */
110 IDL_STATUS_E2068 = 2068, /**< Field 'of struct cannot be of type 'Void'. */
111 IDL_STATUS_E2069 = 2069, /**< The handle type must be specified. */
112 IDL_STATUS_E2070 = 2070, /**< The handle type must be struct. */
113 IDL_STATUS_E2071 = 2071, /**< The structure specified in the handle type must be marked with the 'handle' attribute. */
114 IDL_STATUS_E2072 = 2072, /**< It is not possible to add the 'noerror' attribute to the constant because the enum does not have the 'errorcode' attribute. */
115 IDL_STATUS_E2073 = 2073, /**< Function argument cannot be marked with the 'this' attribute. */
116 IDL_STATUS_E2074 = 2074, /**< Argument of function cannot be of type 'Void'. */
117 IDL_STATUS_E2075 = 2075, /**< The 'cname' attribute must specify a string in the argument. */
118 IDL_STATUS_E2076 = 2076, /**< The 'array' attribute must specify a size in the argument. */
119 IDL_STATUS_E2077 = 2077, /**< Fixed size array of structure must be of size 1 or more. */
120 IDL_STATUS_E2078 = 2078, /**< The 'array' attribute of the must point to a field of the structure or set fixed size value. */
121 IDL_STATUS_E2079 = 2079, /**< The reference to the dynamic size array is located outside the visibility of the structure. */
122 IDL_STATUS_E2080 = 2080, /**< The 'array' attribute for array must point to an integer field for a dynamic array. */
123 IDL_STATUS_E2081 = 2081, /**< An struct must contain at least one field. */
124 IDL_STATUS_E2082 = 2082, /**< There can be only one argument with the 'userdata' attribute. */
125 IDL_STATUS_E2083 = 2083, /**< Callback argument cannot be marked with the 'this' attribute. */
126 IDL_STATUS_E2084 = 2084, /**< There can be only one argument with the 'result' attribute. */
127 IDL_STATUS_E2085 = 2085, /**< The function to convert an error code to a string must return a string and take one argument (the error code). */
128 IDL_STATUS_E2086 = 2086, /**< The method for incrementing the reference counter ('refinc' attribute) of an object must be non-static and take one argument 'this'. */
129 IDL_STATUS_E2087 = 2087, /**< The method for destroy of an object must be non-static and take one argument 'this'. */
130 IDL_STATUS_E2088 = 2088, /**< There can only be one method to increment reference counter. */
131 IDL_STATUS_E2089 = 2089, /**< There can only be one method to destroy object. */
132 IDL_STATUS_E2090 = 2090, /**< Events can only be added to a interface type. */
133 IDL_STATUS_E2091 = 2091, /**< The event must contain at least the 'get' attribute or the 'set' attribute or both. */
134 IDL_STATUS_E2092 = 2092, /**< Event getter from refers to a method from another interface. */
135 IDL_STATUS_E2093 = 2093, /**< If the getter method is static, then the event must also be static, and vice versa. */
136 IDL_STATUS_E2094 = 2094, /**< Static getter for event must have no arguments or one argument 'userdata'. */
137 IDL_STATUS_E2095 = 2095, /**< Getter for event must have one arguments or two arguments 'this' and 'userdata'. */
138 IDL_STATUS_E2096 = 2096, /**< Event setter from refers to a method from another interface. */
139 IDL_STATUS_E2097 = 2097, /**< If the setter method is static, then the event must also be static, and vice versa. */
140 IDL_STATUS_E2098 = 2098, /**< Static setter for event must have one argument or setter and 'userdata' arguments. */
141 IDL_STATUS_E2099 = 2099, /**< Setter for event must have two arguments 'this' and 'setter' or three arguments 'this', 'setter' and 'userdata'. */
142 IDL_STATUS_E2100 = 2100, /**< The event type does not match the return type of the getter method. */
143 IDL_STATUS_E2101 = 2101, /**< The event type does not match the setter method argument type. */
144 IDL_STATUS_E2102 = 2102, /**< The argument of a method, function, or callback cannot be a fixed-size array. */
145 IDL_STATUS_E2103 = 2103, /**< The reference to the dynamic size array is located outside the visibility of the method. */
146 IDL_STATUS_E2104 = 2104, /**< The 'array' attribute of the must point to a argument of the method. */
147 IDL_STATUS_E2105 = 2105, /**< The reference to the dynamic size array is located outside the visibility of the function. */
148 IDL_STATUS_E2106 = 2106, /**< The 'array' attribute of the must point to a argument of the function. */
149 IDL_STATUS_E2107 = 2107, /**< The reference to the dynamic size array is located outside the visibility of the callback. */
150 IDL_STATUS_E2108 = 2108, /**< The 'array' attribute of the must point to a argument of the callback. */
151 IDL_STATUS_E2109 = 2109, /**< The 'tokenizer' attribute must specify a indices string in the argument. */
152 IDL_STATUS_E2110 = 2110, /**< The 'version' attribute must specify a semver in the argument. */
153 IDL_STATUS_E2111 = 2111, /**< The declaration does not have a brief ('brief' attribute) or detailed description ('detail' attribute). */
154 IDL_STATUS_E2112 = 2112, /**< The 'datasize' attribute must specify a size in the argument. */
155 IDL_STATUS_E2113 = 2113, /**< The 'datasize' attribute of the must point to a field of the structure. */
156 IDL_STATUS_E2114 = 2114, /**< The 'datasize' attribute of the must point to an integer field to specify the buffer size. */
157 IDL_STATUS_E2115 = 2115, /**< The 'datasize' attribute of the must point to a argument of the method. */
158 IDL_STATUS_E2116 = 2116, /**< The 'datasize' attribute of the must point to a argument of the function. */
159 IDL_STATUS_E2117 = 2117, /**< The 'datasize' attribute of the must point to a argument of the callback. */
160 IDL_STATUS_E2118 = 2118, /**< The reference to the size buffer is located outside the visibility of the structure. */
161 IDL_STATUS_E2119 = 2119, /**< The 'datasize' attribute is only applicable to fields of type "Data" or "ConstData". */
162 IDL_STATUS_E2120 = 2120, /**< The reference to the size buffer is located outside the visibility of the callback. */
163 IDL_STATUS_E2121 = 2121, /**< The 'datasize' attribute is only applicable to arg of type "Data" or "ConstData". */
164 IDL_STATUS_E2122 = 2122, /**< The reference to the size buffer is located outside the visibility of the function. */
165 IDL_STATUS_E2123 = 2123, /**< The reference to the size buffer is located outside the visibility of the method. */
166 IDL_STATUS_E2124 = 2124, /**< Can only specify either the 'datasize' or 'array' attribute, but not both. */
167 IDL_STATUS_E2125 = 2125, /**< Cannot contain attribute 'errorcode'. */
168 IDL_STATUS_E2126 = 2126, /**< The 'refinc' attribute can only contain a method. */
169 IDL_STATUS_E2127 = 2127, /**< The 'destroy' attribute can only contain a method. */
170 IDL_STATUS_MAX_ENUM = 0x7FFFFFFF /**< Max value of enum (not used) */
171} idl_status_t;
172
173/**
174 * @brief Compilation message.
175 * @details Detailed description of warning or compilation error.
176 * @ingroup structs
177 */
178typedef struct
179{
180 idl_status_t status; /**< Compilation status. */
181 idl_bool_t is_error; /**< The message indicates an error. */
182 idl_utf8_t message; /**< Detailed text description. */
183 idl_utf8_t filename; /**< File in which warning or error was detected. */
184 idl_uint32_t line; /**< The line number where the warning or error was detected. */
185 idl_uint32_t column; /**< The column in which the warning or error was detected. */
186} idl_message_t;
187
188/**
189 * @brief Converts error code to descriptive string.
190 * @details Provides a text description for the result code.
191 * @param[in] result Result code.
192 * @return Corresponding text description of the result code.
193 * @ingroup functions
194 */
196idl_result_to_string(idl_result_t result);
197
198/**
199 * @name Functions of Compilation Result.
200 * @brief Functions for opaque type ::idl_compilation_result_t.
201 * @{
202 */
203
204/**
205 * @brief Increments reference count.
206 * @details Manages compilation result instance lifetime.
207 * @param[in] compilation_result Target compilation result instance.
208 * @return Reference to same compilation result.
209 * @sa ::idl_compilation_result_destroy
210 * @ingroup functions
211 */
212idl_api idl_compilation_result_t
213idl_compilation_result_reference(idl_compilation_result_t compilation_result);
214
215/**
216 * @brief Releases compilation result instance.
217 * @details Destroys when reference count reaches zero.
218 * @param[in] compilation_result Compilation result to destroy.
219 * @sa ::idl_compilation_result_reference
220 * @ingroup functions
221 */
222idl_api void
223idl_compilation_result_destroy(idl_compilation_result_t compilation_result);
224
225/**
226 * @brief Checking if there were warnings.
227 * @details Check if there were any warnings during compilation.
228 * @param[in] compilation_result Target compilation result instance.
229 * @return *TRUE*, if there are warnings.
230 * @ingroup functions
231 */
233idl_compilation_result_has_warnings(idl_compilation_result_t compilation_result);
234
235/**
236 * @brief Checking if there were errors.
237 * @details Check if there were any errors during compilation.
238 * @param[in] compilation_result Target compilation result instance.
239 * @return *TRUE*, if there are errors.
240 * @ingroup functions
241 */
243idl_compilation_result_has_errors(idl_compilation_result_t compilation_result);
244
245/**
246 * @brief Returns messages with warnings and errors.
247 * @details Returns messages with warnings and errors that occurred during compilation.
248 * @param[in] compilation_result Target compilation result instance.
249 * @param[in,out] message_count Number of messages.
250 * @param[out] messages Message array.
251 * @ingroup functions
252 */
253idl_api void
254idl_compilation_result_get_messages(idl_compilation_result_t compilation_result,
255 idl_uint32_t* message_count,
256 idl_message_t* messages);
257
258/** @} */
259
261
262#endif /* IDL_RESULTS_H */
@ IDL_RESULT_ERROR_FILE_CREATE
Failed to create file.
Definition idl-results.h:28
@ IDL_RESULT_SUCCESS
Indicates success (this is not an error).
Definition idl-results.h:24
@ IDL_RESULT_ERROR_INVALID_ARG
Invalid argument.
Definition idl-results.h:27
@ IDL_RESULT_ERROR_UNKNOWN
Unknown error.
Definition idl-results.h:25
@ IDL_RESULT_ERROR_COMPILATION
Compilation failed.
Definition idl-results.h:29
@ IDL_RESULT_ERROR_NOT_SUPPORTED
Not supporeted.
Definition idl-results.h:30
@ IDL_RESULT_ERROR_OUT_OF_MEMORY
Out of memory.
Definition idl-results.h:26
@ IDL_RESULT_MAX_ENUM
Max value of enum (not used)
Definition idl-results.h:31
@ IDL_STATUS_E2057
A getter method must have one argument.
Definition idl-results.h:99
@ IDL_STATUS_E2102
The argument of a method, function, or callback cannot be a fixed-size array.
Definition idl-results.h:144
@ IDL_STATUS_E2060
If the setter method is static, then the property must also be static, and vice versa.
Definition idl-results.h:102
@ IDL_STATUS_E2031
Enumeration constants can only be specified as integers or enum consts.
Definition idl-results.h:73
@ IDL_STATUS_E2077
Fixed size array of structure must be of size 1 or more.
Definition idl-results.h:119
@ IDL_STATUS_E2056
A static getter method must not have arguments.
Definition idl-results.h:98
@ IDL_STATUS_E2110
The 'version' attribute must specify a semver in the argument.
Definition idl-results.h:152
@ IDL_STATUS_E2051
Argument of method cannot be of type 'Void'.
Definition idl-results.h:93
@ IDL_STATUS_E2055
If the getter method is static, then the property must also be static, and vice versa.
Definition idl-results.h:97
@ IDL_STATUS_E2081
An struct must contain at least one field.
Definition idl-results.h:123
@ IDL_STATUS_E2059
Setter must be a method.
Definition idl-results.h:101
@ IDL_STATUS_E2042
Failed to open file.
Definition idl-results.h:84
@ IDL_STATUS_E2038
Constant cannot go beyond the range of 'Int32' [-2147483648, 2147483647].
Definition idl-results.h:80
@ IDL_STATUS_E2076
The 'array' attribute must specify a size in the argument.
Definition idl-results.h:118
@ IDL_STATUS_E2118
The reference to the size buffer is located outside the visibility of the structure.
Definition idl-results.h:160
@ IDL_STATUS_E2068
Field 'of struct cannot be of type 'Void'.
Definition idl-results.h:110
@ IDL_STATUS_E2097
If the setter method is static, then the event must also be static, and vice versa.
Definition idl-results.h:139
@ IDL_STATUS_E2074
Argument of function cannot be of type 'Void'.
Definition idl-results.h:116
@ IDL_STATUS_E2011
Unknown error.
Definition idl-results.h:53
@ IDL_STATUS_E2126
The 'refinc' attribute can only contain a method.
Definition idl-results.h:168
@ IDL_STATUS_E2041
Could not find file for import.
Definition idl-results.h:83
@ IDL_STATUS_E2004
There can only be one api declaration.
Definition idl-results.h:46
@ IDL_STATUS_E2050
The 'set' attribute must specify a reference to the method in the argument.
Definition idl-results.h:92
@ IDL_STATUS_E2066
The property type does not match the setter method argument type.
Definition idl-results.h:108
@ IDL_STATUS_E2001
Unexpected character.
Definition idl-results.h:43
@ IDL_STATUS_E2122
The reference to the size buffer is located outside the visibility of the function.
Definition idl-results.h:164
@ IDL_STATUS_E2073
Function argument cannot be marked with the 'this' attribute.
Definition idl-results.h:115
@ IDL_STATUS_E2099
Setter for event must have two arguments 'this' and 'setter' or three arguments 'this',...
Definition idl-results.h:141
@ IDL_STATUS_E2016
Attribute must specify at least one argument.
Definition idl-results.h:58
@ IDL_STATUS_E2084
There can be only one argument with the 'result' attribute.
Definition idl-results.h:126
@ IDL_STATUS_E2048
Method must include one argument with the 'this' attribute.
Definition idl-results.h:90
@ IDL_STATUS_E2108
The 'array' attribute of the must point to a argument of the callback.
Definition idl-results.h:150
@ IDL_STATUS_E2086
The method for incrementing the reference counter ('refinc' attribute) of an object must be non-stati...
Definition idl-results.h:128
@ IDL_STATUS_E2123
The reference to the size buffer is located outside the visibility of the method.
Definition idl-results.h:165
@ IDL_STATUS_E2043
Methods can only be added to a interface type.
Definition idl-results.h:85
@ IDL_STATUS_E2104
The 'array' attribute of the must point to a argument of the method.
Definition idl-results.h:146
@ IDL_STATUS_E2002
Tabs are not allowed.
Definition idl-results.h:44
@ IDL_STATUS_E2070
The handle type must be struct.
Definition idl-results.h:112
@ IDL_STATUS_E2127
The 'destroy' attribute can only contain a method.
Definition idl-results.h:169
@ IDL_STATUS_E2116
The 'datasize' attribute of the must point to a argument of the function.
Definition idl-results.h:158
@ IDL_STATUS_E2061
A property setter cannot reference a method from another interface.
Definition idl-results.h:103
@ IDL_STATUS_E2082
There can be only one argument with the 'userdata' attribute.
Definition idl-results.h:124
@ IDL_STATUS_E2027
Fields can only be added to a structured type.
Definition idl-results.h:69
@ IDL_STATUS_E2107
The reference to the dynamic size array is located outside the visibility of the callback.
Definition idl-results.h:149
@ IDL_STATUS_E2062
A static setter method must have one argument.
Definition idl-results.h:104
@ IDL_STATUS_E2100
The event type does not match the return type of the getter method.
Definition idl-results.h:142
@ IDL_STATUS_W1002
Missing 'copyright' attribute.
Definition idl-results.h:42
@ IDL_STATUS_E2089
There can only be one method to destroy object.
Definition idl-results.h:131
@ IDL_STATUS_E2045
Out of memory.
Definition idl-results.h:87
@ IDL_STATUS_E2039
Constant was duplicated.
Definition idl-results.h:81
@ IDL_STATUS_E2114
The 'datasize' attribute of the must point to an integer field to specify the buffer size.
Definition idl-results.h:156
@ IDL_STATUS_E2028
The 'type' attribute must specify the type in the argument.
Definition idl-results.h:70
@ IDL_STATUS_E2026
An enumeration must contain at least one constant.
Definition idl-results.h:68
@ IDL_STATUS_E2009
The copyright should only be listed once in the documentation.
Definition idl-results.h:51
@ IDL_STATUS_E2025
The 'value' attribute must specify an integer.
Definition idl-results.h:67
@ IDL_STATUS_E2029
The 'type' attribute must contain only one type.
Definition idl-results.h:71
@ IDL_STATUS_E2036
Enumeration constant can only be of type 'Int32'.
Definition idl-results.h:78
@ IDL_STATUS_E2024
The 'value' attribute must contain only one value.
Definition idl-results.h:66
@ IDL_STATUS_E2018
Argument in attribute 'platform' cannot be duplicated.
Definition idl-results.h:60
@ IDL_STATUS_E2046
Static method cannot include argument' with attribute 'this'.
Definition idl-results.h:88
@ IDL_STATUS_E2040
Cyclic dependence of constant.
Definition idl-results.h:82
@ IDL_STATUS_E2013
Attribute cannot be duplicated.
Definition idl-results.h:55
@ IDL_STATUS_E2101
The event type does not match the setter method argument type.
Definition idl-results.h:143
@ IDL_STATUS_E2022
Constants can only be added to an enumeration type.
Definition idl-results.h:64
@ IDL_STATUS_E2088
There can only be one method to increment reference counter.
Definition idl-results.h:130
@ IDL_STATUS_E2065
The property type does not match the return type of the getter method.
Definition idl-results.h:107
@ IDL_STATUS_E2083
Callback argument cannot be marked with the 'this' attribute.
Definition idl-results.h:125
@ IDL_STATUS_E2112
The 'datasize' attribute must specify a size in the argument.
Definition idl-results.h:154
@ IDL_STATUS_E2125
Cannot contain attribute 'errorcode'.
Definition idl-results.h:167
@ IDL_STATUS_E2063
A setter method must have two arguments.
Definition idl-results.h:105
@ IDL_STATUS_E2030
Symbol redefinition.
Definition idl-results.h:72
@ IDL_STATUS_E2021
It is acceptable to use either documentation or inline documentation, but not both.
Definition idl-results.h:63
@ IDL_STATUS_E2087
The method for destroy of an object must be non-static and take one argument 'this'.
Definition idl-results.h:129
@ IDL_STATUS_E2103
The reference to the dynamic size array is located outside the visibility of the method.
Definition idl-results.h:145
@ IDL_STATUS_E2005
There is no documentation in the declaration.
Definition idl-results.h:47
@ IDL_STATUS_E2037
Identifiers are case sensitive.
Definition idl-results.h:79
@ IDL_STATUS_E2091
The event must contain at least the 'get' attribute or the 'set' attribute or both.
Definition idl-results.h:133
@ IDL_STATUS_E2023
The 'value' attribute must specify the value in the argument.
Definition idl-results.h:65
@ IDL_STATUS_E2067
Failed to create file.
Definition idl-results.h:109
@ IDL_STATUS_E2085
The function to convert an error code to a string must return a string and take one argument (the err...
Definition idl-results.h:127
@ IDL_STATUS_E2092
Event getter from refers to a method from another interface.
Definition idl-results.h:134
@ IDL_STATUS_E2075
The 'cname' attribute must specify a string in the argument.
Definition idl-results.h:117
@ IDL_STATUS_E2117
The 'datasize' attribute of the must point to a argument of the callback.
Definition idl-results.h:159
@ IDL_STATUS_E2064
The return type of the getter method is different from the argument type of the setter method.
Definition idl-results.h:106
@ IDL_STATUS_E2079
The reference to the dynamic size array is located outside the visibility of the structure.
Definition idl-results.h:121
@ IDL_STATUS_E2049
The 'get' attribute must specify a reference to the method in the argument.
Definition idl-results.h:91
@ IDL_STATUS_E2017
Argument in attribute 'platform' is not allowed.
Definition idl-results.h:59
@ IDL_STATUS_E2054
A property getter cannot reference a method from another interface.
Definition idl-results.h:96
@ IDL_STATUS_E2047
Constructor cannot include argument with attribute 'this'.
Definition idl-results.h:89
@ IDL_STATUS_E2033
A constant cannot refer to itself when evaluated.
Definition idl-results.h:75
@ IDL_STATUS_E2069
The handle type must be specified.
Definition idl-results.h:111
@ IDL_STATUS_E2080
The 'array' attribute for array must point to an integer field for a dynamic array.
Definition idl-results.h:122
@ IDL_STATUS_E2032
Symbol definition not found.
Definition idl-results.h:74
@ IDL_STATUS_E2035
Declaration is not a type.
Definition idl-results.h:77
@ IDL_STATUS_E2010
The license should only be listed once in the documentation.
Definition idl-results.h:52
@ IDL_STATUS_E2058
Getter method cannot return 'Void'.
Definition idl-results.h:100
@ IDL_STATUS_E2071
The structure specified in the handle type must be marked with the 'handle' attribute.
Definition idl-results.h:113
@ IDL_STATUS_E2113
The 'datasize' attribute of the must point to a field of the structure.
Definition idl-results.h:155
@ IDL_STATUS_E2020
Invalid attribute in documentation.
Definition idl-results.h:62
@ IDL_STATUS_E2034
Constants can only refer to other constants when evaluated.
Definition idl-results.h:76
@ IDL_STATUS_E2109
The 'tokenizer' attribute must specify a indices string in the argument.
Definition idl-results.h:151
@ IDL_STATUS_MAX_ENUM
Max value of enum (not used)
Definition idl-results.h:170
@ IDL_STATUS_E2119
The 'datasize' attribute is only applicable to fields of type "Data" or "ConstData".
Definition idl-results.h:161
@ IDL_STATUS_E2095
Getter for event must have one arguments or two arguments 'this' and 'userdata'.
Definition idl-results.h:137
@ IDL_STATUS_E2098
Static setter for event must have one argument or setter and 'userdata' arguments.
Definition idl-results.h:140
@ IDL_STATUS_E2115
The 'datasize' attribute of the must point to a argument of the method.
Definition idl-results.h:157
@ IDL_STATUS_E2106
The 'array' attribute of the must point to a argument of the function.
Definition idl-results.h:148
@ IDL_STATUS_E2044
Arguments can only be added to a method, function or callback.
Definition idl-results.h:86
@ IDL_STATUS_E2014
The attribute is not valid in the context of use.
Definition idl-results.h:56
@ IDL_STATUS_E2003
The name or type must start with a capital letter.
Definition idl-results.h:45
@ IDL_STATUS_E2094
Static getter for event must have no arguments or one argument 'userdata'.
Definition idl-results.h:136
@ IDL_STATUS_E2007
The brief should only be listed once in the documentation.
Definition idl-results.h:49
@ IDL_STATUS_E2012
The .idl file must start with the 'api' element.
Definition idl-results.h:54
@ IDL_STATUS_E2052
The property must contain at least the 'get' attribute or the 'set' attribute or both.
Definition idl-results.h:94
@ IDL_STATUS_E2096
Event setter from refers to a method from another interface.
Definition idl-results.h:138
@ IDL_STATUS_E2072
It is not possible to add the 'noerror' attribute to the constant because the enum does not have the ...
Definition idl-results.h:114
@ IDL_STATUS_E2015
Unknown attribute.
Definition idl-results.h:57
@ IDL_STATUS_E2121
The 'datasize' attribute is only applicable to arg of type "Data" or "ConstData".
Definition idl-results.h:163
@ IDL_STATUS_E2120
The reference to the size buffer is located outside the visibility of the callback.
Definition idl-results.h:162
@ IDL_STATUS_E2090
Events can only be added to a interface type.
Definition idl-results.h:132
@ IDL_STATUS_E2019
Inline documentation only [detail] description is allowed.
Definition idl-results.h:61
@ IDL_STATUS_E2105
The reference to the dynamic size array is located outside the visibility of the function.
Definition idl-results.h:147
@ IDL_STATUS_E2124
Can only specify either the 'datasize' or 'array' attribute, but not both.
Definition idl-results.h:166
@ IDL_STATUS_E2006
Documentation cannot be an empty string.
Definition idl-results.h:48
@ IDL_STATUS_E2008
The detail should only be listed once in the documentation.
Definition idl-results.h:50
@ IDL_STATUS_W1001
Missing 'author' attribute.
Definition idl-results.h:41
@ IDL_STATUS_E2053
Getter must be a method.
Definition idl-results.h:95
@ IDL_STATUS_E2093
If the getter method is static, then the event must also be static, and vice versa.
Definition idl-results.h:135
@ IDL_STATUS_E2078
The 'array' attribute of the must point to a field of the structure or set fixed size value.
Definition idl-results.h:120
@ IDL_STATUS_E2111
The declaration does not have a brief ('brief' attribute) or detailed description ('detail' attribute...
Definition idl-results.h:153
idl_bool_t idl_compilation_result_has_errors(idl_compilation_result_t compilation_result)
Checking if there were errors.
idl_compilation_result_t idl_compilation_result_reference(idl_compilation_result_t compilation_result)
Increments reference count.
void idl_compilation_result_destroy(idl_compilation_result_t compilation_result)
Releases compilation result instance.
void idl_compilation_result_get_messages(idl_compilation_result_t compilation_result, idl_uint32_t *message_count, idl_message_t *messages)
Returns messages with warnings and errors.
idl_bool_t idl_compilation_result_has_warnings(idl_compilation_result_t compilation_result)
Checking if there were warnings.
idl_utf8_t idl_result_to_string(idl_result_t result)
Converts error code to descriptive string.
#define IDL_END
Ends a C-linkage declaration block.
Definition idl-platform.h:43
#define idl_api
Controls symbol visibility for shared library builds.
Definition idl-platform.h:61
#define IDL_BEGIN
Begins a C-linkage declaration block.
Definition idl-platform.h:42
int32_t idl_bool_t
boolean type.
Definition idl-platform.h:113
const char * idl_utf8_t
utf8 string.
Definition idl-platform.h:124
uint32_t idl_uint32_t
32 bit unsigned integer.
Definition idl-platform.h:119
idl_uint32_t line
The line number where the warning or error was detected.
Definition idl-results.h:184
idl_uint32_t column
The column in which the warning or error was detected.
Definition idl-results.h:185
idl_bool_t is_error
The message indicates an error.
Definition idl-results.h:181
idl_status_t status
Compilation status.
Definition idl-results.h:180
idl_utf8_t message
Detailed text description.
Definition idl-results.h:182
idl_utf8_t filename
File in which warning or error was detected.
Definition idl-results.h:183