2
3
4
5
6
7
8
18
19
20
21
35
36
37
38
174
175
176
177
189
190
191
192
193
194
199
200
201
202
205
206
207
208
209
210
211
212idl_api idl_compilation_result_t
216
217
218
219
220
221
226
227
228
229
230
231
236
237
238
239
240
241
246
247
248
249
250
251
252
256 idl_message_t* messages);
@ 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