On Windows, a VisiBroker for C++ header file (vdef.h) automatically places the VisiBroker for C++ library search records in the object files. This is done using the #pragma comment for both MSVC and BCB compilers. Depending on certain other definition such as
_DEBUG,
VISDEBUG or
_VIS_STD, appropriate library search records are selected. If this behavior is not required and VisiBroker for C++ library names are to be specified explicitly in the application link command, then
_VIS_NOLIB should be defined. By default it is not defined.
On UNIX platforms, the -J option is only available with VisiBroker Edition for Java on Solaris.
idl2cpp takes an IDL file as input and generates the corresponding C++ classes for the client and server side, client stubs, and server skeleton code.
The infile parameter represents the IDL file for which you wish C++ code to be generated and the arguments provide various controls over the resulting code.
Windows: When linking implementations based on the stubs and skeletons
idl2cpp generates, use the -
DSTRICT preprocessor option. Otherwise, the linker may display an error message stating that a constructor is missing from
orb.lib.
|
|
|
Defines a preprocessor macro foo, optionally with a value bar. To specify more than one preprocessor macro, use the -D option multiple times. For example: -Dfoo=bar -Dhello=world
|
|
|
|
Specifies an additional directory for #include searching. To specify more than one additional #include directory for searching, use the -I option multiple times. For example: -I/home/include -I /app/include
|
|
|
|
|
|
Specifies the file extension to be used for client files that are generated. The default extension is (_c). To generate client files without an extension, specify none as the value for < file_extension>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Generates the _pretty_print method. By default, this is set to on.
|
|
|
|
Generates class stream operators with standard iostream classes in their signature. The default is on.
|
|
Generates the _tie template classes. By default, _tie classes are generated.
|
|
|
|
|
|
Generates a warning if a #pragma is not recognized.
|
|
Causes the #include <filename> directive to be inserted in generated code instead of the usual #include <corba.h> directive. By default, #include <corba.h> is inserted into generated code.
|
|
|
|
|
|
Defines a tag name to be inserted into every client-side declaration (class, function, etc.) that is generated. Specifying-export _MY_TAG when invoking idl2cpp results in a class definition like this: class _MY_TAG Bank{...} instead of class Bank {...} By default, no tag names for client-side declarations are generated.
|
Windows: -export_skel <tag>
|
Defines a tag name to be inserted into just the server-side declarations that are generated. Specifying -export _MY_TAG when invoking idl2cpp results in a class definition like this: class _MY_TAG POA_Bank{...} instead of class POA_Bank {...} By default, no tag names for server-side declarations are generated.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Specifies the file extension to be used for server files that are generated. The default extension is (_s). To generate server files without an extension, specify none as the value for < file_extension>.
|
|
|
|
|
|
|
|
|
|
Requires -type_code_info flag. Generates pointer insertion/extraction into/from CORBA::Any. By default, it is off.
|
|
Requires -tie flag. Generate a tie class within same scope as skeleton class. By default, it is off.
|
|
|
|
The orb.idl has conditional definitions which are specific to either VisiBroker for C++ or VisiBroker for Java. Therefore, if you want to include the orb.idl in your IDL, you must turn on the VisiBroker for C++-specific definitions using the CPP macro. For example, use the following: idl2cpp -D CPP test.idl. Alternately, you may put the following line at the top of your IDL file:
|
The idl2ir command takes the name of an IDL file as input, binds itself to an interface repository server, and populates the repository with the IDL constructs contained in <filename>.idl. If the
-replace option is specified, if the repository already contains an item with the same name as an item in the IDL file, the old item is replaced.
The idl2ir command does not handle anonymous arrays or sequences properly. To work around this problem,
typedefs must be used for all sequences and arrays.
The options available to idl2cpp are also available to idl2wsc. In addition to the
idl2cpp options, the following are specific to idl2wsc: