IDL(1)

NAME
idl - MICO IDL tool

SYNOPSIS
idl [<options>] [<file>]

DESCRIPTION
The idl tool is used for translating IDL-specifications to C++ as well as feeding IDL-specifications into the interface repository. The idl tool takes its input either from a file or an interface repository and generates code for C++ or CORBA-IDL. If the input is taken from a file, the idl tool can additionally feed the specification into the interface repository.

OPTIONS

--help
    Gives an overview of all supported command line options.

--version
    Prints the version of MICO.

--config
    Prints some important MICO configuration infos.

-D<define>
    Defines a preprocessor macro. This option is equivalent to the -D switch of most Unix C-compilers.

-B<prefix>
    This option specifies the prefix to the include directory where to find the include files of the compiler itself.

-I<path>
    Defines a search path for #include directives. This option is equivalent to the -I switch of most Unix C-compilers. When generating #include directives, the IDL compiler relativizes the included file against the best match among the defined search paths.

--codegen-c++
    Tells idl to generate code for C++ as defined by the language mapping IDL to C++. The idl tool will generate two files, one ending in .h and one in .cc with the same basenames. This option is the default.

--no-codegen-c++
    Turns off the code generation for C++.

--no-exceptions
    Tells idl to disable exception handling in the generated code. Code for the exception classes is still generated but throwing exceptions will result in an error message and abort the program. This option can only be used in conjunction with --codegen-c++ This option is off by default.

--codegen-idl
    Turns on the code generation for CORBA--IDL. The idl tool will generate a file which contains the IDL specification which can again be fed into the idl tool. The basename of the file is specified with the --name option.

--no-codegen-idl
    Turns off the code generation of CORBA-IDL. This option is the default.

--c++-suffix=<suffix>
    If --codegen-c++ is selected, then this option determines the suffix for the C++ implementation file. The default is 'cc'

--c++-impl
    This option will cause the generation of some default C++ implementation classes for all interfaces contained in the IDL specification. This option requires --codegen-c++

--c++-skel
    Generate a separate file with suffix _skel.cc that contains code only needed by servers (i.e., the skeletons). By default this code is emitted in the standard C++ implementation files. This option requires --codegen-c++

--hh-prefix=<hh-prefix>
    If --codegen-c++ is selected, then this option causes the IDL compiler to generate the include statement for the C++ header file with the path prefix hh-prefix. The default is not to prefix a path.

--hh-suffix=<suffix>
    If --codegen-c++ is selected, then this option determines the suffix for the C++ header file. The default is 'h'

--use-quotes
    If selected, #include directives are generated as #include "..." instead of #include <...>

--no-paths
    If selected, #include directives are generated without any path components.

--include-prefix<include-prefix>
    This option causes the IDL compiler to substitute any occurrence of the include path specified by the closest preceeding -I option with include-prefix when generating #include directives.

--include-postfix<include-postfix>
    This option causes the IDL compiler to insert include-postfix between any occurrence of the include path specified by the closest preceeding -I option and the remaining subdirectory and file name when generating #include directives.

--emit-repoids
    This option will cause #pragma directives to be emitted, which associate the repository id of each IDL construct. This option can only be used in conjunction with the option --codegen-idl

--do-not-query-server-for-narrow
    If this option is used, the IDL compiler will omit special code for _narrow() methods which inhibits the querying of remote servers at runtime. In certain circumstances this is permissible, resulting in more efficient runtime behaviour. See test/idl/26/README for further comments.

--feed-ir
    The CORBA-IDL which is specified as a command line option is fed into the interface repository. This option requires the ird daemon to be running.

--feed-included-defs
    This option can only be used in conjunction with --feed-ir are fed into the interface repository as well. The default is to feed only the definitions of the main IDL file into the IR.

--repo-id=<id>
    The code generation is done from the information contained in the interface repository instead from a file. This option requires the ird daemon to be running. The parameter <id> is a repository identifier and must denote a CORBA module.

--name=<prefix>
    This option controls the prefix of the file names if a code generation is selected. This option is mandatory if the input is taken from the interface repository. If the input is taken from a file, the prefix is derived from the basename of the file name.

--pseudo
    Generates code for "pseudo interfaces". No stubs, skeletons or code for marshalling data to and from "any" variables is produced. Only supported for C++ code generation.

--any
    Activates support for insertion and extraction operators of user defined IDL types for Any. Can only be used in conjunction with --codegen-c++ This option implies --typecode

--typecode
    Generates code for TypeCodes of user defined IDL types. Can only be used in conjunction with --codegen-c++

--boa
    Generates skeletons that use the Basic Object Adapter (BOA).

--no-boa
    Turns off code generation of skeletons for the BOA. This is the default.

--poa
    Generates skeletons that use the Portable Object Adapter (POA). This is the default.

--no-poa
    Turns off code generation of skeletons for the POA.

--gen-included-defs
    Generate code that was included using the #include directive.

--gen-full-dispatcher
    Usually the skeleton class generated for an interface contains only the dispatcher for the operations and attributes defined in this interface. With this option, the dispatcher will also include operations and attributes inherited from all base interfaces.

FILES
~/.micorc

SEE ALSO
MICO Reference Manual, rsh(1), micod(8), imr(1), ird(8), micorc(5)

COPYRIGHT
Copyright (C) 1997, Kay Roemer & Arno Puder

AUTHOR
Kay Roemer & Arno Puder