blob: d07acba86614ba8c77e6522b847536a6334ac3b7 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<head>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-1">
<TITLE>The UNO tools</TITLE>
<META NAME="GENERATOR" CONTENT="StarOffice/5.2 (Win32)">
<META NAME="CLASSIFICATION" CONTENT="The UNO rdbumaker">
<META NAME="KEYWORDS" CONTENT="UNO,rdbumaker">
</head>
<body LINK="#444488" VLINK="#444488" BGCOLOR="#eeeeff"><A NAME="__Top__"></A>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=4 CELLSPACING=0>
<COL WIDTH=75>
<TR>
<TD BGCOLOR="#666699">
<H1 ALIGN=CENTER STYLE="margin-top: 0cm; text-decoration: none"><A HREF="http://www.openoffice.org/"><IMG SRC="../../images/open_office_org_logo.gif" NAME="Grafik1" ALT="OpenOffice" ALIGN=RIGHT WIDTH=109 HEIGHT=54 BORDER=0></A><FONT COLOR="#ffffff"><FONT SIZE=6>The
UNO tools</FONT></FONT></H1>
</TD>
</TR>
</TABLE>
<hr size=3 noshade>
<table width=100% border=0 cellpadding=4 cellspacing=0>
<tr>
<td colspan=3 width=100% bgcolor="#666699">
<div align="center"><font size="6" color="#FFFFFF">Contents</font></div>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<hr size=1 noshade>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<ul>
<li><a href="#unoidl">unoidl</a></li>
<li><a href="#idlc">idlc</a></li>
<li><a href="#cppumaker">cppumaker</a></li>
<li><a href="#cunomaker">cunomaker</a></li>
<li><a href="#javamaker">javamaker</a></li>
<li><a href="#rdbmaker">rdbmaker</a></li>
<li><a href="#regcomp">regcomp</a></li>
<li><a href="#regmerge">regmerge</a></li>
<li><a href="#regview">regview</a></li>
<li><a href="#xml2cmp">xml2cmp</a></li>
<li><a href="#unoexe">uno</a></li>
</ul>
</td>
</tr>
<col width=85*> <col width=85*> <col width=85*>
</table>
<HR SIZE=3 noshade>
<table width=100% border=0 cellpadding=4 cellspacing=0>
<tr>
<td colspan=3 width=100% bgcolor="#666699">
<div align="center"><font size="6" color="#FFFFFF"><a name="unoidl"></a>unoidl</font></div>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<hr size=1 noshade>
</td>
</tr>
<col width=85*> <col width=85*> <col width=85*>
<tr>
<td colspan=3 width=100% bgcolor="#666699">
<h3 align=LEFT style="margin-top: 0cm; text-decoration: none"><font color="#ffffff"><font size=4>Usage:</font></font></h3>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<p>The idl compiler transforms interface definitions written in idl into
urd files. The urd files are then merged into the type library
(rdb). You can find a syntax description for IDL <a href="idl.html">here</a>.
</p>
<p><b>unoidl [flag | file]*</b></p>
<p><b>Legal flags:</b></p>
<dl>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm">-E </dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm"> runs preprocessor
only, prints on stdout </dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -D&lt;name&gt;
</dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm"> defines macro for
the preprocessor </dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -OH&lt;dir&gt;
</dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm"> produce output
files in dir (pathname) </dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -I&lt;dir&gt; </dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm"> includes dir in
search path for preprocessor </dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -V </dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm"> prints version
info then exits </dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -Wb,arg1,argn </dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm"> passes args to
BE </dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -B&lt;backend&gt;
</dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm"> use backend for
code generation </dd>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm"> supported backend
is 'urd' for Uno Reflection Data. </dd>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm">This option is optional because default is using 'urd' backend.</dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -Mdepend[=match]
</dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm"> generate dependencies
for all generated files, to stdout. Files beginning with 'match' are
not used for dependencies. No dependencies for the doc backend. </dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -h </dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm"> prints this usage
message and exits </dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -v </dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm"> traces compilation
stages </dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -w </dt>
<dd style="margin-right: 1cm"> suppresses IDL compiler warning messages
</dd>
</dl>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<hr size=1 noshade>
</td>
</tr>
</table>
<hr size=3 noshade>
<table width=100% border=0 cellpadding=4 cellspacing=0>
<tr>
<td colspan=3 width=100% bgcolor="#666699">
<div align="center"><font size="6" color="#FFFFFF"><a name="idlc"></a>idlc</font></div>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<hr size=1 noshade>
</td>
</tr>
<col width=85*> <col width=85*> <col width=85*>
<tr>
<td colspan=3 width=100% bgcolor="#666699">
<h3 align=LEFT style="margin-top: 0cm; text-decoration: none"><font color="#ffffff"><font size=4>Usage:</font></font></h3>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<p>'idlc' is a new idl compiler. We made some changes in the IDL language
specification to simplify the syntax.</p>
<p>The idl compiler transforms interface definitions, written in idl, into
urd files. The urd files are then merged into the type library
(rdb). You can find a syntax description for IDL <a href="idl_syntax.html">here</a>.
</p>
<p><b>idlc [-options] file_1 ... file_n | @&lt;filename&gt;</b></p>
<dl>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm">file_1 ... file_n</dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm">specifies one or more idl files.
Only files with the extension '.idl' are valid.</dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm">@&lt;filename&gt;</dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm">filename specifies the name of a command file.</dd>
</dl>
<p><b>Options:</b></p>
<dl>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm">-O&lt;path&gt;</dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm">path describes the output directory.
The generated output is a registry file with the same name as the idl input file.</dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm">-I&lt;path&gt;</dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm">path specifies
a directory where include files are located, that will be searched by the preprocessor.
Multiple directories can be combined with ';'.</dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm">-D&lt;name&gt;</dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm">name defines a
macro for the preprocessor.</dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm">-C</dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm">generate complete
type information, including additional service information and documentation.</dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm">-h|?</dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm">print this help message and exit. </dd>
</dl>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<hr size=1 noshade>
</td>
</tr>
</table>
<hr size=3 noshade>
<TABLE WIDTH=100% BORDER=0 CELLPADDING=4 CELLSPACING=0>
<TR>
<TD COLSPAN=3 WIDTH=100% BGCOLOR="#666699">
<div align="center"><font size="6" color="#FFFFFF"><a name="cppumaker"></a>cppumaker</font></div>
</TD>
</TR>
<tr>
<td colspan=3 width=100%>
<hr size=1 noshade>
</td>
</tr>
<COL WIDTH=85*> <COL WIDTH=85*> <COL WIDTH=85*>
<TR>
<TD COLSPAN=3 WIDTH=100% BGCOLOR="#666699">
<H3 ALIGN=LEFT STYLE="margin-top: 0cm; text-decoration: none"><FONT COLOR="#ffffff"><FONT SIZE=4>Usage:</FONT></FONT></H3>
</TD>
</TR>
<TR>
<TD COLSPAN=3 WIDTH=100%>
<P>The cppumaker generates a C++ representation for idl types. The cppumaker
works on a typelibrary which is generated by the unoidl. It generates
the output for all specified types and for all types the specified types
depends on.</P>
<p><b>cppumaker [-options] file_1 ... file_n</b></p>
<p><b><span style="text-decoration: none">Options</span></b>:</p>
<dl>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm">-O&lt;path&gt; </dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm"> path describes
the root directory for the generated output. The output directory
tree is generated under this directory. </dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -T&lt;name&gt;
</dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm"> name specifies
a type or a list of types. The output for this [t1;...] type is generated.
If no '-T' option is specified, then output for all types is generated.
</dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -B&lt;name&gt;
</dt>
<dd style="margin-right: 1cm"> name specifies the base node. All types
are searched under this node. Default is the root '/' of the registry
files. </dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -L|-C </dt>
<dd style="margin-right: 1cm"> In general, the cppumaker tool generates
getCppuType() functions in three ways:<br>
<br>
</dd>
<dd style="margin-right: 1cm">
<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>
<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>
<br>
So, please keep these limitations in mind if you are not sure that
there is a running type description manager (+provider) reading from
applicat.rdb. </dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -G</dt>
<dd style="margin-right: 1cm"> generate only target files which do
not exist.</dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -Gc</dt>
<dd style="margin-right: 1cm"> generate only target files whose content
will be changed.</dd>
</dl>
</TD>
</TR>
<tr>
<td colspan=3 width=100%>
<hr size=1 noshade>
</td>
</tr>
</TABLE>
<HR SIZE=3 noshade>
<table width=100% border=0 cellpadding=4 cellspacing=0>
<tr>
<td colspan=3 width=100% bgcolor="#666699">
<div align="center"><font size="6" color="#FFFFFF"><a name="cunomaker"></a>cunomaker</font></div>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<hr size=1 noshade>
</td>
</tr>
<col width=85*> <col width=85*> <col width=85*>
<tr>
<td colspan=3 width=100% bgcolor="#666699">
<h3 align=LEFT style="margin-top: 0cm; text-decoration: none"><font color="#ffffff"><font size=4>Usage:</font></font></h3>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<p>The cunomaker generates a C representation for idl types. The cunomaker
works on a typelibrary which is generated by the unoidl. It generates
the output for all specified types and for all types the specified types
depends on.</p>
<p><b>cunomaker [-options] file_1 ... file_n</b></p>
<p><b><span style="text-decoration: none">Options:</span></b>:</p>
<dl>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm">-O&lt;path&gt; </dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm"> path describes
the root directory for the generated output. The output directory
tree is generated under this directory. </dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -T&lt;name&gt;
</dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm"> name specifies
a type or a list of types. The output for this [t1;...] type is generated.
If no '-T' option is specified, then output for all types is generated.
</dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -B&lt;name&gt;
</dt>
<dd style="margin-right: 1cm"> name specifies the base node. All types
are searched under this node. Default is the root '/' of the registry
files. </dd>
<dt>-U activate the generating of a getCppuType function</dt>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -C </dt>
<dd style="margin-right: 1cm"> In general, the cunomaker tool generates
getCppuType_&lt;name&gt;() functions in two ways: <br>
<br>
</dd>
<dd style="margin-right: 1cm">
<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>-C (fully comprehensive type information)<br>
This options generates the longest form of getCppuType_&lt;name&gt;()
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>
</ol>
<br>
So, please keep these limitations in mind if you are not sure that
there is a running type description manager (+provider) reading from
applicat.rdb. </dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -G</dt>
<dd style="margin-right: 1cm"> generate only target files which do
not exist.</dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -Gc</dt>
<dd style="margin-right: 1cm"> generates only target files whose content
will be changed.</dd>
</dl>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<hr size=1 noshade>
</td>
</tr>
</table>
<hr size=3 noshade>
<table width=100% border=0 cellpadding=4 cellspacing=0>
<tr>
<td colspan=3 width=100% bgcolor="#666699">
<div align="center"><font size="6" color="#FFFFFF"><a name="javamaker"></a>javamaker</font></div>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<hr size=1 noshade>
</td>
</tr>
<col width=85*> <col width=85*> <col width=85*>
<tr>
<td colspan=3 width=100% bgcolor="#666699">
<h3 align=LEFT style="margin-top: 0cm; text-decoration: none"><font color="#ffffff"><font size=4>Usage:</font></font></h3>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<p>The javamaker generates the appropriate java file for each idl type.
The javamaker works on a typelibrary which is generated by the unoidl.
It generates the output for all specified types and for all types the
specified types depends on.</p>
<p><b>javamaker [-options] file_1 ... file_n</b></p>
<p><b>Options:</b></p>
<dl>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm">-O&lt;path&gt; </dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm"> path describes
the root directory for the generated output. The output directory
tree is generated under this directory. </dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -T&lt;name&gt;
</dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm"> name specifies
a type or a list of types. The output for this [t1;...] type is generated.
If no '-T' option is specified, then output for all types is generated.
</dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -B&lt;name&gt;
</dt>
<dd style="margin-right: 1cm; font-weight: medium"> name specifies the
base node. All types are searched under this node. Default is the
root '/' of the registry files. </dd>
</dl>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<hr size=1 noshade>
</td>
</tr>
</table>
<hr size=3 noshade>
<table width=100% border=0 cellpadding=4 cellspacing=0>
<tr>
<td colspan=3 width=100% bgcolor="#666699">
<div align="center"><font size="6" color="#FFFFFF"><a name="rdbmaker"></a>rdbmaker</font></div>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<hr size=1 noshade>
</td>
</tr>
<col width=85*> <col width=85*> <col width=85*>
<tr>
<td colspan=3 width=100% bgcolor="#666699">
<h3 align=LEFT style="margin-top: 0cm; text-decoration: none"><font color="#ffffff"><font size=4>Usage:</font></font></h3>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<p>The rdbmaker generates subsets of the typelibrary. The rdbmaker works
on a typelibrary which is generated by the unoidl. It generates a subset
of the typelibrary which contains all specified types and all types the
specified types depends on. This could be used to provide all types and
only the necessary types for a component.</p>
<p><b>rdbmaker [-options] file_1 ... file_n</b></p>
<p><b>Options:</b></p>
<dl>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm">-O&lt;fileName&gt;
</dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm"> filename specifies
the name of the generated registry or text file. </dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -L </dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm"> 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.
</dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -T&lt;name&gt;
</dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm"> name specifies
a type or a list of types. The output for this [t1;...] type is generated.
If no '-T' option is specified, then output for all types is generated.
</dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -FT&lt;name&gt;
</dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm"> name specifies
a type or a list of types. For these types, nothing will be generated.
</dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -F&lt;file&gt;
</dt>
<dd style="margin-right: 1cm; margin-bottom: 0.5cm"> file specifies
a text file. For the specified types in this file, nothing will be
generated. </dd>
<dt style="margin-right: 1cm; margin-bottom: 0.5cm"> -B&lt;name&gt;
</dt>
<dd style="margin-right: 1cm; font-weight: medium"> name specifies the
base node. All types are searched under this node. Default is the
root '/' of the registry files. </dd>
</dl>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<hr size=1 noshade>
</td>
</tr>
</table>
<hr size=3 noshade>
<table width=100% border=0 cellpadding=4 cellspacing=0>
<tr>
<td colspan=3 width=100% bgcolor="#666699">
<div align="center"><font size="6" color="#FFFFFF"><a name="regcomp"></a>regcomp</font></div>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<hr size=1 noshade>
</td>
</tr>
<col width=85*> <col width=85*> <col width=85*>
<tr>
<td colspan=3 width=100% bgcolor="#666699">
<h3 align=LEFT style="margin-top: 0cm; text-decoration: none"><font color="#ffffff"><font size=4>Usage:</font></font></h3>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<p>Regcomp is a tool to register|revoke external UNO components into|from
a registry which is used for an UNO environment.</p>
<p><b>regcomp -register [-br registryfile] -r registryfile -c locationUrl
[-l componentLoaderUrl] </b> </p>
<p><b>recomp -revoke [-br registryfile] -r registryfile -c locationUrl </b>
</p>
<p style="text-decoration: none"><b>Parameters: </b> </p>
<ul>
<li>
<p>command: </p>
<p>-register = register a new extern component. </p>
<p>-revoke = revoke an extern component. </p>
<li>-br registryfile = 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, the -r option is optional.
<li>-r registryfile = the name of the registry (will be created if it does not
exist) where the component should be registered.
<li>-c locationUrls = the location of an component (DLL, Class name, or
an url of a jar file) or a list of urls separated by ';'s. Note, if a
list of urls is specified, the components must all need the same loader.
<li>
<p>-l componentLoaderUrl = the name of the needed loader, if no loader
is specified the 'com.sun.star.loader.SharedLibrary' is used. loaders:
com.sun.star.loader.SharedLibrary | com.sun.star.loader.Java.</p>
</ul>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<hr size=1 noshade>
</td>
</tr>
</table>
<hr size=3 noshade>
<table width=100% border=0 cellpadding=4 cellspacing=0>
<tr>
<td colspan=3 width=100% bgcolor="#666699">
<div align="center"><font size="6" color="#FFFFFF"><a name="regmerge"></a>regmerge</font></div>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<hr size=1 noshade>
</td>
</tr>
<col width=85*> <col width=85*> <col width=85*>
<tr>
<td colspan=3 width=100% bgcolor="#666699">
<h3 align=LEFT style="margin-top: 0cm; text-decoration: none"><font color="#ffffff"><font size=4>Usage:</font></font></h3>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<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 targetfile
the value would be overwritten by the value of the sourcefile.</p>
<dl>
<dd><b>regmerge mergefile mergeKeyName regfile_1 ... regfile_n</b></dd>
<dd> <b>regmerge @regcmds</b></dd>
</dl>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<hr size=1 noshade>
</td>
</tr>
</table>
<hr size=3 noshade>
<table width=100% border=0 cellpadding=4 cellspacing=0>
<tr>
<td colspan=3 width=100% bgcolor="#666699">
<div align="center"><font size="6" color="#FFFFFF"><a name="regview"></a>regview</font></div>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<hr size=1 noshade>
</td>
</tr>
<col width=85*> <col width=85*> <col width=85*>
<tr>
<td colspan=3 width=100% bgcolor="#666699">
<h3 align=LEFT style="margin-top: 0cm; text-decoration: none"><font color="#ffffff"><font size=4>Usage:</font></font></h3>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<dl>
<dt>Regview is a small tool to show the content of a registry file. The
tool dumps the hierarchical structure and the values of the nodes to
stdout in a human readable form.</dt>
<dd><br>
</dd>
<dt><b>regview registryfile [keyName]</b></dt>
</dl>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<hr size=1 noshade>
</td>
</tr>
</table>
<hr size=3 noshade>
<table width=100% border=0 cellpadding=4 cellspacing=0>
<tr>
<td colspan=3 width=100% bgcolor="#666699">
<div align="center"><font size="6" color="#FFFFFF"><a name="xml2cmp"></a>xml2cmp</font></div>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<hr size=1 noshade>
</td>
</tr>
<col width=85*> <col width=85*> <col width=85*>
<tr>
<td colspan=3 width=100% bgcolor="#666699">
<h3 align=LEFT style="margin-top: 0cm; text-decoration: none"><font color="#ffffff"><font size=4>Usage:</font></font></h3>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<p style="margin-bottom: 0cm">The tool xml2cmp.exe 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.exe: </p>
<ul>
<li><b>xml2cmp [-func funcFile] [-html htmlFile] [-types typeFile] Xml_FileName<br>
</b>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.<br>
</li>
</ul>
<blockquote>
<p>Options:</p>
</blockquote>
<ul>
<li> -func funcFile <br>
produces a file with the name &lt;funcfile&gt;. This should be .c / .cxx
/ .cpp or similar kind of source code file. This file contains the
definition of the function const sal_Char * SAL_CALL component_getDescriptionFunc();
which returns the parsed file as ASCII text. </li>
<!-- rh: Is this option below correct? hfml or should it be html? -->
<li>- html htmlFile<br>
produces a file with the name &lt;htmlfile&gt;. It should be a .htm / .html
file. That file contains the contents of the parsed file in HTML-readable
form. </li>
<li>-types typeFile<br>
produces a textfile with the name &lt;typefile&gt;. This textfile is intended
to be included in a makefile and contains the definition of a variable<br>
&lt;libraryname&gt;<br>
&lt;libraryName&gt;_XML2CMPTYPES=
&lt;type_used_by_LibraryName_1&gt; \<br>
&lt;type_used_by_LibraryName_2&gt; \<br>
... <br>
<br>
So, the variable &lt;libraryName&gt;_XML2CMPTYPES contains
a list of the types, used by that library.</li>
</ul>
<blockquote>
<p>All output of this first version of xml2cmp is put into the working directory.
</p>
</blockquote>
<ul>
<li><b>xml2cmp -ix &lt;sourcedirectory&gt; &lt;outputdirectory&gt;
[&lt;tagname1&gt; [ &lt;tagname2&gt; ...]] <br>
</b>This version parses all .xml files which are found in &lt;sourcedirectory&gt;
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.
<!-- rh: Check changes in the sentence below for correctness. I'm not really sure what you mean. -->
This is an HTML file which contains tables alphabetically ordered on
the left side, which allows assigning, from one XML-tags' contents to another
(of all original parsed .xml files). The following tables are produced
("Module" refers to a library): <br>
<br>
SupportedService -&gt; ModuleName<br>
ModuleName -&gt; SupportedService<br>
&lt;tagname1&gt; -&gt; ComponentName<br>
&lt;tagname2&gt; -&gt; ComponentName<br>
... <br>
<br>
All output files of the second version of xml2cmp are put to the &lt;outputDirectory&gt;.
</li>
</ul>
<p>&nbsp;</p>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<hr size=3 noshade>
<table width=100% border=0 cellpadding=4 cellspacing=0>
<tr>
<td colspan=3 width=100% bgcolor="#666699">
<div align="center"><font size="6" color="#FFFFFF"><a name="unoexe"></a>uno.exe</font></div>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<hr size=1 noshade>
</td>
</tr>
<col width=85*> <col width=85*> <col width=85*>
<tr>
<td colspan=3 width=100% bgcolor="#666699">
<h3 align=LEFT style="margin-top: 0cm; text-decoration: none"><font color="#ffffff"><font size=4>Usage:</font></font></h3>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<p>The UNO-starter is for running a component or service process,
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="http://api.openoffice.org/common/ref/com/sun/star/lang/XMain.html">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; &lt;BR&gt; <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>
<dl>
<dd>
<p><b>Command line parameters: </b> </p>
<p><code>uno (-c <i>ComponentImplementationName</i> -l <i>LocationUrl
</i>| -s <i>ServiceName</i>) <br>
[-ro <i>ReadOnlyRegistry1</i>] [-ro <i>ReadOnlyRegistry2</i>]
... [-rw <i>ReadWriteRegistry</i>]<br>
[-u uno:(socket[,host=<i>HostName</i>][,port=<i>nnn</i>]|pipe[,name=<i>PipeName</i>]);iiop|urp;<i>Name</i>
<br>
[--singleaccept] [--singleinstance]] <br>
[-- A<i>rgument1 Argument2 </i>...] </code> </p>
<p>You can either specify a component implementation name and a
component location url (e.g., a shared library or jar file) or
you specify the service name of a registered service. </p>
<ul>
<li>
<p><i>ComponentImplementationName</i> <br>
<i>ComponentImplementationName </i>is the implementation name
of the component, e.g., MyFooServiceImpl. </p>
<li>
<p><i>LocationUrl</i> <br>
<i>LocationUrl </i>is the file name of a shared library or jar
file. </p>
<li>
<p><i>ServiceName</i> <br>
You can also specify a <i>ServiceName </i>if your component
is already registered. This looks for any registered component
implementation in the registry. </p>
<li>
<p><i>Registries<br>
</i>The optional <i>Registries </i>(e.g., c:\myreg.rdb) are
used by the ServiceManager. The <font face="Courier New, Courier, mono">ro</font>
ones are opened for reading only; whereas, a single <font face="Courier New, Courier, mono">rw</font>
one will be opened for reading and writing. If the <font face="Courier New, Courier, mono">rw</font>
one does not exist, then it may be created. Components may
read and write to store their persistent state. </p>
</ul>
<p>The -u (URL) option provides the opportunity to accept incoming
connections and distribute component instances to other processes.
Clients resolve outer process objects using the com.sun.star.connection.UnoUrlResolver
service with this url. The starter accepts incoming client connections
of the clients' com.sun.star.connection.UrlResolver service and
provides the desired instance. <br>
Component instances started via -u are not run using the XMain
interface, they are initialized via the XInitialization interface,
given the command line params.</p>
<ul>
<li>
<p><code><span style="font-style: normal">HostName</span></code><i><br>
</i>Specifying a host name might be necessary to distinguish
the network interface to be used, if a machine is part of
two networks.</p>
<li>
<p><code><span style="font-style: normal">PipeName</span></code><i><br>
</i>Name of a named pipe.</p>
<li>
<p><code><span style="font-style: normal">Name</span></code><i><br>
</i>Identifier for <!-- demanded --> called component instances.</p>
<li>
<p><tt>--singleaccept<br>
</tt>The uno starter will accept one connection, provide the
component instance and die.</p>
<li>
<p><tt>--singleinstance<br>
</tt>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. </p>
</ul>
<dt><b>Service <a href="http://api.openoffice.org/common/ref/com/sun/star/bridge/UnoUrlResolver.html">com.sun.star.bridge.UnoUrlResolver</a><br>
<br>
</b></dt>
<dd>You can easily connect to a server started with the -u (url)
option by using this service giving the same url to resolve. The
service provides you an instance from remote.</dd>
<dt>&nbsp;</dt>
</dl>
</td>
</tr>
<tr>
<td colspan=3 width=100%>
<hr size=1 noshade>
</td>
</tr>
</table>
<hr size=1 noshade>
</td>
</tr>
</table>
<hr size=3 noshade>
<table width=100% border=0 cellpadding=4 cellspacing=0>
<col width=85*> <col width=85*> <col width=85*>
<tr>
<td width=50% bgcolor="#666699">
<p align=LEFT><font color="#ffffff"> Author: <a href="mailto:juergen.schmidt@germany.sun.com"><font color="#ffffff">J&uuml;rgen
Schmidt</font></a> ($Date: 2004/10/29 07:54:59 $)<br>
<I>Copyright 2001 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, CA 94303 USA.</I></font>
</p>
</td>
</table>
<hr size=3 noshade>
</body>
</HTML>