idlc 1.5.14
Interface Definition Language Compiler
Loading...
Searching...
No Matches
Functions

Functions

idl_utf8_t idl_result_to_string (idl_result_t result)
 Converts error code to descriptive string.
 
idl_uint32_t idl_version (void)
 Current library version as packed 32-bit value.
 
idl_utf8_t idl_version_string (void)
 Current library version as human-readable string.
 

Functions of Options.

Functions for opaque type idl_options_t.

idl_result_t idl_options_create (idl_options_t *options)
 Creates new options instance.
 
idl_options_t idl_options_reference (idl_options_t options)
 Increments reference count.
 
void idl_options_destroy (idl_options_t options)
 Releases options instance.
 
idl_bool_t idl_options_get_debug_mode (idl_options_t options)
 Get debug mode.
 
void idl_options_set_debug_mode (idl_options_t options, idl_bool_t enable)
 Set debug mode.
 
idl_bool_t idl_options_get_warnings_as_errors (idl_options_t options)
 Get warning handling setting.
 
void idl_options_set_warnings_as_errors (idl_options_t options, idl_bool_t enable)
 Set warning handling setting.
 
idl_utf8_t idl_options_get_output_dir (idl_options_t options)
 Get output directory.
 
void idl_options_set_output_dir (idl_options_t options, idl_utf8_t dir)
 Set output directory.
 
void idl_options_get_import_dirs (idl_options_t options, idl_uint32_t *dir_count, idl_utf8_t *dirs)
 Returns an array of directories to search for imports.
 
void idl_options_set_import_dirs (idl_options_t options, idl_uint32_t dir_count, const idl_utf8_t *dirs)
 Configures directories to search for source files.
 
idl_import_callback_t idl_options_get_importer (idl_options_t options, idl_data_t *data)
 Get the current import callback.
 
void idl_options_set_importer (idl_options_t options, idl_import_callback_t callback, idl_data_t data)
 Set import callback.
 
idl_release_import_callback_t idl_options_get_release_import (idl_options_t options, idl_data_t *data)
 Get the current release import callback.
 
void idl_options_set_release_import (idl_options_t options, idl_release_import_callback_t callback, idl_data_t data)
 Set release import callback.
 
idl_write_callback_t idl_options_get_writer (idl_options_t options, idl_data_t *data)
 Get the current write callback.
 
void idl_options_set_writer (idl_options_t options, idl_write_callback_t callback, idl_data_t data)
 Set write callback.
 
void idl_options_get_additions (idl_options_t options, idl_uint32_t *addition_count, idl_utf8_t *additions)
 Get additional parameters.
 
void idl_options_set_additions (idl_options_t options, idl_uint32_t addition_count, const idl_utf8_t *additions)
 Set additional parameters.
 
const idl_api_version_tidl_options_get_version (idl_options_t options)
 Get api version.
 
void idl_options_set_version (idl_options_t options, const idl_api_version_t *version)
 Set api version.
 

Functions of Compilation Result.

Functions for opaque type idl_compilation_result_t.

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.
 
idl_bool_t idl_compilation_result_has_warnings (idl_compilation_result_t compilation_result)
 Checking if there were warnings.
 
idl_bool_t idl_compilation_result_has_errors (idl_compilation_result_t compilation_result)
 Checking if there were errors.
 
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.
 

Functions of Compiler.

Functions for opaque type idl_compiler_t.

idl_result_t idl_compiler_create (idl_compiler_t *compiler)
 Creates new compiler instance.
 
idl_compiler_t idl_compiler_reference (idl_compiler_t compiler)
 Increments reference count.
 
void idl_compiler_destroy (idl_compiler_t compiler)
 Releases compiler instance.
 
idl_result_t idl_compiler_compile (idl_compiler_t compiler, idl_generator_t generator, idl_utf8_t file, idl_uint32_t source_count, const idl_source_t *sources, idl_options_t options, idl_compilation_result_t *result)
 Compile IDL.
 

Function Documentation

◆ idl_compilation_result_destroy()

void idl_compilation_result_destroy ( idl_compilation_result_t compilation_result)

Releases compilation result instance.

Destroys when reference count reaches zero.

Parameters
[in]compilation_resultCompilation result to destroy.
See also
idl_compilation_result_reference

◆ idl_compilation_result_get_messages()

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.

Returns messages with warnings and errors that occurred during compilation.

Parameters
[in]compilation_resultTarget compilation result instance.
[in,out]message_countNumber of messages.
[out]messagesMessage array.

◆ idl_compilation_result_has_errors()

idl_bool_t idl_compilation_result_has_errors ( idl_compilation_result_t compilation_result)

Checking if there were errors.

Check if there were any errors during compilation.

Parameters
[in]compilation_resultTarget compilation result instance.
Returns
TRUE, if there are errors.

◆ idl_compilation_result_has_warnings()

idl_bool_t idl_compilation_result_has_warnings ( idl_compilation_result_t compilation_result)

Checking if there were warnings.

Check if there were any warnings during compilation.

Parameters
[in]compilation_resultTarget compilation result instance.
Returns
TRUE, if there are warnings.

◆ idl_compilation_result_reference()

idl_compilation_result_t idl_compilation_result_reference ( idl_compilation_result_t compilation_result)

Increments reference count.

Manages compilation result instance lifetime.

Parameters
[in]compilation_resultTarget compilation result instance.
Returns
Reference to same compilation result.
See also
idl_compilation_result_destroy

◆ idl_compiler_compile()

idl_result_t idl_compiler_compile ( idl_compiler_t compiler,
idl_generator_t generator,
idl_utf8_t file,
idl_uint32_t source_count,
const idl_source_t * sources,
idl_options_t options,
idl_compilation_result_t * result )

Compile IDL.

Parameters
[in]compilerTarget compiler.
[in]generatorTarget of generator.
[in]filePath to .idl file for compile.
[in]source_countNumber of sources.
[in]sourcesSources.
[in]optionsCompile options, may be null.
[out]resultCompilation result.
Returns
Compilation result.
Note
To read source code from memory instead of the file system, use sources and/or configure the importer with idl_options_set_importer and pass the file argument as empty.
Note
Priorities for resolving source code imports:

◆ idl_compiler_create()

idl_result_t idl_compiler_create ( idl_compiler_t * compiler)

Creates new compiler instance.

Creates an object for IDL compilation.

Parameters
[out]compilerNew compiler instance.
Returns
New compiler instance

◆ idl_compiler_destroy()

void idl_compiler_destroy ( idl_compiler_t compiler)

Releases compiler instance.

Destroys when reference count reaches zero.

Parameters
[in]compilerCompiler to destroy.
See also
idl_compiler_reference

◆ idl_compiler_reference()

idl_compiler_t idl_compiler_reference ( idl_compiler_t compiler)

Increments reference count.

Manages compiler instance lifetime.

Parameters
[in]compilerTarget compiler instance.
Returns
Reference to same compiler.
See also
idl_compiler_destroy

◆ idl_options_create()

idl_result_t idl_options_create ( idl_options_t * options)

Creates new options instance.

Creates an object for setting compiler options.

Parameters
[out]optionsNew options instance.
Returns
New options instance.

◆ idl_options_destroy()

void idl_options_destroy ( idl_options_t options)

Releases options instance.

Destroys when reference count reaches zero.

Parameters
[in]optionsOptions to destroy.
See also
idl_options_reference

◆ idl_options_get_additions()

void idl_options_get_additions ( idl_options_t options,
idl_uint32_t * addition_count,
idl_utf8_t * additions )

Get additional parameters.

Returns an array of additional parameters.

Parameters
[in]optionsTarget options.
[in,out]addition_countNumber of additions.
[out]additionsAdditions.
See also
idl_options_set_additions

◆ idl_options_get_debug_mode()

idl_bool_t idl_options_get_debug_mode ( idl_options_t options)

Get debug mode.

Return TRUE is debug mode enabled.

Parameters
[in]optionsTarget options.
Returns
TRUE is enabled.
See also
idl_options_set_debug_mode

◆ idl_options_get_import_dirs()

void idl_options_get_import_dirs ( idl_options_t options,
idl_uint32_t * dir_count,
idl_utf8_t * dirs )

Returns an array of directories to search for imports.

These paths are used to search source code when an import is encountered during compilation.

Parameters
[in]optionsTarget options.
[in,out]dir_countNumber of directories.
[out]dirsImport directories.
See also
idl_options_set_import_dirs

◆ idl_options_get_importer()

idl_import_callback_t idl_options_get_importer ( idl_options_t options,
idl_data_t * data )

Get the current import callback.

Returns a callback if one has been configured.

Parameters
[in]optionsTarget options.
[out]dataReturning a callback user data pointer (may be null).
Returns
Returns a callback.
See also
idl_options_set_importer

◆ idl_options_get_output_dir()

idl_utf8_t idl_options_get_output_dir ( idl_options_t options)

Get output directory.

Returns the path that the compiler will use to save compilation output.

Parameters
[in]optionsTarget options.
Returns
Directory path.
See also
idl_options_set_output_dir

◆ idl_options_get_release_import()

idl_release_import_callback_t idl_options_get_release_import ( idl_options_t options,
idl_data_t * data )

Get the current release import callback.

Callback for releasing sources allocated via idl_options_set_importer.

Parameters
[in]optionsTarget options.
[out]dataReturning a callback user data pointer (may be null).
Returns
Returns a callback.
See also
idl_options_set_release_import

◆ idl_options_get_version()

const idl_api_version_t * idl_options_get_version ( idl_options_t options)

Get api version.

Returns the API version or null.

Parameters
[in]optionsTarget options.
Returns
API version or null.
See also
idl_options_set_version

◆ idl_options_get_warnings_as_errors()

idl_bool_t idl_options_get_warnings_as_errors ( idl_options_t options)

Get warning handling setting.

Return TRUE if warnings are treated as errors.

Parameters
[in]optionsTarget options.
Returns
TRUE is enabled.
See also
idl_options_set_warnings_as_errors

◆ idl_options_get_writer()

idl_write_callback_t idl_options_get_writer ( idl_options_t options,
idl_data_t * data )

Get the current write callback.

Returns a callback if one has been configured.

Parameters
[in]optionsTarget options.
[out]dataReturning a callback user data pointer (may be null).
Returns
Returns a callback.
See also
idl_options_set_writer

◆ idl_options_reference()

idl_options_t idl_options_reference ( idl_options_t options)

Increments reference count.

Manages options instance lifetime.

Parameters
[in]optionsTarget options instance.
Returns
Reference to same options.
See also
idl_options_destroy

◆ idl_options_set_additions()

void idl_options_set_additions ( idl_options_t options,
idl_uint32_t addition_count,
const idl_utf8_t * additions )

Set additional parameters.

Sets additional parameters specific to the generator (idl_generator_t).

Parameters
[in]optionsTarget options.
[in]addition_countNumber of additions.
[in]additionsAdditions.
Note
Supported Generators:
See also
idl_options_get_additions

◆ idl_options_set_debug_mode()

void idl_options_set_debug_mode ( idl_options_t options,
idl_bool_t enable )

Set debug mode.

Setting debug compilation output to console.

Parameters
[in]optionsTarget options.
[in]enableEnable debug.
See also
idl_options_get_debug_mode

◆ idl_options_set_import_dirs()

void idl_options_set_import_dirs ( idl_options_t options,
idl_uint32_t dir_count,
const idl_utf8_t * dirs )

Configures directories to search for source files.

These paths are used to search source code when an import is encountered during compilation.

Parameters
[in]optionsTarget options.
[in]dir_countNumber of directories.
[in]dirsImport directories.
Note
These paths are used when resolving imports if the callback passed to idl_options_set_importer did not return a source (if idl_options_set_importer was configured)
See also
idl_options_get_import_dirs

◆ idl_options_set_importer()

void idl_options_set_importer ( idl_options_t options,
idl_import_callback_t callback,
idl_data_t data )

Set import callback.

Used to resolve code sources, such as when the compiler encounters imports.

Parameters
[in]optionsTarget options.
[in]callbackCallback function.
[in]dataCallback user data.
Note
If set, the importer will be used to resolve sources as the highest priority (then the sources passed to idl_compiler_compile in the sources argument will be used, then the directories passed to idl_options_set_import_dirs will be used, and then the current working directory).
Note
If file was not passed to idl_compiler_compile to compile from the file system, then the importer will also be used to obtain the main (primary) file named *<input>*.
Note
A typical use of an importer is to read source code from memory.
See also
idl_options_get_importer

◆ idl_options_set_output_dir()

void idl_options_set_output_dir ( idl_options_t options,
idl_utf8_t dir )

Set output directory.

Configure the path that the compiler will use to save compilation output.

Parameters
[in]optionsTarget options.
[in]dirDirectory path.
Note
Compiler output to the file system does not occur if output via a idl_options_set_writer is configured.
See also
idl_options_get_output_dir

◆ idl_options_set_release_import()

void idl_options_set_release_import ( idl_options_t options,
idl_release_import_callback_t callback,
idl_data_t data )

Set release import callback.

If the callback set in idl_options_set_importer allocates data on the heap or creates any resources, they can be freed by the callback set here.

Parameters
[in]optionsTarget options.
[in]callbackCallback function.
[in]dataCallback user data.
See also
idl_options_get_release_import

◆ idl_options_set_version()

void idl_options_set_version ( idl_options_t options,
const idl_api_version_t * version )

Set api version.

Sets the API version that will be saved in the compiler output.

Parameters
[in]optionsTarget options.
[in]versionApi version.
Note
If not set, then the API version will be taken from the [version(major,minor,micro)] attribute (sample: api Sample [version(2,3,1)]). If the api does not have a version attribute specified, then the version will be taken as 0.0.0.
See also
idl_options_get_version

◆ idl_options_set_warnings_as_errors()

void idl_options_set_warnings_as_errors ( idl_options_t options,
idl_bool_t enable )

Set warning handling setting.

Setting treat warnings as errors.

Parameters
[in]optionsTarget options.
[in]enableEnable treat warnings as errors.
See also
idl_options_get_warnings_as_errors

◆ idl_options_set_writer()

void idl_options_set_writer ( idl_options_t options,
idl_write_callback_t callback,
idl_data_t data )

Set write callback.

Configures a callback to receive compiler output. If the callback is set, no output will be made to the file system (idl_options_set_output_dir will also not be used).

Parameters
[in]optionsTarget options.
[in]callbackCallback function.
[in]dataCallback user data.
Note
Typical uses of a writer are writing to memory or outputting to the console and the like.
See also
idl_options_get_writer

◆ idl_result_to_string()

idl_utf8_t idl_result_to_string ( idl_result_t result)

Converts error code to descriptive string.

Provides a text description for the result code.

Parameters
[in]resultResult code.
Returns
Corresponding text description of the result code.

◆ idl_version()

idl_uint32_t idl_version ( void )

Current library version as packed 32-bit value.

Format: (major << 16) | (minor << 8) | micro.

Returns
Return packed version number

◆ idl_version_string()

idl_utf8_t idl_version_string ( void )

Current library version as human-readable string.

Format: "major.minor.micro", eg: "1.5.14".

Returns
Return version string.