summaryrefslogtreecommitdiff
path: root/odk/docs
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2005-04-18 08:16:27 +0000
committerOliver Bolte <obo@openoffice.org>2005-04-18 08:16:27 +0000
commite934a666db4e525acfbf6a4e3207784920a3a5f9 (patch)
tree61226192f93b60292bd1725dbe99aea046f6b58b /odk/docs
parentce09846a024ed0a497c1c52d2651beae971bfeb7 (diff)
INTEGRATION: CWS sdkdevguide (1.16.12); FILE MERGED
2005/04/14 11:27:51 jsc 1.16.12.1: #120062# adapt year 2004 -> 2005
Diffstat (limited to 'odk/docs')
-rw-r--r--odk/docs/tools.html2
1 files changed, 1 insertions, 1 deletions
diff --git a/odk/docs/tools.html b/odk/docs/tools.html
index 60712b595605..8cf52f83239b 100644
--- a/odk/docs/tools.html
+++ b/odk/docs/tools.html
@@ -1 +1 @@
-<html> <head> <title>[TITLE] - Development Tools</title> <link rel="stylesheet" type="text/css" href="sdk_styles.css"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="author" content="J&uuml;rgen Schmidt"> <meta name="created" content="2004-12-14"> </head> <body class="sdkbody"><a name="tools"/> <table class="table1" cellpadding=0> <tr style="background-image:url(images/sdk_head-2.gif); backgorund-position: bottom; "> <td colspan="2" align="left"><img src="images/sdk_head-1.gif" width="335" height="109" usemap="#Map" border="0"></td> <td align=right><img src="images/sdk_head-3.gif" width="32" height="109"></td> </tr> <tr> <td colspan="3"><img class="nothing10" src="images/nada.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="3"><img class="nothing1" src="images/nada.gif"></td> </tr> <tr> <td> <table class="table3"> <tr> <td colspan="2" class="head1">Development Tools</td> <td align="right"><a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a></td> </tr> </table> </td> </tr> <tr> <td> <table class="table3"> <tr valign="top"> <td class="content3"><img src="images/arrow-1.gif"></td> <td><a href="#unopkg" title="link to the unopkg tool description">unopkg</a></td> <td class="content87">The new UNO package deployment tool. It comes with the office installation and can be found in the program directory of the office installation.</td> </tr> <tr valign="top"> <td class="content3"><img src="images/arrow-1.gif"></td> <td><a href="#pkgchk" title="link to the pkgchk tool description">pkgchk</a></td> <td class="content87">The old UNO package deployment tool. It comes also with the office installation and it is <b<i>deprecated</i></b>.</td> </tr> <tr valign="top"> <td class="content3"><img src="images/arrow-1.gif"></td> <td><a href="#unoexe" title="link to the uno tool description">uno</a></td> <td class="content87">Tool to provide a UNO runtime environment and provide configured (deployed) or single components. This tools comes with the office installation and can be found in the program directory of the office installation.</td> </tr> <tr valign="middle"> <td colspan="3"><img class="line" src="images/sdk_line-1.gif"></td> </tr> <tr valign="top"> <td class="content3"><img src="images/arrow-1.gif"></td> <td><a href="#idlc" title="link to the idlc tool description">idlc</a></td> <td class="content87">The UNOIDL compiler, generates a common binary type library format as base for all codemaker tools and the UNO runtime type library.</td> </tr> <tr valign="top"> <td class="content3"><img src="images/arrow-1.gif"></td> <td><a href="#cppumaker" title="link to the cppumaker tool description">cppumaker</a></td> <td class="content87">Tool for generating C++ code for the UNOIDL types stored in a type library.</td> </tr> <tr valign="top"> <td class="content3"><img src="images/arrow-1.gif"></td> <td><a href="#javamaker" title="link to the javamaker tool description">javamaker</a></td> <td class="content87">Tool for generating Java claas files for the UNOIDL types stored in a type library.</td> </tr> <tr valign="top"> <td class="content3"><img src="images/arrow-1.gif"></td> <td><a href="#rdbmaker" title="link to the rdbmaker tool description">rdbmaker</a></td> <td class="content87">Tool for building type libraries with only a specified set of types and their dependencies.</td> </tr> <tr valign="top"> <td class="content3"><img src="images/arrow-1.gif"></td> <td><a href="#regcomp" title="link to the regcomp tool description">regcomp</a></td> <td class="content87">A simple UNO component registration tool.</td> </tr> <tr valign="top"> <td class="content3"><img src="images/arrow-1.gif"></td> <td><a href="#regmerge" title="link to the regmerge tool description">regmerge</a></td> <td class="content87">Tool to merge several registry (e.g. type libraries) files into one file.</td> </tr> <tr valign="top"> <td class="content3"><img src="images/arrow-1.gif"></td> <td><a href="#regview" title="link to the regview tool description">regview</a></td> <td class="content87">Tool to view the content of a registry file in a human readable manner. Special support for type library nodes.</td> </tr> <tr valign="top"> <td class="content3"><img src="images/arrow-1.gif"></td> <td><a href="#xml2cmp" title="link to the xml2cmp tool description">xml2cmp</a></td> <td class="content87">A small helper tool to extract different information from xml module description files.</td> </tr> <tr valign="top"> <td class="content3"><img src="images/arrow-1.gif"></td> <td><a href="#autodoc" title="link to the autodoc tool description">autodoc</a></td> <td class="content87">Tool to generate javadoc-like documentation for C/C++ and UNOIDL files.</td> </tr> </table> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-2.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="2" class="head1"><a name="unopkg"/>unopkg</td> <td align="right"> <a style="a:link:visited #FFFFFF;" href="#tools" title="link to the tools overview"><img class="navigate" src="images/nav_up.png"></a> <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a></td> </tr> <tr> <td colspan="3"> <p>'unopkg' is a tool for easy deployment of UNO packages in an existing office installation. UNO packages are UNO components (single libraries or Jar files or more complex zip files that contains one or more libraries| Jar files, type libraries and configuration items), scripts and [PRODUCTNAME] Basic libraries as zip package. 'unopkg' is not part of the SDK but comes with the office directly and is a development tool as well as an end user tool to deploy extension into an office installation.</p> <p>More details concerning deployment and this tool can be find in the Developer's Guide: <a href="./DevelopersGuide/Components/Components.xhtml#1_9_1_UNO_Package_Installation_Using_unopkg" title="link to &quot;UNO Package Installation Using unopkg&quot; chapter in the Developer's Guide">4.9.1 UNO Package Installation Using <i>unopkg</i></a>.</p> <p><b>Note:</b> This tool works only in the <i>&lt;office&gt;/program</i> directory!</p> <p class="head2">Usage:</p> <blockquote> <b><code> unopkg add &lt;options&gt; package-path...<br> unopkg remove &lt;options&gt; package-name...<br> unopkg list &lt;options&gt; package-name...<br> unopkg reinstall &lt;options&gt;<br> unopkg gui<br> unopkg -V<br> unopkg -h<br> </code></b> </blockquote> <p class="head2">Sub-commands:</p> <p> <table class="table4"> <tr> <td class="cell15"><code>add</code></td> <td class="cell85">add packages</td> </tr> <tr> <td class="cell15"><code>remove</code></td> <td class="cell85">remove packages by name</td> </tr> <tr> <td class="cell15"><code>reinstall</code></td> <td class="cell85">export feature: reinstall all deployed packages</td> </tr> <tr> <td class="cell15"><code>list</code></td> <td class="cell85">list information about deployed packages</td> </tr> <tr> <td class="cell15"><code>gui</code></td> <td class="cell15">raise Package Manager Graphical User Interface (GUI)</td> </tr> </table> </p> <p class="head2">Options:</p> <p> <table class="table4"> <tr> <td class="cell15"><code>-h, --help</code></td> <td class="cell85">show this help on the command line</td> </tr> <tr> <td class="cell15"><code>-V, --version</code></td> <td class="cell85">shows version information </td> </tr> <tr> <td class="cell15"><code>-v, --verbose</code></td> <td class="cell85">dump verbose output to stdout</td> </tr> <tr> <td class="cell15"><code>-f, --force</code></td> <td class="cell85">force overwriting existing packages</td> </tr> <tr> <td class="cell15"><code>--log-file &lt;file&gt;</code></td> <td class="cell85">custom log file; default: <i>&lt;cache-dir&gt/log.txt</i>.</td> </tr> <tr> <td class="cell15"><code>--shared</code></td> <td class="cell85">expert feature: operate on shared installation deployment context; run only when no concurrent Office process(es) are running!</td> </tr> <tr> <td class="cell15"><code>--deployment-context &lt;context&gt</code> </td> <td class="cell85">expert feature: explicit deployment context</td> </tr> </table> </p> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-2.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="2" class="head1"><a name="pkgchk"/>pkgchk</td> <td align="right"> <a href="#tools" title="link to the tools overview"><img class="navigate" src="images/nav_up.png"></a> <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a> </td> </tr> <tr> <td colspan="3"> <p>'pkgchk' is <u><b>deprecated</b></u> and you should use the new <a href="#unopkg" title="link to the new unopkg tool">'unopkg'</a> deployment tool.</p> <p>'pkgchk' is a tool for easy deployment of UNO packages in an existing office installation. UNO packages are UNO components (single libraries or Jar files or more complex zip files that contains one or more libraries|Jar files, type libraries and configuration items) and [PRODUCTNAME] Basic libraries as zip package. More detailed information concerning deplyoment can be find in the Developer's Guide: <a href="./DevelopersGuide/Components/Components.xhtml#1_9_Deployment_Options_for_Components" title="link into the &quot;Deployment Options for Components&quot; chapter in the Developer's Guide">4.9 Deployment Options for Components</a>.</p> <p><b>Note:</b> This tool works only in the <i>&lt;office&gt;/program</i> directory!</p> <p class="head2">Usage:</p> <blockquote> <b><code>pkgchk &lt;options&gt; [package1 package2 ... ]</code></b> </blockquote> <p class="head2">Options:</p> <p> <table class="table4"> <tr> <td class="cell15"><code>-s, --shared|revoke</code></td> <td class="cell85">check/install shared components; default: user</td> </tr> <tr> <td class="cell15"><code>-r, --renewal</code></td> <td class="cell85">re-install all packages (useful for cache inconsistencies).</td> </tr> <tr> <td class="cell15"><code>-f, --force-overwrite</code></td> <td class="cell85">force overwrite existing packages when copying from command line.</td> </tr> <tr> <td class="cell15"><code>-v, --verbose</code></td> <td class="cell85">verbose output to stdout.</td> </tr> <tr> <td class="cell15"><code>-l, --log &lt;file&gt;</code></td> <td class="cell85">custom log file; default: <i>&lt;cache&gt/log.txt.</i></td> </tr> <tr> <td class="cell15"><code>--strict_error_handling</code></td> <td class="cell85">break process immediately if errors occur.</td> </tr> <tr> <td class="cell15"><code>--supersede_basic_libs</code></td> <td class="cell85">overwrite existing basic library entries of same name.</td> </tr> <tr> <td class="cell15"><code>--check_unorc_only</code></td> <td class="cell85">check/patch only the unorc (Unix), uni.ini (Windows).</td> </tr> <tr> <td class="cell15"><code>--no_unorc_patch</code></td> <td class="cell85">don't touch unorc (Unix), uni.ini (Windows).</td> </tr> <tr> <td class="cell15"><code>-h, --help</code></td> <td class="cell85">print a command line help to stdout.</td> </tr> </table> </p> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-2.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="2" class="head1"><a name="unoexe"/>uno</td> <td align="right"> <a href="#tools" title="link to the tools overview"><img class="navigate" src="images/nav_up.png"></a> <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a> </td> </tr> <tr> <td colspan="3"> <p>The UNO-starter is for running a component or service process, and providing a runtime environment. Raising a component might look like this </p> <p><code>[c:\] uno.exe -c MyComponent -l mycomp.dll -r myregistry.rdb -- foo bar</code></p> <p>or</p> <p><code>[c:\] uno.exe -s foo.bar.FooBarService -r myregistry.rdb -- foo bar</code></p> <p>The starter loads the component and instantiates it. The component must export the interface <a href="common/ref/com/sun/star/lang/XMain.html" title="link into the IDL reference to the interface com.sun.star.lang.XMain">com.sun.star.lang.XMain</a>:</p> <p> <code>interface XMain : com::sun::star::uno::XInterface <br> { <br> &nbsp;&nbsp;&nbsp; /** This method is called to run the component.<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @param aArguments command line arguments <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @return process error code to be returned to system <br> &nbsp;&nbsp;&nbsp; */ <br> &nbsp;&nbsp;&nbsp; long run( [in] sequence&lt; string &gt; arguments ); <br> }; </code> </p> <p>Method run() will be called and returns the error code given, back to the system. If the uno starter is executed with the -u (URL) option, then XInitialization is used instead of XMain. The -u option is described later.</p> <p class="head2">Usage:</p> <blockquote> <b><code>uno (-c&lt;ComponentImplementationName&gt; -l &lt;LocationUrl&gt; | -s &lt;ServiceName&gt;) <br> [-ro &lt;ReadOnlyRegistry1&gt;] [-ro &lt;ReadOnlyRegistry2&gt;] ... [-rw &lt;ReadWriteRegistry&gt;]<br> [-u uno:(socket[,host=&lt;HostName&gt;][,port=&lt;nnn&gt;]|pipe[,name=&lt;PipeName&gt;]);iiop|urp;&lt;Name&gt;<br> [--singleaccept] [--singleinstance]] <br> [-- &lt;Argument1 Argument2 ...&gt;] </code></b> </blockquote> <p class="head2">Options:</p> <p> <table class="table4"> <tr> <td class="cell15"><code>&lt;HostName&gt;</code></td> <td class="cell85">Specifying a host name might be necessary to distinguish the network interface to be used,if a machine is part of two networks.</td> </tr> <tr> <td class="cell15"><code>&lt;PipeName&gt;</code></td> <td class="cell85">Name of a named pipe.</td> </tr> <tr> <td class="cell15"><code>&lt;Name&gt;</code></td> <td class="cell85">Identifier for demanded called component instances.</td> </tr> <tr> <td class="cell15"><code>&lt;Registries&gt;</code></td> <td class="cell85">The optional <code>&lt;Registries&gt;</code> (e.g., c:\myreg.rdb) are used by the ServiceManager. The <i>ro</i> ones are opened for reading only; whereas, a single <i>rw</i> one will be opened for reading and writing. If the <i>rw</i> one does not exist, then it may be created. Components may read and write to store their persistent state.</td> </tr> <tr> <td class="cell15"><code>--singleaccept</code></td> <td class="cell85">The uno starter will accept one connection, provide the component instance and die.</td> </tr> <tr> <td class="cell15"><code>--singleinstance</code></td> <td class="cell85">The uno starter will accept any number of connections, but will provide the same single component instance any time instead of creating a new instance for each connection.</td> </tr> </table> <p><b>Service <a href="common/ref/com/sun/star/bridge/UnoUrlResolver.html" title="link into the IDL reference to the service com.sun.star.bridge.UnoUrlResolver">com.sun.star.bridge.UnoUrlResolver</a></b></p> <p>You can easily connect to a server started with the <code>-u (url)</code> option by using this service, giving the same url to resolve. The service provides you an instance from remote.</p> </p> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-2.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="2" class="head1"><a name="idlc"/>idlc</td> <td align="right"> <a href="#tools" title="link to the tools overview"><img class="navigate" src="images/nav_up.png"></a> <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a> </td> </tr> <tr> <td colspan="3"> <p>'idlc' is the UNOIDL compiler. It is a full featured compiler used to check UNODL type definitions and transform valid type definitions into a binary type library format, which is later used by all codemaker tools. It is also used as a dynamic type library for UNO at runtime.<br> You can find a syntax description for UNOIDL <a href="DevelopersGuide/Appendix/IDLSyntax/IDLSyntax.xhtml#1_UNOIDL_Syntax_Specification" title="link to the &quot;UNOIDL Syntax Specification&quot; chapter in the Developer's Guide">here</a>.</p> <p class="head2">Usage:</p> <blockquote> <b><code>idlc [-options] file_1 ... file_n | @&lt;filename&gt;</code></b> </blockquote> <p> <table class="table4"> <tr> <td class="cell15"><code>file_1 ... file_n</code></td> <td class="cell85">specifies one or more idl files. Only files with the extension '.idl' are valid.</td> </tr> <tr> <td class="cell15"><code>@&lt;filename&gt;</code></td> <td class="cell85">filename specifies the name of a command file.</td> </tr> </table> </p> <p class="head2">Options:</p> <p> <table class="table4"> <tr> <td class="cell15"><code>-O&lt;path&gt;</code></td> <td class="cell85">path describes the output directory. The generated output is a registry file with the same name as the idl input file.</td> </tr> <tr> <td class="cell15"><code>-I&lt;path&gt;</code></td> <td class="cell85">path specifies a directory where included files that will be searched by the preprocessor are located. Multiple directories can be combined with ';'.</td> </tr> <tr> <td class="cell15"><code>-D&lt;name&gt;</code></td> <td class="cell85">name defines a macro for the preprocessor.</td> </tr> <tr> <td class="cell15"><code>-C</code></td> <td class="cell85">generates complete type information, including additional service information and documentation.</td> </tr> <tr> <td class="cell15"><code>-h|?</code></td> <td class="cell85">print this help message and exit.</td> </tr> </table> </p> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-2.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="2" class="head1"><a name="cppumaker"/>cppumaker</td> <td align="right"> <a href="#tools" title="link to the tools overview"><img class="navigate" src="images/nav_up.png"></a> <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a> </td> </tr> <tr> <td colspan="3"> <p>The 'cppumaker' generates a C++ representation for idl types. The cppumaker works on a typelibrary, which is generated by the UNOIDL compiler (<a href="#idlc" link="link to the idlc tool description"> idlc</a>). It generates the output for all specified types and for all types the specified types depend on.</p> <p class="head2">Usage:</p> <blockquote> <b><code>cppumaker [-options] file_1 ... file_n</code></b> </blockquote> <p class="head2">Options:</p> <p> <table class="table4"> <tr> <td class="cell15"><code>-O&lt;path&gt;</code></td> <td class="cell85">path describes the root directory for the generated output. The output directory tree is generated under this directory.</td> </tr> <tr> <td class="cell15"><code>-T&lt;name&gt;<br> |-T&lt;t1&gt;;&lt;t2&gt;...</code></td> <td class="cell85">name specifies a type or a list of types. The output for this type and all dependent types are generated. If no '-T' option is specified, then output for all types is generated. It is also possible to use a wildcard 'xy.*' to generate a complete module inclusive all subdirectories. The use of '-T*' is equivalent to no '-T' option. Example: 'com.sun.star.uno.XInterface' or 'com.sun.star.uno.*' are valid types. </td> </tr> <tr> <td class="cell15"><code>-B&lt;name&gt;</code></td> <td class="cell85">name specifies the base node. All types are searched under this node. Default is the root '/' of the registry files.</td> </tr> <tr> <td class="cell15"><code>-L|-C</code></td> <td class="cell85">In general, the cppumaker tool generates <code>getCppuType()</code> functions in three ways: <p> <ol> <li>no option (default)<br> This generates headers so that UNO runs correctly as long as: <dl> <dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -- one compiler compiled all code (no bridging needed for inter-component communication)</dt> <dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -- no marshaling is needed (no bridging needed for interprocess communication)</dt> <dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -- no scripting is needed (in general, this needs full type description support)</dt> </dl> </li> <li>-L (_ONLY_ usable on Windows!)<br> This option generates the shortest getCppuType() functions, but needs a running type description manager (+provider) reading all type information from the applicat.rdb! ==> !! Cannot be used at setup startup, because no applicat.rdb is involved at this early stage!! <li>-C (fully comprehensive type information)<br> This options generates the longest form of getCppuType() functions, including a comprehensive description of a type, thus there is no need for a type description manager (+provider) reading types from applicat.rdb: <dl> <dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -- limitation: only previously used types are provided by the runtime (i.e., only types which were previously registered due to a getCppuType() call are accessible by name)</dt> </dl> </li> </ol> </p> </td> </tr> <tr> <td class="cell15"><code>-G</code></td> <td class="cell85">generate only target files which do not exist.</td> </tr> <tr> <td class="cell15"><code>-Gc</code></td> <td class="cell85">generate only target files whose content will be changed.</td> </tr> <tr> <td class="cell15"><code>-X&lt;name&gt;</code></td> <td class="cell85">extra types which will not be taken into account for generation.</td> </tr> </table> </p> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-2.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="2" class="head1"><a name="javamaker"/>javamaker</td> <td align="right"> <a href="#tools" title="link to the tools overview"><img class="navigate" src="images/nav_up.png"></a> <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a> </td> </tr> <tr> <td colspan="3"> <p>The 'javamaker' generates the appropriate Java class file for each idl type. The javamaker works on a typelibrary which is generated by the UNOIDL compiler (<a href="#idlc" link="link to the idlc tool description"> idlc</a>). It generates the output for all specified types and for all types the specified types depend on.</p> <p class="head2">Usage:</p> <blockquote> <b><code>javamaker [-options] file_1 ... file_n -Xfile_n+1 -Xfile_n+2</code></b> </blockquote> <p class="head2">Options:</p> <p> <table class="table4"> <tr> <td class="cell15"><code>-O&lt;path&gt;</code></td> <td class="cell85">path describes the root directory for the generated output. The output directory tree is generated under this directory.</td> </tr> <tr> <td class="cell15"><code>-T&lt;name&gt;|-T&lt;t1&gt;;&lt;t2&gt;...</code></td> <td class="cell85">name specifies a type or a list of types. The output for this type and all dependent types are generated. If no '-T' option is specified, then output for all types is generated. It is also possible to use a wildcard 'xy.*' to generate a complete module inclusive all subdirectories. The use of '-T*' is equivalent to no '-T' option. Example: 'com.sun.star.uno.XInterface' or 'com.sun.star.uno.*' are valid types. </td> </tr> <tr> <td class="cell15"><code>-B&lt;name&gt;</code></td> <td class="cell85">name specifies the base node. All types are searched under this node. Default is the root '/' of the registry files.</td> </tr> <tr> <td class="cell15"><code>-nD</code></td> <td class="cell85">no dependent types are generated.</td> </tr> <tr> <td class="cell15"><code>-G</code></td> <td class="cell85">generate only target files which does not exists.</td> </tr> <tr> <td class="cell15"><code>-Gc</code></td> <td class="cell85">generate only target files which content will be changed.</td> </tr> <tr> <td class="cell15"><code>-X&lt;name&gt;</code></td> <td class="cell85">extra types which will not be taken into account for generation.</td> </tr> </table> </p> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-2.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="2" class="head1"><a name="rdbmaker"/>rdbmaker</td> <td align="right"> <a href="#tools" title="link to the tools overview"><img class="navigate" src="images/nav_up.png"></a> <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a> </td> </tr> <tr> <td colspan="3"> <p>The rdbmaker generates subsets of the typelibrary. It generates a subset of the typelibrary, which contains all specified types and all types the specified types depend on. This can be used to provide all and only necessary types for a component.</p> <p>The rdbmaker supports 2 modes:<br> <ol> <li>using the internal UNO type description manager -> use -R&lt;regname&gt;<br> where regname specifies the type library used by the UNO type description manager after UNO is bootstrapped. This option disables the use of any other type libraries. <li>using one or more type library files -> use file_1 ... file_n<br> file_1 .. file_n specifies one or more valid type library files which are used to find the needed type information. The used type libraries have to support the same base node (-B option). </ol> </p> <p class="head2">Usage:</p> <blockquote> <b><code>rdbmaker [-options] (-R&lt;regname&gt; | file_1 [... file_n])</code></b> </blockquote> <p class="head2">Options:</p> <p> <table class="table4"> <tr> <td class="cell15"><code>-O&lt;fileName&gt;</code></td> <td class="cell85">filename specifies the name of the generated registry or text file.</td> </tr> <tr> <td class="cell15"><code>-L</code></td> <td class="cell85">specifies that only a text file is generated with the names of the specified types and their dependencies. Default is that a registry file will be created.</td> </tr> <tr> <td class="cell15"><code>-T&lt;name&gt;<br> |-T&lt;t1&gt;;&lt;t2&gt;...</code></td> <td class="cell85">name specifies a type or a list of types. The output for this type is generated.Example: 'com.sun.star.uno.XInterface' is a valid type.</td> </tr> <tr> <td class="cell15"><code>-FT&lt;name&gt;<br> |-T&lt;t1&gt;;&lt;t2&gt;...</code></td> <td class="cell85">name specifies a type or a list of types. For this types, nothing will be generated.</td> </tr> <tr> <td class="cell15"><code>-F&lt;file&gt;</code></td> <td class="cell85">file specifies a text file. For the specified types in this file, nothing will be generated.</td> </tr> <tr> <td class="cell15"><code>-B&lt;name&gt;</code></td> <td class="cell85">name specifies the base node. All types are searched under this node. Default is the root '/' of the registry files. This option takes effect using run mode 2 only.</td> </tr> <tr> <td class="cell15"><code>-b&lt;name&gt;</code></td> <td class="cell85">name specifies the base node of the output registry. All types will be generated under this node. Default is the root '/' of the registry file.</td> </tr> </table> </p> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-2.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="2" class="head1"><a name="regcomp"/>regcomp</td> <td align="right"> <a href="#tools" title="link to the tools overview"><img class="navigate" src="images/nav_up.png"></a> <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a> </td> </tr> <tr> <td colspan="3"> <p>'regcomp' is a tool to register|revoke external UNO components into|from a registry which is used in a UNO environment.</p> <p class="head2">Usage:</p> <blockquote> <b><code>regcomp -revoke [-br&lt;registryfile&gt;] -r &lt;registryfile&gt; -c &lt;locationUrl&gt;[-l&lt;componentLoaderName&gt;]</code></b> </blockquote> <p class="head2">Options:</p> <p> <table class="table4"> <tr> <td class="cell15"><code>-register|revoke</code></td> <td class="cell85">register means that the components will be installed and revoke means that they will be removed.</td> </tr> <tr> <td class="cell15"><code>-br&lt;registryfile&gt;</code></td> <td class="cell85">the name of the registry used for bootstrapping the program. If the bootstrap registry is specified and has the same name as the registration registry, '-r' is optional.</td> </tr> <tr> <td class="cell15"><code>-r&lt;registryfile&gt;</code></td> <td class="cell85">the name of the registry (will be created if it does not exist) where the component should be registered.</td> </tr> <tr> <td class="cell15"><code>-c&lt;locationUrls&gt;</code></td> <td class="cell85">the location of a component (DLL, Class name, or an url of a jar file) or a list of urls separated by ';'s. Note that, if a list of urls is specified, the components must all need the same loader.</td> </tr> <tr> <td class="cell15"><code>-l&lt;componentLoaderName&gt;</code></td> <td class="cell85">the name of the needed loader, if no loader is specified the 'com.sun.star.loader.SharedLibrary' is used. Supported loaders: 'com.sun.star.loader.SharedLibrary' | 'com.sun.star.loader.Java'.</td> </tr> </table> </p> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-2.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="2" class="head1"><a name="regmerge"/>regmerge</td> <td align="right"> <a href="#tools" title="link to the tools overview"><img class="navigate" src="images/nav_up.png"></a> <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a> </td> </tr> <tr> <td colspan="3"> <p>'regmerge' is a small tool to merge different registry files under a specified key into another registry file. If a value already exists in the target file the value is overwritten by the value of the source file.</p> <p class="head2">Usage:</p> <blockquote> <b><code>regmerge [-v|--verbose] &lt;mergefile&gt; &lt;mergeKeyName&gt; &lt;regfile_1&gt; ... &lt;regfile_n&gt;</code></b> </blockquote> <p class="head2">Options:</p> <p> <table class="table4"> <tr> <td class="cell15"><code>-v|--verbose</code></td> <td class="cell85">verbose output on stdout.</td> </tr> <tr> <td class="cell15"><code>&lt;mergefile&gt;</code></td> <td class="cell85">specifies the merged registry file. If this file doesn't exists, it is created.</td> </tr> <tr> <td class="cell15"><code>&lt;mergeKeyName&gt;</code></td> <td class="cell85">specifies the merge key, everything is merged under this key. If this key doesn't exists, it is created.</td> </tr> <tr> <td class="cell15"><code>&lt;regfile_1&gt; ... &lt;regfile_n&gt;</code></td> <td class="cell85">specifies one or more registry files which are merged.</td> </tr> </table> </p> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-2.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="2" class="head1"><a name="regview"/>regview</td> <td align="right"> <a href="#tools" title="link to the tools overview"><img class="navigate" src="images/nav_up.png"></a> <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a> </td> </tr> <tr> <td colspan="3"> <p>'regview' is a tool to show the contents of a registry file. The tool dumps the hierarchical structure and the values of the nodes in a human readable manner to stdout.</p> <p class="head2">Usage:</p> <blockquote> <b><code>regview &lt;registryfile&gt; [&lt;keyName&gt;]</code></b> </blockquote> <p class="head2">Options:</p> <p> <table class="table4"> <tr> <td class="cell15">-br&lt;registryfile&gt;</code></td> <td class="cell85">the name of the registry whose contents should be viewed.</td> </tr> <tr> <td class="cell15"><code>&lt;keyName&gt;</code></td> <td class="cell85">the name of a registry key. The name must be fully qualified; for example, '/' means the root key and '/UCR/com/sun/star/uno/XInterface' shows the type specification of the XInterface type. If no key is specified, the tool dumps the whole content of the registry file.</td> </tr> </table> </p> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-2.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="2" class="head1"><a name="xml2cmp"/>xml2cmp</td> <td align="right"> <a href="#tools" title="link to the tools overview"><img class="navigate" src="images/nav_up.png"></a> <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a> </td> </tr> <tr> <td colspan="3"> <p>The 'xml2cmp' tool parses .xml files, which contain the descriptions of components that implement UNO services. Each .xml file refers to one library. The library may contain one or more component descriptions.<br> There are two ways of using xml2cmp:</p> <p class="head2">Usage:</p> <blockquote> <b><code>xml2cmp [-func &lt;funcFile&gt;] [-html &lt;htmlFile&gt;] [-types &lt;typeFile&gt;] &lt;Xml_FileName&gt;</code></b> </blockquote> <p>This version parses the file &lt;xml_filename&gt; and produces three possible types of output, each of which is optional, but there must be at least one of them.</p> <p class="head2">Options:</p> <p> <table width=100% border=1 cellpadding=4 cellspacing=0> <tr> <td class="cell15"><code>-func &lt;funcFile&gt;</code></td> <td class="cell85">produces a file with the name <code>&lt;funcfile&gt;</code>. This should be .c|.cxx|.cpp or similar kind of source code file. This file contains the definition of the function <code>'const sal_Char * SAL_CALL component_getDescriptionFunc();'</code> which returns the parsed file as ASCII text.</td> </tr> <tr> <td class="cell15"><code>-html &lt;htmlFile&gt;</code></td> <td class="cell85">produces a file with the name <code>&lt;htmlfile&gt;</code>. It should be a .htm|.html file. That file contains the contents of the parsed file in HTML-readable form.</td> </tr> <tr> <td class="cell15"><code>-types &lt;typeFile&gt;</code></td> <td class="cell85">produces a textfile with the name <code>&lt;typefile&gt;</code>. This textfile is intended to be included in a makefile and contains the definition of a variable<br> <br><code> &lt;libraryName&gt;_XML2CMPTYPES= \<br> &lt;type_used_by_LibraryName_1&gt; \<br> &lt;type_used_by_LibraryName_2&gt; \<br> ... <br> </code><br> The variable &lt;libraryName&gt;_XML2CMPTYPES contains a list of the types used by that library.</td> </tr> </table> </p> <p>All output of this first version of xml2cmp is put into the working directory.</p> <blockquote> <b><code>xml2cmp -ix &lt;sourcedirectory&gt; &lt;outputdirectory&gt; [&lt;tagname1&gt; [&lt;tagname2&gt; ...]]</code></b> </blockquote> <p>This version parses all .xml files that are found in <code>&lt;sourcedirectory&gt;</code> or its subdirectories. It produces the .html output of all parsed .xml files (as in version 1 above). Also, it produces a file named xmlindex.html. This is an HTML file which contains tables alphabetically ordered on the left side, which allows assigning from one 'XML-tags' content to another (of all original parsed .xml files). The following tables are produced (&quot;Module &quot; refers to a library):</p> <blockquote> <code>SupportedService -> ModuleName<br> ModuleName -> SupportedService<br> &lt;tagname1&gt; -> ComponentName<br> &lt;tagname2&gt; -> ComponentName<br> ...</code> </blockquote> <p>All output files of the second version of xml2cmp are put to the &lt;outputDirectory&gt;</p> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-2.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="2" class="head1"><a name="autodoc"/>autodoc</td> <td align="right"> <a href="#tools" title="link to the tools overview"><img class="navigate" src="images/nav_up.png"></a> <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a> </td> </tr> <tr> <td colspan="3"> <p>The 'autodoc' tool is used for creating javadoc-like documentation from C++ and UNOIDL source code.</p> <p>There are some conventions to follow when documenting C++- or UNOIDL-sourcecode. See also the <a href="DevelopersGuide/Appendix/IDLDocumentationGuide/IDLDocumentationGuide.xhtml#1_IDL_Documentation_Guidelines" title="link to the UNOIDL Documentation Guidelines">UNOIDL Documentation Guidelines</a>.<br> If you are not familiar with these, but do know javadoc: For simple C++ sourcecode documentation, using javadoc-style comments will work.</p> <p class="head2">Usage:</p> <blockquote> <b><code>autodoc [ -v &lt;VerboseNr&gt; ] [ -name "&lt;TitleForTheDocu&gt;" ] -html &lt;OutputDirectory&gt; -lg &lt;SourcecodeLanguage&gt;<br> { [ -p &lt;ProjectName&gt; &lt;ProjectRootDirectory&gt; ] &nbsp;-t &lt;SourceTree&gt;* | -d &lt;SourceDirectory&gt;* | -f &lt;SourceFile&gt;* }*</code></b> </blockquote> <p class="head2">Options:</p> <p> <table width="100%" border="1" cellpadding="4" cellspacing="0"> <tr> <td class="cell15"><code>-v &lt;VerboseNr&gt;</code></td> <td class="cell85">&lt;VerboseNr&gt; == 5 displays the parsed source code tokens, so you can locate which piece caused an parsing error.<br> &lt;VerboseNr&gt; == 2 displays not only the parsed source code, but also the comments.<br><br> This option must be the first one, if it is used.</td> </tr> <tr> <td class="cell15"><code>-name "&lt;Title&gt;"</code></td> <td class="cell85">&lt;Title&gt; occurs as the title of the start page of the HTML output. If this option is omitted, a default title is created.</td> </tr> <tr> <td class="cell15"><code>-html &lt;OutputDirectory&gt;</code></td> <td class="cell85">specifies the root directory where the HTML output is created.<br> Autodoc does not remove old files there, though it overwrites them.</td> </tr> <tr> <td class="cell15"><code>-lg &lt;SourcecodeLanguage&gt;</code></td> <td class="cell85">Possible values are: c++ | idl.<br><br> This also specifies which files will be parsed: &quot;c++&quot; parses all files with the endings .hxx and .h, &quot;idl&quot; parses all files with the ending '.idl' .<br> To change this behaviour, see at option <code>-f</code>.</td> </tr> <tr> <td class="cell15"><code>-p &lt;ProjectName&gt; &lt;ProjectDirectory&gt;</code></td> <td class="cell85">this option can be used to divide large code bases into different projects.<br> &lt;ProjectName&gt; gives a user-defined name for the project.<br> &lt;ProjectDirectory&gt; is the root to which all paths, given with the following options <code>-t,-d</code> and <code>-f</code>, are relative.<br> This option can be omitted when there are no projects and all paths in the following options are relative to the working directory.<br><br> The &quot;{ ... }*&quot; around the options <code>-p,-t,-d,-f</code> indicates, that this whole block of options can be repeated, each block starting with a new <code>-p</code>.</td> </tr> <tr> <td class="cell15"><code>-t &lt;SourceTree&gt;</code></td> <td class="cell85">specifies that all files in the directory &lt;SourceTree&gt; and it's subdirectories are parsed, where the file ending matches the option <code>-lg</code>.<br> There can be given multiple directories after one <code>-t</code> option.<br> All relative paths &nbsp;are relative to the project-rootdirectory, given with the <code>-p</code> option.<br> </td> </tr> <tr> <td class="cell15"><code>-d &lt;SourceDirectory&gt;</code></td> <td class="cell85">Specifies that all files in th directory &lt;SourceDirectory&gt;, but NOT it's subdirectories, are parsed, where the file ending matches the option <code>-lg</code>.<br> There can be multiple directories given after one <code>-d</code> option.<br> All relative paths &nbsp;are relative to the project-rootdirectory, given with the <code>-p</code> option.</td> </tr> <tr> <td class="cell15"><code>-f &lt;SourceFile&gt;</code></td> <td class="cell85">parses the given file. The ending does not have to match the <code>-lg</code> option.<br> There can be multiple files given after one <code>-f</code> option.<br> All relative paths &nbsp;are relative to the project-rootdirectory, given with the <code>-p</code> option.</td> </tr> </table> </p><b>Remark:</b> The sequence of options matters! Use them in the order given in the &quot;Usage&quot;-paragraph.</p> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-1.gif"></td> </tr> <tr> <td colspan="3"> <div align="center"><p>Copyright 2004 Sun Microsystems, Inc.</p></div> </td> </tr> </table> <map name="Map"> <area shape="rect" coords="10,68,93,105" href="http://www.sun.com"> </map> </body> </html> \ No newline at end of file
+<html> <head> <title>[TITLE] - Development Tools</title> <link rel="stylesheet" type="text/css" href="sdk_styles.css"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="author" content="J&uuml;rgen Schmidt"> <meta name="created" content="2004-12-14"> </head> <body class="sdkbody"><a name="tools"/> <table class="table1" cellpadding=0> <tr style="background-image:url(images/sdk_head-2.gif); backgorund-position: bottom; "> <td colspan="2" align="left"><img src="images/sdk_head-1.gif" width="335" height="109" usemap="#Map" border="0"></td> <td align=right><img src="images/sdk_head-3.gif" width="32" height="109"></td> </tr> <tr> <td colspan="3"><img class="nothing10" src="images/nada.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="3"><img class="nothing1" src="images/nada.gif"></td> </tr> <tr> <td> <table class="table3"> <tr> <td colspan="2" class="head1">Development Tools</td> <td align="right"><a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a></td> </tr> </table> </td> </tr> <tr> <td> <table class="table3"> <tr valign="top"> <td class="content3"><img src="images/arrow-1.gif"></td> <td><a href="#unopkg" title="link to the unopkg tool description">unopkg</a></td> <td class="content87">The new UNO package deployment tool. It comes with the office installation and can be found in the program directory of the office installation.</td> </tr> <tr valign="top"> <td class="content3"><img src="images/arrow-1.gif"></td> <td><a href="#pkgchk" title="link to the pkgchk tool description">pkgchk</a></td> <td class="content87">The old UNO package deployment tool. It comes also with the office installation and it is <b<i>deprecated</i></b>.</td> </tr> <tr valign="top"> <td class="content3"><img src="images/arrow-1.gif"></td> <td><a href="#unoexe" title="link to the uno tool description">uno</a></td> <td class="content87">Tool to provide a UNO runtime environment and provide configured (deployed) or single components. This tools comes with the office installation and can be found in the program directory of the office installation.</td> </tr> <tr valign="middle"> <td colspan="3"><img class="line" src="images/sdk_line-1.gif"></td> </tr> <tr valign="top"> <td class="content3"><img src="images/arrow-1.gif"></td> <td><a href="#idlc" title="link to the idlc tool description">idlc</a></td> <td class="content87">The UNOIDL compiler, generates a common binary type library format as base for all codemaker tools and the UNO runtime type library.</td> </tr> <tr valign="top"> <td class="content3"><img src="images/arrow-1.gif"></td> <td><a href="#cppumaker" title="link to the cppumaker tool description">cppumaker</a></td> <td class="content87">Tool for generating C++ code for the UNOIDL types stored in a type library.</td> </tr> <tr valign="top"> <td class="content3"><img src="images/arrow-1.gif"></td> <td><a href="#javamaker" title="link to the javamaker tool description">javamaker</a></td> <td class="content87">Tool for generating Java claas files for the UNOIDL types stored in a type library.</td> </tr> <tr valign="top"> <td class="content3"><img src="images/arrow-1.gif"></td> <td><a href="#rdbmaker" title="link to the rdbmaker tool description">rdbmaker</a></td> <td class="content87">Tool for building type libraries with only a specified set of types and their dependencies.</td> </tr> <tr valign="top"> <td class="content3"><img src="images/arrow-1.gif"></td> <td><a href="#regcomp" title="link to the regcomp tool description">regcomp</a></td> <td class="content87">A simple UNO component registration tool.</td> </tr> <tr valign="top"> <td class="content3"><img src="images/arrow-1.gif"></td> <td><a href="#regmerge" title="link to the regmerge tool description">regmerge</a></td> <td class="content87">Tool to merge several registry (e.g. type libraries) files into one file.</td> </tr> <tr valign="top"> <td class="content3"><img src="images/arrow-1.gif"></td> <td><a href="#regview" title="link to the regview tool description">regview</a></td> <td class="content87">Tool to view the content of a registry file in a human readable manner. Special support for type library nodes.</td> </tr> <tr valign="top"> <td class="content3"><img src="images/arrow-1.gif"></td> <td><a href="#xml2cmp" title="link to the xml2cmp tool description">xml2cmp</a></td> <td class="content87">A small helper tool to extract different information from xml module description files.</td> </tr> <tr valign="top"> <td class="content3"><img src="images/arrow-1.gif"></td> <td><a href="#autodoc" title="link to the autodoc tool description">autodoc</a></td> <td class="content87">Tool to generate javadoc-like documentation for C/C++ and UNOIDL files.</td> </tr> </table> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-2.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="2" class="head1"><a name="unopkg"/>unopkg</td> <td align="right"> <a style="a:link:visited #FFFFFF;" href="#tools" title="link to the tools overview"><img class="navigate" src="images/nav_up.png"></a> <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a></td> </tr> <tr> <td colspan="3"> <p>'unopkg' is a tool for easy deployment of UNO packages in an existing office installation. UNO packages are UNO components (single libraries or Jar files or more complex zip files that contains one or more libraries| Jar files, type libraries and configuration items), scripts and [PRODUCTNAME] Basic libraries as zip package. 'unopkg' is not part of the SDK but comes with the office directly and is a development tool as well as an end user tool to deploy extension into an office installation.</p> <p>More details concerning deployment and this tool can be find in the Developer's Guide: <a href="./DevelopersGuide/Components/Components.xhtml#1_9_1_UNO_Package_Installation_Using_unopkg" title="link to &quot;UNO Package Installation Using unopkg&quot; chapter in the Developer's Guide">4.9.1 UNO Package Installation Using <i>unopkg</i></a>.</p> <p><b>Note:</b> This tool works only in the <i>&lt;office&gt;/program</i> directory!</p> <p class="head2">Usage:</p> <blockquote> <b><code> unopkg add &lt;options&gt; package-path...<br> unopkg remove &lt;options&gt; package-name...<br> unopkg list &lt;options&gt; package-name...<br> unopkg reinstall &lt;options&gt;<br> unopkg gui<br> unopkg -V<br> unopkg -h<br> </code></b> </blockquote> <p class="head2">Sub-commands:</p> <p> <table class="table4"> <tr> <td class="cell15"><code>add</code></td> <td class="cell85">add packages</td> </tr> <tr> <td class="cell15"><code>remove</code></td> <td class="cell85">remove packages by name</td> </tr> <tr> <td class="cell15"><code>reinstall</code></td> <td class="cell85">export feature: reinstall all deployed packages</td> </tr> <tr> <td class="cell15"><code>list</code></td> <td class="cell85">list information about deployed packages</td> </tr> <tr> <td class="cell15"><code>gui</code></td> <td class="cell15">raise Package Manager Graphical User Interface (GUI)</td> </tr> </table> </p> <p class="head2">Options:</p> <p> <table class="table4"> <tr> <td class="cell15"><code>-h, --help</code></td> <td class="cell85">show this help on the command line</td> </tr> <tr> <td class="cell15"><code>-V, --version</code></td> <td class="cell85">shows version information </td> </tr> <tr> <td class="cell15"><code>-v, --verbose</code></td> <td class="cell85">dump verbose output to stdout</td> </tr> <tr> <td class="cell15"><code>-f, --force</code></td> <td class="cell85">force overwriting existing packages</td> </tr> <tr> <td class="cell15"><code>--log-file &lt;file&gt;</code></td> <td class="cell85">custom log file; default: <i>&lt;cache-dir&gt/log.txt</i>.</td> </tr> <tr> <td class="cell15"><code>--shared</code></td> <td class="cell85">expert feature: operate on shared installation deployment context; run only when no concurrent Office process(es) are running!</td> </tr> <tr> <td class="cell15"><code>--deployment-context &lt;context&gt</code> </td> <td class="cell85">expert feature: explicit deployment context</td> </tr> </table> </p> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-2.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="2" class="head1"><a name="pkgchk"/>pkgchk</td> <td align="right"> <a href="#tools" title="link to the tools overview"><img class="navigate" src="images/nav_up.png"></a> <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a> </td> </tr> <tr> <td colspan="3"> <p>'pkgchk' is <u><b>deprecated</b></u> and you should use the new <a href="#unopkg" title="link to the new unopkg tool">'unopkg'</a> deployment tool.</p> <p>'pkgchk' is a tool for easy deployment of UNO packages in an existing office installation. UNO packages are UNO components (single libraries or Jar files or more complex zip files that contains one or more libraries|Jar files, type libraries and configuration items) and [PRODUCTNAME] Basic libraries as zip package. More detailed information concerning deplyoment can be find in the Developer's Guide: <a href="./DevelopersGuide/Components/Components.xhtml#1_9_Deployment_Options_for_Components" title="link into the &quot;Deployment Options for Components&quot; chapter in the Developer's Guide">4.9 Deployment Options for Components</a>.</p> <p><b>Note:</b> This tool works only in the <i>&lt;office&gt;/program</i> directory!</p> <p class="head2">Usage:</p> <blockquote> <b><code>pkgchk &lt;options&gt; [package1 package2 ... ]</code></b> </blockquote> <p class="head2">Options:</p> <p> <table class="table4"> <tr> <td class="cell15"><code>-s, --shared|revoke</code></td> <td class="cell85">check/install shared components; default: user</td> </tr> <tr> <td class="cell15"><code>-r, --renewal</code></td> <td class="cell85">re-install all packages (useful for cache inconsistencies).</td> </tr> <tr> <td class="cell15"><code>-f, --force-overwrite</code></td> <td class="cell85">force overwrite existing packages when copying from command line.</td> </tr> <tr> <td class="cell15"><code>-v, --verbose</code></td> <td class="cell85">verbose output to stdout.</td> </tr> <tr> <td class="cell15"><code>-l, --log &lt;file&gt;</code></td> <td class="cell85">custom log file; default: <i>&lt;cache&gt/log.txt.</i></td> </tr> <tr> <td class="cell15"><code>--strict_error_handling</code></td> <td class="cell85">break process immediately if errors occur.</td> </tr> <tr> <td class="cell15"><code>--supersede_basic_libs</code></td> <td class="cell85">overwrite existing basic library entries of same name.</td> </tr> <tr> <td class="cell15"><code>--check_unorc_only</code></td> <td class="cell85">check/patch only the unorc (Unix), uni.ini (Windows).</td> </tr> <tr> <td class="cell15"><code>--no_unorc_patch</code></td> <td class="cell85">don't touch unorc (Unix), uni.ini (Windows).</td> </tr> <tr> <td class="cell15"><code>-h, --help</code></td> <td class="cell85">print a command line help to stdout.</td> </tr> </table> </p> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-2.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="2" class="head1"><a name="unoexe"/>uno</td> <td align="right"> <a href="#tools" title="link to the tools overview"><img class="navigate" src="images/nav_up.png"></a> <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a> </td> </tr> <tr> <td colspan="3"> <p>The UNO-starter is for running a component or service process, and providing a runtime environment. Raising a component might look like this </p> <p><code>[c:\] uno.exe -c MyComponent -l mycomp.dll -r myregistry.rdb -- foo bar</code></p> <p>or</p> <p><code>[c:\] uno.exe -s foo.bar.FooBarService -r myregistry.rdb -- foo bar</code></p> <p>The starter loads the component and instantiates it. The component must export the interface <a href="common/ref/com/sun/star/lang/XMain.html" title="link into the IDL reference to the interface com.sun.star.lang.XMain">com.sun.star.lang.XMain</a>:</p> <p> <code>interface XMain : com::sun::star::uno::XInterface <br> { <br> &nbsp;&nbsp;&nbsp; /** This method is called to run the component.<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @param aArguments command line arguments <br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @return process error code to be returned to system <br> &nbsp;&nbsp;&nbsp; */ <br> &nbsp;&nbsp;&nbsp; long run( [in] sequence&lt; string &gt; arguments ); <br> }; </code> </p> <p>Method run() will be called and returns the error code given, back to the system. If the uno starter is executed with the -u (URL) option, then XInitialization is used instead of XMain. The -u option is described later.</p> <p class="head2">Usage:</p> <blockquote> <b><code>uno (-c&lt;ComponentImplementationName&gt; -l &lt;LocationUrl&gt; | -s &lt;ServiceName&gt;) <br> [-ro &lt;ReadOnlyRegistry1&gt;] [-ro &lt;ReadOnlyRegistry2&gt;] ... [-rw &lt;ReadWriteRegistry&gt;]<br> [-u uno:(socket[,host=&lt;HostName&gt;][,port=&lt;nnn&gt;]|pipe[,name=&lt;PipeName&gt;]);iiop|urp;&lt;Name&gt;<br> [--singleaccept] [--singleinstance]] <br> [-- &lt;Argument1 Argument2 ...&gt;] </code></b> </blockquote> <p class="head2">Options:</p> <p> <table class="table4"> <tr> <td class="cell15"><code>&lt;HostName&gt;</code></td> <td class="cell85">Specifying a host name might be necessary to distinguish the network interface to be used,if a machine is part of two networks.</td> </tr> <tr> <td class="cell15"><code>&lt;PipeName&gt;</code></td> <td class="cell85">Name of a named pipe.</td> </tr> <tr> <td class="cell15"><code>&lt;Name&gt;</code></td> <td class="cell85">Identifier for demanded called component instances.</td> </tr> <tr> <td class="cell15"><code>&lt;Registries&gt;</code></td> <td class="cell85">The optional <code>&lt;Registries&gt;</code> (e.g., c:\myreg.rdb) are used by the ServiceManager. The <i>ro</i> ones are opened for reading only; whereas, a single <i>rw</i> one will be opened for reading and writing. If the <i>rw</i> one does not exist, then it may be created. Components may read and write to store their persistent state.</td> </tr> <tr> <td class="cell15"><code>--singleaccept</code></td> <td class="cell85">The uno starter will accept one connection, provide the component instance and die.</td> </tr> <tr> <td class="cell15"><code>--singleinstance</code></td> <td class="cell85">The uno starter will accept any number of connections, but will provide the same single component instance any time instead of creating a new instance for each connection.</td> </tr> </table> <p><b>Service <a href="common/ref/com/sun/star/bridge/UnoUrlResolver.html" title="link into the IDL reference to the service com.sun.star.bridge.UnoUrlResolver">com.sun.star.bridge.UnoUrlResolver</a></b></p> <p>You can easily connect to a server started with the <code>-u (url)</code> option by using this service, giving the same url to resolve. The service provides you an instance from remote.</p> </p> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-2.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="2" class="head1"><a name="idlc"/>idlc</td> <td align="right"> <a href="#tools" title="link to the tools overview"><img class="navigate" src="images/nav_up.png"></a> <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a> </td> </tr> <tr> <td colspan="3"> <p>'idlc' is the UNOIDL compiler. It is a full featured compiler used to check UNODL type definitions and transform valid type definitions into a binary type library format, which is later used by all codemaker tools. It is also used as a dynamic type library for UNO at runtime.<br> You can find a syntax description for UNOIDL <a href="DevelopersGuide/Appendix/IDLSyntax/IDLSyntax.xhtml#1_UNOIDL_Syntax_Specification" title="link to the &quot;UNOIDL Syntax Specification&quot; chapter in the Developer's Guide">here</a>.</p> <p class="head2">Usage:</p> <blockquote> <b><code>idlc [-options] file_1 ... file_n | @&lt;filename&gt;</code></b> </blockquote> <p> <table class="table4"> <tr> <td class="cell15"><code>file_1 ... file_n</code></td> <td class="cell85">specifies one or more idl files. Only files with the extension '.idl' are valid.</td> </tr> <tr> <td class="cell15"><code>@&lt;filename&gt;</code></td> <td class="cell85">filename specifies the name of a command file.</td> </tr> </table> </p> <p class="head2">Options:</p> <p> <table class="table4"> <tr> <td class="cell15"><code>-O&lt;path&gt;</code></td> <td class="cell85">path describes the output directory. The generated output is a registry file with the same name as the idl input file.</td> </tr> <tr> <td class="cell15"><code>-I&lt;path&gt;</code></td> <td class="cell85">path specifies a directory where included files that will be searched by the preprocessor are located. Multiple directories can be combined with ';'.</td> </tr> <tr> <td class="cell15"><code>-D&lt;name&gt;</code></td> <td class="cell85">name defines a macro for the preprocessor.</td> </tr> <tr> <td class="cell15"><code>-C</code></td> <td class="cell85">generates complete type information, including additional service information and documentation.</td> </tr> <tr> <td class="cell15"><code>-h|?</code></td> <td class="cell85">print this help message and exit.</td> </tr> </table> </p> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-2.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="2" class="head1"><a name="cppumaker"/>cppumaker</td> <td align="right"> <a href="#tools" title="link to the tools overview"><img class="navigate" src="images/nav_up.png"></a> <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a> </td> </tr> <tr> <td colspan="3"> <p>The 'cppumaker' generates a C++ representation for idl types. The cppumaker works on a typelibrary, which is generated by the UNOIDL compiler (<a href="#idlc" link="link to the idlc tool description"> idlc</a>). It generates the output for all specified types and for all types the specified types depend on.</p> <p class="head2">Usage:</p> <blockquote> <b><code>cppumaker [-options] file_1 ... file_n</code></b> </blockquote> <p class="head2">Options:</p> <p> <table class="table4"> <tr> <td class="cell15"><code>-O&lt;path&gt;</code></td> <td class="cell85">path describes the root directory for the generated output. The output directory tree is generated under this directory.</td> </tr> <tr> <td class="cell15"><code>-T&lt;name&gt;<br> |-T&lt;t1&gt;;&lt;t2&gt;...</code></td> <td class="cell85">name specifies a type or a list of types. The output for this type and all dependent types are generated. If no '-T' option is specified, then output for all types is generated. It is also possible to use a wildcard 'xy.*' to generate a complete module inclusive all subdirectories. The use of '-T*' is equivalent to no '-T' option. Example: 'com.sun.star.uno.XInterface' or 'com.sun.star.uno.*' are valid types. </td> </tr> <tr> <td class="cell15"><code>-B&lt;name&gt;</code></td> <td class="cell85">name specifies the base node. All types are searched under this node. Default is the root '/' of the registry files.</td> </tr> <tr> <td class="cell15"><code>-L|-C</code></td> <td class="cell85">In general, the cppumaker tool generates <code>getCppuType()</code> functions in three ways: <p> <ol> <li>no option (default)<br> This generates headers so that UNO runs correctly as long as: <dl> <dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -- one compiler compiled all code (no bridging needed for inter-component communication)</dt> <dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -- no marshaling is needed (no bridging needed for interprocess communication)</dt> <dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -- no scripting is needed (in general, this needs full type description support)</dt> </dl> </li> <li>-L (_ONLY_ usable on Windows!)<br> This option generates the shortest getCppuType() functions, but needs a running type description manager (+provider) reading all type information from the applicat.rdb! ==> !! Cannot be used at setup startup, because no applicat.rdb is involved at this early stage!! <li>-C (fully comprehensive type information)<br> This options generates the longest form of getCppuType() functions, including a comprehensive description of a type, thus there is no need for a type description manager (+provider) reading types from applicat.rdb: <dl> <dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -- limitation: only previously used types are provided by the runtime (i.e., only types which were previously registered due to a getCppuType() call are accessible by name)</dt> </dl> </li> </ol> </p> </td> </tr> <tr> <td class="cell15"><code>-G</code></td> <td class="cell85">generate only target files which do not exist.</td> </tr> <tr> <td class="cell15"><code>-Gc</code></td> <td class="cell85">generate only target files whose content will be changed.</td> </tr> <tr> <td class="cell15"><code>-X&lt;name&gt;</code></td> <td class="cell85">extra types which will not be taken into account for generation.</td> </tr> </table> </p> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-2.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="2" class="head1"><a name="javamaker"/>javamaker</td> <td align="right"> <a href="#tools" title="link to the tools overview"><img class="navigate" src="images/nav_up.png"></a> <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a> </td> </tr> <tr> <td colspan="3"> <p>The 'javamaker' generates the appropriate Java class file for each idl type. The javamaker works on a typelibrary which is generated by the UNOIDL compiler (<a href="#idlc" link="link to the idlc tool description"> idlc</a>). It generates the output for all specified types and for all types the specified types depend on.</p> <p class="head2">Usage:</p> <blockquote> <b><code>javamaker [-options] file_1 ... file_n -Xfile_n+1 -Xfile_n+2</code></b> </blockquote> <p class="head2">Options:</p> <p> <table class="table4"> <tr> <td class="cell15"><code>-O&lt;path&gt;</code></td> <td class="cell85">path describes the root directory for the generated output. The output directory tree is generated under this directory.</td> </tr> <tr> <td class="cell15"><code>-T&lt;name&gt;|-T&lt;t1&gt;;&lt;t2&gt;...</code></td> <td class="cell85">name specifies a type or a list of types. The output for this type and all dependent types are generated. If no '-T' option is specified, then output for all types is generated. It is also possible to use a wildcard 'xy.*' to generate a complete module inclusive all subdirectories. The use of '-T*' is equivalent to no '-T' option. Example: 'com.sun.star.uno.XInterface' or 'com.sun.star.uno.*' are valid types. </td> </tr> <tr> <td class="cell15"><code>-B&lt;name&gt;</code></td> <td class="cell85">name specifies the base node. All types are searched under this node. Default is the root '/' of the registry files.</td> </tr> <tr> <td class="cell15"><code>-nD</code></td> <td class="cell85">no dependent types are generated.</td> </tr> <tr> <td class="cell15"><code>-G</code></td> <td class="cell85">generate only target files which does not exists.</td> </tr> <tr> <td class="cell15"><code>-Gc</code></td> <td class="cell85">generate only target files which content will be changed.</td> </tr> <tr> <td class="cell15"><code>-X&lt;name&gt;</code></td> <td class="cell85">extra types which will not be taken into account for generation.</td> </tr> </table> </p> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-2.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="2" class="head1"><a name="rdbmaker"/>rdbmaker</td> <td align="right"> <a href="#tools" title="link to the tools overview"><img class="navigate" src="images/nav_up.png"></a> <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a> </td> </tr> <tr> <td colspan="3"> <p>The rdbmaker generates subsets of the typelibrary. It generates a subset of the typelibrary, which contains all specified types and all types the specified types depend on. This can be used to provide all and only necessary types for a component.</p> <p>The rdbmaker supports 2 modes:<br> <ol> <li>using the internal UNO type description manager -> use -R&lt;regname&gt;<br> where regname specifies the type library used by the UNO type description manager after UNO is bootstrapped. This option disables the use of any other type libraries. <li>using one or more type library files -> use file_1 ... file_n<br> file_1 .. file_n specifies one or more valid type library files which are used to find the needed type information. The used type libraries have to support the same base node (-B option). </ol> </p> <p class="head2">Usage:</p> <blockquote> <b><code>rdbmaker [-options] (-R&lt;regname&gt; | file_1 [... file_n])</code></b> </blockquote> <p class="head2">Options:</p> <p> <table class="table4"> <tr> <td class="cell15"><code>-O&lt;fileName&gt;</code></td> <td class="cell85">filename specifies the name of the generated registry or text file.</td> </tr> <tr> <td class="cell15"><code>-L</code></td> <td class="cell85">specifies that only a text file is generated with the names of the specified types and their dependencies. Default is that a registry file will be created.</td> </tr> <tr> <td class="cell15"><code>-T&lt;name&gt;<br> |-T&lt;t1&gt;;&lt;t2&gt;...</code></td> <td class="cell85">name specifies a type or a list of types. The output for this type is generated.Example: 'com.sun.star.uno.XInterface' is a valid type.</td> </tr> <tr> <td class="cell15"><code>-FT&lt;name&gt;<br> |-T&lt;t1&gt;;&lt;t2&gt;...</code></td> <td class="cell85">name specifies a type or a list of types. For this types, nothing will be generated.</td> </tr> <tr> <td class="cell15"><code>-F&lt;file&gt;</code></td> <td class="cell85">file specifies a text file. For the specified types in this file, nothing will be generated.</td> </tr> <tr> <td class="cell15"><code>-B&lt;name&gt;</code></td> <td class="cell85">name specifies the base node. All types are searched under this node. Default is the root '/' of the registry files. This option takes effect using run mode 2 only.</td> </tr> <tr> <td class="cell15"><code>-b&lt;name&gt;</code></td> <td class="cell85">name specifies the base node of the output registry. All types will be generated under this node. Default is the root '/' of the registry file.</td> </tr> </table> </p> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-2.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="2" class="head1"><a name="regcomp"/>regcomp</td> <td align="right"> <a href="#tools" title="link to the tools overview"><img class="navigate" src="images/nav_up.png"></a> <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a> </td> </tr> <tr> <td colspan="3"> <p>'regcomp' is a tool to register|revoke external UNO components into|from a registry which is used in a UNO environment.</p> <p class="head2">Usage:</p> <blockquote> <b><code>regcomp -revoke [-br&lt;registryfile&gt;] -r &lt;registryfile&gt; -c &lt;locationUrl&gt;[-l&lt;componentLoaderName&gt;]</code></b> </blockquote> <p class="head2">Options:</p> <p> <table class="table4"> <tr> <td class="cell15"><code>-register|revoke</code></td> <td class="cell85">register means that the components will be installed and revoke means that they will be removed.</td> </tr> <tr> <td class="cell15"><code>-br&lt;registryfile&gt;</code></td> <td class="cell85">the name of the registry used for bootstrapping the program. If the bootstrap registry is specified and has the same name as the registration registry, '-r' is optional.</td> </tr> <tr> <td class="cell15"><code>-r&lt;registryfile&gt;</code></td> <td class="cell85">the name of the registry (will be created if it does not exist) where the component should be registered.</td> </tr> <tr> <td class="cell15"><code>-c&lt;locationUrls&gt;</code></td> <td class="cell85">the location of a component (DLL, Class name, or an url of a jar file) or a list of urls separated by ';'s. Note that, if a list of urls is specified, the components must all need the same loader.</td> </tr> <tr> <td class="cell15"><code>-l&lt;componentLoaderName&gt;</code></td> <td class="cell85">the name of the needed loader, if no loader is specified the 'com.sun.star.loader.SharedLibrary' is used. Supported loaders: 'com.sun.star.loader.SharedLibrary' | 'com.sun.star.loader.Java'.</td> </tr> </table> </p> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-2.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="2" class="head1"><a name="regmerge"/>regmerge</td> <td align="right"> <a href="#tools" title="link to the tools overview"><img class="navigate" src="images/nav_up.png"></a> <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a> </td> </tr> <tr> <td colspan="3"> <p>'regmerge' is a small tool to merge different registry files under a specified key into another registry file. If a value already exists in the target file the value is overwritten by the value of the source file.</p> <p class="head2">Usage:</p> <blockquote> <b><code>regmerge [-v|--verbose] &lt;mergefile&gt; &lt;mergeKeyName&gt; &lt;regfile_1&gt; ... &lt;regfile_n&gt;</code></b> </blockquote> <p class="head2">Options:</p> <p> <table class="table4"> <tr> <td class="cell15"><code>-v|--verbose</code></td> <td class="cell85">verbose output on stdout.</td> </tr> <tr> <td class="cell15"><code>&lt;mergefile&gt;</code></td> <td class="cell85">specifies the merged registry file. If this file doesn't exists, it is created.</td> </tr> <tr> <td class="cell15"><code>&lt;mergeKeyName&gt;</code></td> <td class="cell85">specifies the merge key, everything is merged under this key. If this key doesn't exists, it is created.</td> </tr> <tr> <td class="cell15"><code>&lt;regfile_1&gt; ... &lt;regfile_n&gt;</code></td> <td class="cell85">specifies one or more registry files which are merged.</td> </tr> </table> </p> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-2.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="2" class="head1"><a name="regview"/>regview</td> <td align="right"> <a href="#tools" title="link to the tools overview"><img class="navigate" src="images/nav_up.png"></a> <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a> </td> </tr> <tr> <td colspan="3"> <p>'regview' is a tool to show the contents of a registry file. The tool dumps the hierarchical structure and the values of the nodes in a human readable manner to stdout.</p> <p class="head2">Usage:</p> <blockquote> <b><code>regview &lt;registryfile&gt; [&lt;keyName&gt;]</code></b> </blockquote> <p class="head2">Options:</p> <p> <table class="table4"> <tr> <td class="cell15">-br&lt;registryfile&gt;</code></td> <td class="cell85">the name of the registry whose contents should be viewed.</td> </tr> <tr> <td class="cell15"><code>&lt;keyName&gt;</code></td> <td class="cell85">the name of a registry key. The name must be fully qualified; for example, '/' means the root key and '/UCR/com/sun/star/uno/XInterface' shows the type specification of the XInterface type. If no key is specified, the tool dumps the whole content of the registry file.</td> </tr> </table> </p> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-2.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="2" class="head1"><a name="xml2cmp"/>xml2cmp</td> <td align="right"> <a href="#tools" title="link to the tools overview"><img class="navigate" src="images/nav_up.png"></a> <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a> </td> </tr> <tr> <td colspan="3"> <p>The 'xml2cmp' tool parses .xml files, which contain the descriptions of components that implement UNO services. Each .xml file refers to one library. The library may contain one or more component descriptions.<br> There are two ways of using xml2cmp:</p> <p class="head2">Usage:</p> <blockquote> <b><code>xml2cmp [-func &lt;funcFile&gt;] [-html &lt;htmlFile&gt;] [-types &lt;typeFile&gt;] &lt;Xml_FileName&gt;</code></b> </blockquote> <p>This version parses the file &lt;xml_filename&gt; and produces three possible types of output, each of which is optional, but there must be at least one of them.</p> <p class="head2">Options:</p> <p> <table width=100% border=1 cellpadding=4 cellspacing=0> <tr> <td class="cell15"><code>-func &lt;funcFile&gt;</code></td> <td class="cell85">produces a file with the name <code>&lt;funcfile&gt;</code>. This should be .c|.cxx|.cpp or similar kind of source code file. This file contains the definition of the function <code>'const sal_Char * SAL_CALL component_getDescriptionFunc();'</code> which returns the parsed file as ASCII text.</td> </tr> <tr> <td class="cell15"><code>-html &lt;htmlFile&gt;</code></td> <td class="cell85">produces a file with the name <code>&lt;htmlfile&gt;</code>. It should be a .htm|.html file. That file contains the contents of the parsed file in HTML-readable form.</td> </tr> <tr> <td class="cell15"><code>-types &lt;typeFile&gt;</code></td> <td class="cell85">produces a textfile with the name <code>&lt;typefile&gt;</code>. This textfile is intended to be included in a makefile and contains the definition of a variable<br> <br><code> &lt;libraryName&gt;_XML2CMPTYPES= \<br> &lt;type_used_by_LibraryName_1&gt; \<br> &lt;type_used_by_LibraryName_2&gt; \<br> ... <br> </code><br> The variable &lt;libraryName&gt;_XML2CMPTYPES contains a list of the types used by that library.</td> </tr> </table> </p> <p>All output of this first version of xml2cmp is put into the working directory.</p> <blockquote> <b><code>xml2cmp -ix &lt;sourcedirectory&gt; &lt;outputdirectory&gt; [&lt;tagname1&gt; [&lt;tagname2&gt; ...]]</code></b> </blockquote> <p>This version parses all .xml files that are found in <code>&lt;sourcedirectory&gt;</code> or its subdirectories. It produces the .html output of all parsed .xml files (as in version 1 above). Also, it produces a file named xmlindex.html. This is an HTML file which contains tables alphabetically ordered on the left side, which allows assigning from one 'XML-tags' content to another (of all original parsed .xml files). The following tables are produced (&quot;Module &quot; refers to a library):</p> <blockquote> <code>SupportedService -> ModuleName<br> ModuleName -> SupportedService<br> &lt;tagname1&gt; -> ComponentName<br> &lt;tagname2&gt; -> ComponentName<br> ...</code> </blockquote> <p>All output files of the second version of xml2cmp are put to the &lt;outputDirectory&gt;</p> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-2.gif"></td> </tr> <tr> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> <td> <table class="table2"> <tr> <td colspan="2" class="head1"><a name="autodoc"/>autodoc</td> <td align="right"> <a href="#tools" title="link to the tools overview"><img class="navigate" src="images/nav_up.png"></a> <a href="../index.html" title="link to the SDK start page"><img class="navigate" src="images/nav_home.png"></a> </td> </tr> <tr> <td colspan="3"> <p>The 'autodoc' tool is used for creating javadoc-like documentation from C++ and UNOIDL source code.</p> <p>There are some conventions to follow when documenting C++- or UNOIDL-sourcecode. See also the <a href="DevelopersGuide/Appendix/IDLDocumentationGuide/IDLDocumentationGuide.xhtml#1_IDL_Documentation_Guidelines" title="link to the UNOIDL Documentation Guidelines">UNOIDL Documentation Guidelines</a>.<br> If you are not familiar with these, but do know javadoc: For simple C++ sourcecode documentation, using javadoc-style comments will work.</p> <p class="head2">Usage:</p> <blockquote> <b><code>autodoc [ -v &lt;VerboseNr&gt; ] [ -name "&lt;TitleForTheDocu&gt;" ] -html &lt;OutputDirectory&gt; -lg &lt;SourcecodeLanguage&gt;<br> { [ -p &lt;ProjectName&gt; &lt;ProjectRootDirectory&gt; ] &nbsp;-t &lt;SourceTree&gt;* | -d &lt;SourceDirectory&gt;* | -f &lt;SourceFile&gt;* }*</code></b> </blockquote> <p class="head2">Options:</p> <p> <table width="100%" border="1" cellpadding="4" cellspacing="0"> <tr> <td class="cell15"><code>-v &lt;VerboseNr&gt;</code></td> <td class="cell85">&lt;VerboseNr&gt; == 5 displays the parsed source code tokens, so you can locate which piece caused an parsing error.<br> &lt;VerboseNr&gt; == 2 displays not only the parsed source code, but also the comments.<br><br> This option must be the first one, if it is used.</td> </tr> <tr> <td class="cell15"><code>-name "&lt;Title&gt;"</code></td> <td class="cell85">&lt;Title&gt; occurs as the title of the start page of the HTML output. If this option is omitted, a default title is created.</td> </tr> <tr> <td class="cell15"><code>-html &lt;OutputDirectory&gt;</code></td> <td class="cell85">specifies the root directory where the HTML output is created.<br> Autodoc does not remove old files there, though it overwrites them.</td> </tr> <tr> <td class="cell15"><code>-lg &lt;SourcecodeLanguage&gt;</code></td> <td class="cell85">Possible values are: c++ | idl.<br><br> This also specifies which files will be parsed: &quot;c++&quot; parses all files with the endings .hxx and .h, &quot;idl&quot; parses all files with the ending '.idl' .<br> To change this behaviour, see at option <code>-f</code>.</td> </tr> <tr> <td class="cell15"><code>-p &lt;ProjectName&gt; &lt;ProjectDirectory&gt;</code></td> <td class="cell85">this option can be used to divide large code bases into different projects.<br> &lt;ProjectName&gt; gives a user-defined name for the project.<br> &lt;ProjectDirectory&gt; is the root to which all paths, given with the following options <code>-t,-d</code> and <code>-f</code>, are relative.<br> This option can be omitted when there are no projects and all paths in the following options are relative to the working directory.<br><br> The &quot;{ ... }*&quot; around the options <code>-p,-t,-d,-f</code> indicates, that this whole block of options can be repeated, each block starting with a new <code>-p</code>.</td> </tr> <tr> <td class="cell15"><code>-t &lt;SourceTree&gt;</code></td> <td class="cell85">specifies that all files in the directory &lt;SourceTree&gt; and it's subdirectories are parsed, where the file ending matches the option <code>-lg</code>.<br> There can be given multiple directories after one <code>-t</code> option.<br> All relative paths &nbsp;are relative to the project-rootdirectory, given with the <code>-p</code> option.<br> </td> </tr> <tr> <td class="cell15"><code>-d &lt;SourceDirectory&gt;</code></td> <td class="cell85">Specifies that all files in th directory &lt;SourceDirectory&gt;, but NOT it's subdirectories, are parsed, where the file ending matches the option <code>-lg</code>.<br> There can be multiple directories given after one <code>-d</code> option.<br> All relative paths &nbsp;are relative to the project-rootdirectory, given with the <code>-p</code> option.</td> </tr> <tr> <td class="cell15"><code>-f &lt;SourceFile&gt;</code></td> <td class="cell85">parses the given file. The ending does not have to match the <code>-lg</code> option.<br> There can be multiple files given after one <code>-f</code> option.<br> All relative paths &nbsp;are relative to the project-rootdirectory, given with the <code>-p</code> option.</td> </tr> </table> </p><b>Remark:</b> The sequence of options matters! Use them in the order given in the &quot;Usage&quot;-paragraph.</p> </td> </tr> </table> </td> <td class="content1"><img class="nothing8" src="images/nada.gif"></td> </tr> <tr> <td colspan="3"><img class="line" src="images/sdk_line-1.gif"></td> </tr> <tr> <td colspan="3"> <div align="center"><p>Copyright 2005 Sun Microsystems, Inc.</p></div> </td> </tr> </table> <map name="Map"> <area shape="rect" coords="10,68,93,105" href="http://www.sun.com"> </map> </body> </html> \ No newline at end of file