incubator-ooo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r799361 [7/8] - in /websites/staging/ooo-site/trunk/content/udk/common: ./ man/ man/concept/ man/draft/ man/draft/scripting/ man/draft/scripting/DesignDoc/ man/images/ man/spec/ man/tasks/ man/tutorial/
Date Sun, 27 Nov 2011 22:52:03 GMT
Added: websites/staging/ooo-site/trunk/content/udk/common/man/tasks/apitests.html
==============================================================================
--- websites/staging/ooo-site/trunk/content/udk/common/man/tasks/apitests.html (added)
+++ websites/staging/ooo-site/trunk/content/udk/common/man/tasks/apitests.html Sun Nov 27 22:51:54 2011
@@ -0,0 +1,213 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<link href="/css/ooo.css" rel="stylesheet" type="text/css">
+
+
+   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+   <meta name="Author" content="pluby"/>
+   <title>API Tests</title>
+<style type="text/css">
+<!--
+h1 { text-align:center; margin-top: 0.2cm; text-decoration: none; color: #ffffff; font-size: 6; margin-top: 0.2cm}
+h2 { margin-top: 0.2cm; margin-bottom=0.1cm; color: #ffffff; background-color: #666699; padding: 0.2cm; }
+li {margin-bottom: 0.2cm;}
+dl {margin-bottom: 0.2cm;}
+dd {margin-bottom: 0.2cm;}
+dt {margin-bottom: 0.2cm;}
+-->
+</style>
+
+
+</head>
+
+<body>
+  <div id="banner">
+    <div id="bannerleft"><a alt="Apache OpenOffice.org (incubating)" href="/">
+      <img id="ooo-logo alt="Apache OpenOffice.org (Incubating)" src="/images/ooo-logo.png"/></a></div>
+    <div id="bannerright"><a alt="Apache Incubator" href="http://incubator.apache.org">
+      <img id="asf-logo" alt="Apache Incubator" src="/images/apache-incubator-logo.png"/></a></div>
+   <div id="bannercenter"><br/>(incubating)&nbsp;|&nbsp;The Free and Open Productivity Suite</div>
+  </div>
+  <div id="clear"></div>
+  
+  <div id="content">
+  
+    
+    
+<table WIDTH="100%" bgcolor=#666699 summary=header>
+<tr> <td>
+<h1> API Tests </h1>
+</td></tr>
+</table>
+
+
+<h2> Introduction </h2>
+
+<p>This document provides a list of header files, by module, that need API
+tests. At this time we are working on the sal module. However, once a set of
+API tests for the sal module is completed, we will add other UDK modules (e.g.
+vos, cppu, etc.) to this URL.
+
+<p>If you want to help out, please put your name in the "Responsible Engineer"
+column in the table below <b>before</b> starting any work. If you do not have
+commit priviledges to the CVS tree, please post your updates to the
+dev@udk.openoffice.org mailing list so that we can update this URL for you.
+
+
+<h2> Building and running the API test tool </h2>
+
+<p>The API test tool is a command line tool called <b>testshl</b>. Although the
+testshl command is not built as part of the OpenOffice.org build, you can
+build it manually by executing the following commands:
+
+<pre>
+cd $SRC_ROOT ; cvs -d `cat sal/CVS/Root` co -D "05/22/2001" sal solenv/inc/unxsols3.mk
+cd $SRC_ROOT ; cvs -d `cat sal/CVS/Root` co -A sal/inc/rtl/tres.hxx
+cd $SRC_ROOT ; cvs -d `cat sal/CVS/Root` co -A sal/tests
+cd $SRC_ROOT ; cvs -d `cat sal/CVS/Root` co -A testshl
+cd $SRC_ROOT/sal ; dmake -u ; deliver
+cd $SRC_ROOT/testshl/util ; dmake -u
+cd $SRC_ROOT/testshl/src ; dmake -u ; deliver
+</pre>
+
+<p>The testshl command takes 2 arguments: a shared library containing your test
+functions and a text file that lists the names of those test functions (an
+*.sce file). The source files for your test functions, the *.sce file, and the
+makfile.mk file that builds your shared library is normally put in a "tests"
+subdirectory of each module. For example, in the sal module, there is a
+sal/tests subdirectory. If you are implementing tests for a new module, you
+should create a "tests" subdirectory for that module and use the makefile.mk
+and *.sce files in sal/tests as a template.
+
+<p>Once you have successfully built the testshl command, you can build and
+execute your test functions by executing the following commands:
+
+<pre>
+cd $SRC_ROOT/(module-name)/tests ; dmake -u
+testshl $SRC_ROOT/(module-name)/$INPATH/lib/(test-library-name) $SRC_ROOT/(module-name)/tests/sce/(sce-name)
+</pre>
+
+<p>For example, to execute the test functions in sal/tests, you would execute
+the following commands:
+
+<pre>
+cd $SRC_ROOT/sal/tests ; dmake -u
+testshl $SRC_ROOT/sal/$INPATH/lib/librtl_apitest.so $SRC_ROOT/sal/tests/sce/rtl_apitest.sce
+testshl $SRC_ROOT/sal/$INPATH/lib/libosl_apitest.so $SRC_ROOT/sal/tests/sce/osl_apitest.sce
+</pre>
+
+<h2> Module: sal </h2>
+
+<table width="100%" border=5 summary="Module Testers">
+<tr>
+<th>
+Header File
+</th>
+<th>
+Responsible Engineer
+</th>
+<th>
+API Test Source File
+</th>
+<th>
+Status
+</th>
+</tr>
+
+<tr><td>sal/inc/osl/conditn.hxx</td><td><a href="mailto:gene.anaya@sun.com">gene.anaya@sun.com</a></td><td>osl_apitest_conditn.cxx</td><td>Implemented 7/11/2001</td></tr>
+<tr><td>sal/inc/osl/conditn.h</td><td><a href="mailto:gene.anaya@sun.com">gene.anaya@sun.com</a></td><td>osl_apitest_conditn.cxx</td><td>Implemented 7/11/2001</td></tr>
+<tr><td>sal/inc/osl/diagnose.h</td><td><a href="mailto:gene.anaya@sun.com">gene.anaya@sun.com</a></td><td>osl_apitest_diagnose.cxx</td><td>Implemented 7/11/2001</td></tr>
+<tr><td>sal/inc/osl/endian.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/osl/file.h</td><td><a href="mailto:gene.anaya@sun.com">gene.anaya@sun.com</a></td><td>osl_apitest_file.cxx</td><td>Implemented 7/27/2001</td></tr>
+<tr><td>sal/inc/osl/file.hxx</td><td><a href="mailto:gene.anaya@sun.com">gene.anaya@sun.com</a></td><td>osl_apitest_file.cxx</td><td>Mostly Implemented 7/27/2001</td></tr>
+<tr><td>sal/inc/osl/interlck.h</td><td><a href="mailto:gene.anaya@sun.com">gene.anaya@sun.com</a></td><td>osl_apitest_interlck.cxx</td><td>Implemented 7/11/2001</td></tr>
+<tr><td>sal/inc/osl/module.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/osl/module.hxx</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/osl/mutex.h</td><td><a href="mailto:gene.anaya@sun.com">gene.anaya@sun.com</a></td><td>osl_apitest_mutex.cxx</td><td>Implemented 07/11/2001</td></tr>
+<tr><td>sal/inc/osl/mutex.hxx</td><td><a href="mailto:gene.anaya@sun.com">gene.anaya@sun.com</a></td><td>osl_apitest_mutex.cxx</td><td>Mostly Implemented</td></tr>
+<tr><td>sal/inc/osl/nlsupport.h</td><td><a href="mailto:gene.anaya@sun.com">gene.anaya@sun.com</a></td><td>osl_apitest_nlsupport.cxx</td><td>Implemented 7/11/2001</td></tr>
+<tr><td>sal/inc/osl/pipe.hxx</td><td><a href="mailto:gene.anaya@sun.com">gene.anaya@sun.com</a></td><td>osl_apitest_pipe.cxx</td><td>Mostly Implemented</td></tr>
+<tr><td>sal/inc/osl/pipe.h</td><td><a href="mailto:gene.anaya@sun.com">gene.anaya@sun.com</a></td><td>osl_apitest_pipe.cxx</td><td>Mostly Implemented</td></tr>
+<tr><td>sal/inc/osl/pipe_decl.hxx</td><td><a href="mailto:gene.anaya@sun.com">gene.anaya@sun.com</a></td><td>osl_apitest_pipe.cxx</td><td>see pipe.hxx</td></tr>
+<tr><td>sal/inc/osl/process.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/osl/profile.h</td><td><a href="mailto:gene.anaya@sun.com">gene.anaya@sun.com</a></td><td>osl_apitest_profile.cxx</td><td>Implemented 7/14/2001</td></tr>
+<tr><td>sal/inc/osl/profile.hxx</td><td><a href="mailto:gene.anaya@sun.com">gene.anaya@sun.com</a></td><td>osl_apitest_profile.cxx</td><td>Implemented 7/14/2001</td></tr>
+<tr><td>sal/inc/osl/security.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/osl/security.hxx</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/osl/security_decl.hxx</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/osl/semaphor.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/osl/semaphor.hxx</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/osl/signal.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/osl/socket.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/osl/socket.hxx</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/osl/socket_decl.hxx</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/osl/thread.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/osl/thread.hxx</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/osl/time.h</td><td><a href="mailto:gene.anaya@sun.com">gene.anaya@sun.com</a></td><td>osl_apitest_time.cxx</td><td>Implemented 7/11/2001</td></tr>
+<tr><td>sal/inc/osl/util.h</td><td><a href="mailto:gene.anaya@sun.com">gene.anaya@sun.com</a></td><td>osl_apitest_util.cxx</td><td>Implemented 7/11/2001</td></tr>
+<tr><td>sal/inc/rtl/byteseq.hxx</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/rtl/alloc.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/rtl/byteseq.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/rtl/cipher.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/rtl/crc.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/rtl/digest.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/rtl/locale.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/rtl/locale.hxx</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/rtl/memory.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/rtl/process.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/rtl/random.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/rtl/ref.hxx</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/rtl/strbuf.h</td><td><a href="mailto:babak.mahbod@sun.com">babak.mahbod@sun.com</a></td><td>rtl_StringBuffer.cxx</td><td>In Development</td></tr>
+<tr><td>sal/inc/rtl/strbuf.hxx</td><td><a href="mailto:babak.mahbod@sun.com">babak.mahbod@sun.com</a></td><td>rtl_OStringBuffer.cxx</td><td>In Development</td></tr>
+<tr><td>sal/inc/rtl/string.h</td><td><a href="mailto:babak.mahbod@sun.com">babak.mahbod@sun.com</a></td><td>rtl_String.cxx</td><td>In Development</td></tr>
+<tr><td>sal/inc/rtl/string.hxx</td><td><a href="mailto:babak.mahbod@sun.com">babak.mahbod@sun.com</a></td><td>rtl_OString.cxx</td><td>Last Update 07/27/01</td></tr>
+<tr><td>sal/inc/rtl/tencinfo.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/rtl/textcvt.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/rtl/textenc.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/rtl/tres.hxx</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/rtl/uri.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/rtl/uri.hxx</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/rtl/ustrbuf.h</td><td><a href="mailto:babak.mahbod@sun.com">babak.mahbod@sun.com</a></td><td>rtl_UStringBuffer.cxx</td><td>In Development</td></tr>
+<tr><td>sal/inc/rtl/ustrbuf.hxx</td><td><a href="mailto:babak.mahbod@sun.com">babak.mahbod@sun.com</a></td><td>rtl_OUStringBuffer.cxx</td><td>In Development</td></tr>
+<tr><td>sal/inc/rtl/uuid.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/rtl/ustring.h</td><td><a href="mailto:babak.mahbod@sun.com">babak.mahbod@sun.com</a></td><td>rtl_UString.cxx</td><td>In Development</td></tr>
+<tr><td>sal/inc/rtl/ustring.hxx</td><td><a href="mailto:babak.mahbod@sun.com">babak.mahbod@sun.com</a></td><td>rtl_OUString.cxx</td><td>Last Update 07/27/01</td></tr>
+<tr><td>sal/inc/rtl/ustring.tmp</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/rtl/bootstrap.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/rtl/bootstrap.hxx</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/rtl/unload.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/sal/config.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/sal/macros.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/sal/main.h</td><td></td><td></td><td></td></tr>
+<tr><td>sal/inc/sal/types.h</td><td></td><td></td><td></td></tr>
+
+</table>
+
+
+
+  </div>
+
+  <div id="footera">
+    <div id="poweredbya">
+      <p><img src="/images/feather-small.gif"/><br/>Powered by the Apache CMS.</p>
+    </div>
+    <div id="copyrighta">
+      <p>
+	Apache "OpenOffice.org" is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.
+	Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and
+	decision making process	have stabilized in a manner consistent with other successful ASF projects. While incubation status is
+	not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has
+	yet to be fully endorsed by the ASF.</p>
+      <p>
+	<a href="/contact.html">Contact Us</a> |
+	<a href="/terms.html">Terms of Use</a>
+	<br />Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+	<br />OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation.
+	<br />Other names appearing on the site may be trademarks of their respective owners.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Added: websites/staging/ooo-site/trunk/content/udk/common/man/tasks/tasks.html
==============================================================================
--- websites/staging/ooo-site/trunk/content/udk/common/man/tasks/tasks.html (added)
+++ websites/staging/ooo-site/trunk/content/udk/common/man/tasks/tasks.html Sun Nov 27 22:51:54 2011
@@ -0,0 +1,55 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<link href="/css/ooo.css" rel="stylesheet" type="text/css">
+
+
+        <meta http-equiv="refresh" content="3; URL=http://wiki.services.openoffice.org/wiki/Uno/Todo" />
+<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
+
+
+</head>
+
+<body>
+  <div id="banner">
+    <div id="bannerleft"><a alt="Apache OpenOffice.org (incubating)" href="/">
+      <img id="ooo-logo alt="Apache OpenOffice.org (Incubating)" src="/images/ooo-logo.png"/></a></div>
+    <div id="bannerright"><a alt="Apache Incubator" href="http://incubator.apache.org">
+      <img id="asf-logo" alt="Apache Incubator" src="/images/apache-incubator-logo.png"/></a></div>
+   <div id="bannercenter"><br/>(incubating)&nbsp;|&nbsp;The Free and Open Productivity Suite</div>
+  </div>
+  <div id="clear"></div>
+  
+  <div id="content">
+  
+    
+    
+<p class="Header">Redirecting....</p>
+
+
+
+  </div>
+
+  <div id="footera">
+    <div id="poweredbya">
+      <p><img src="/images/feather-small.gif"/><br/>Powered by the Apache CMS.</p>
+    </div>
+    <div id="copyrighta">
+      <p>
+	Apache "OpenOffice.org" is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.
+	Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and
+	decision making process	have stabilized in a manner consistent with other successful ASF projects. While incubation status is
+	not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has
+	yet to be fully endorsed by the ASF.</p>
+      <p>
+	<a href="/contact.html">Contact Us</a> |
+	<a href="/terms.html">Terms of Use</a>
+	<br />Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+	<br />OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation.
+	<br />Other names appearing on the site may be trademarks of their respective owners.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Added: websites/staging/ooo-site/trunk/content/udk/common/man/tools.html
==============================================================================
--- websites/staging/ooo-site/trunk/content/udk/common/man/tools.html (added)
+++ websites/staging/ooo-site/trunk/content/udk/common/man/tools.html Sun Nov 27 22:51:54 2011
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<link href="/css/ooo.css" rel="stylesheet" type="text/css">
+
+<title></title>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+</head>
+
+<body>
+  <div id="banner">
+    <div id="bannerleft"><a alt="Apache OpenOffice.org (incubating)" href="/">
+      <img id="ooo-logo alt="Apache OpenOffice.org (Incubating)" src="/images/ooo-logo.png"/></a></div>
+    <div id="bannerright"><a alt="Apache Incubator" href="http://incubator.apache.org">
+      <img id="asf-logo" alt="Apache Incubator" src="/images/apache-incubator-logo.png"/></a></div>
+   <div id="bannercenter"><br/>(incubating)&nbsp;|&nbsp;The Free and Open Productivity Suite</div>
+  </div>
+  <div id="clear"></div>
+  
+  <div id="content">
+  
+    
+    
+  </div>
+
+  <div id="footera">
+    <div id="poweredbya">
+      <p><img src="/images/feather-small.gif"/><br/>Powered by the Apache CMS.</p>
+    </div>
+    <div id="copyrighta">
+      <p>
+	Apache "OpenOffice.org" is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.
+	Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and
+	decision making process	have stabilized in a manner consistent with other successful ASF projects. While incubation status is
+	not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has
+	yet to be fully endorsed by the ASF.</p>
+      <p>
+	<a href="/contact.html">Contact Us</a> |
+	<a href="/terms.html">Terms of Use</a>
+	<br />Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+	<br />OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation.
+	<br />Other names appearing on the site may be trademarks of their respective owners.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Added: websites/staging/ooo-site/trunk/content/udk/common/man/tutorial/office_automation.html
==============================================================================
--- websites/staging/ooo-site/trunk/content/udk/common/man/tutorial/office_automation.html (added)
+++ websites/staging/ooo-site/trunk/content/udk/common/man/tutorial/office_automation.html Sun Nov 27 22:51:54 2011
@@ -0,0 +1,376 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<link href="/css/ooo.css" rel="stylesheet" type="text/css">
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
+<title></title>
+
+<style type="text/css">
+<!--
+a.content:active {color:blue;text-decoration:underline;}   /* selected link */
+a.content:visited {color:#8b008b;text-decoration:underline;}  /* visited link */
+a.content:link {color:blue;text-decoration:underline;}     /* unvisited link */
+a.content:hover {color:blue;background-color:#ffe4c4;text-decoration:underline;}   /* mouse over link */
+body { font-family:Helvetica,sans-serif;font-size:10pt;}
+p {font-family:Helvetica,sans-serif;font-size:10pt;}
+h1 { font-size:180%;color:black;}
+h2 { font-size:150%;color:black;margin-top: 0.4cm;}
+h3 { font-size:120%;color:black;font-weight:bold;}
+.code {white-space:nowrap;color:black;font-family:monospace;font-size:9pt;}
+.code_key {white-space:nowrap;color:blue;font-family:monospace;font-size:9pt;}
+.code_comment {white-space:nowrap;color:green;font-family:monospace;font-size:9pt;}
+-->
+</style>
+
+
+</head>
+
+<body>
+  <div id="banner">
+    <div id="bannerleft"><a alt="Apache OpenOffice.org (incubating)" href="/">
+      <img id="ooo-logo alt="Apache OpenOffice.org (Incubating)" src="/images/ooo-logo.png"/></a></div>
+    <div id="bannerright"><a alt="Apache Incubator" href="http://incubator.apache.org">
+      <img id="asf-logo" alt="Apache Incubator" src="/images/apache-incubator-logo.png"/></a></div>
+   <div id="bannercenter"><br/>(incubating)&nbsp;|&nbsp;The Free and Open Productivity Suite</div>
+  </div>
+  <div id="clear"></div>
+  
+  <div id="content">
+  
+    
+    
+
+<h1>Automating OpenOffice.org</h1>
+<h2>Introduction</h2>
+<p>The OpenOffice.org (OOo) supports Microsoft's Automation technology on different Windows platforms ( Windows
+95,98, ME, 2000, NT4). It enables clients to control the office externally.
+Client programs can be contained within executables or scripts. In order to make
+use of the Automation capability, a client must be coded in a programming
+language that supports Automation. There are a variety of appropriate languages
+and development environments available, such as Visual C++, Visual Basic, Delphi,
+VBScript and JScript. In order to use a scripting language one needs a script
+controller that executes the script. Common controllers are the Internet
+Explorer as well as the Windows Script Host (WSH).</p>
+<p>To give you an impression on how Automation works with OOo, here is a quick
+example:</p>
+
+<p class="code">
+<span class="code_comment">'The service manager is always the starting point</span><br />
+<span class="code_comment">'If there is no office running then an office is started up</span><br />
+<span class="code_key">Set</span> objServiceManager= WScript.CreateObject(&quot;com.sun.star.ServiceManager&quot;)<br />
+
+<span class="code_comment">'Create the Desktop</span><br />
+<span class="code_key">Set</span> objDesktop= objServiceManager.createInstance(&quot;com.sun.star.frame.Desktop&quot;)<br />
+
+<span class="code_comment">'Open a new empty writer document</span><br />
+<span class="code_key">Dim</span> args()<br />
+<span class="code_key">Set</span> objDocument= objDesktop.loadComponentFromURL(&quot;private:factory/swriter&quot;,_<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&quot;_blank&quot;, 0, args)<br />
+
+<span class="code_comment">'Create a text object</span><br />
+<span class="code_key">Set</span> objText= objDocument.getText<br />
+
+<span class="code_comment">'Create a cursor object</span><br />
+<span class="code_key">Set</span> objCursor= objText.createTextCursor<br />
+
+<span class="code_comment">'Inserting some Text</span><br />
+objText.insertString objCursor, &quot;The first line in the newly created text document.&quot;&amp;_<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vbLf, false<br />
+</p>
+<p>
+This script opens a new writer document and inserts some text. If OOo is not already
+running, then an instance is started up automatically. <br />
+To run this example put the code into a file named test.vbs and run it with the
+Windows Script Host (WSH). That can be done by entering the command line:
+</p>
+<pre>
+   cscript test.vbs
+</pre>
+<p>in a command line window. Alternatively one can double click the file entry
+in the Explorer (if in doubt, look at the documentation at <a class="content" href="http://msdn.microsoft.com/scripting/default.htm">http://msdn.microsoft.com/scripting/default.htm</a>).
+As you may have noticed, this examples is written in VBScript but you can also
+use JScript with the WSH.</p>
+
+<h2>Automation Objects</h2>
+<p>In order to do automating tasks by an external client one needs to know what
+automation objects are offered by the server. Currently the The <a class="content" href="http://api.openoffice.org/basic/man/tutorial/tutorial.pdf">StarOffice
+Programmers Tutorial</a> provides this information.</p>
+<h2>Service Manager</h2>
+<p>As shown in the example at the beginning of this document, one creates a
+service manager first. The service manager is the starting point for all
+external automation tasks. It can be instantiated as every ordinary ActiveX
+control. How this is done, depends on the programming language being used. The
+WSH, for example, provides a function on the WScript object that performs
+instantiation.
+</p>
+<p class="code">
+<span class="code_key">Set</span> objServiceManager= WScript.CreateObject(&quot;com.sun.star.ServiceManager&quot;)
+</p>
+<p>
+This function can also be used in JScript when it is run by the WSH.
+Alternatively one can use the <code>ActiveXObject</code> object.
+</p>
+<p class="code">
+<span class="code_key">var</span> objServiceManager= <span class="code_key">new</span> ActiveXObject(&quot;com.sun.star.ServiceManager&quot;);
+</p>
+<p>
+Once instantiated, the service manager allows access to different office components,
+for example
+</p>
+<p class="code">
+<span class="code_key">Set</span>  objDesktop= objServiceManager.createInstance(&quot;com.sun.star.frame.Desktop&quot;)
+</p>
+<p>
+This is essentially the same as calling
+</p>
+<p class="code">
+objDesktop= createunoservice(&quot;com.sun.star.frame.Desktop&quot;)
+</p>
+<p>
+as is done within StarBasic (see <a class="content" href="http://api.openoffice.org/basic/man/tutorial/tutorial.pdf"> StarOffice Programmers
+Tutorial</a>).
+</p>
+
+<h2>Creation of Types in untyped Languages</h2>
+<p>Languages, such as VBScript and JScript, do not provide types. That is, the
+declaration of variables do not require a type specifier:
+</p>
+<p class="code">
+<span class="code_comment">//JScript</span>&nbsp;
+<span class="code_key"><br />
+var</span> variableOfFloat;<br />
+<span class="code_key">var</span> variableOfBool;<br />
+<br />
+<span class="code_comment">'VBScript</span>&nbsp;
+<span class="code_key"><br />
+Dim</span> variableOfFloat<br />
+<span class="code_key">Dim</span> variableOfBool<br />
+<br />
+<span class="code_comment">// C++</span>&nbsp;
+<span class="code_key"><br />
+float</span> variableOfFloat;<br />
+<span class="code_key">bool</span> variableOfBool;
+</p>
+<p>In some rare situations you might need to have a concrete type. One can
+create them in two ways:</p>
+<p class="code">
+<span class="code_key">Set</span> objServiceManager= WScript.CreateObject(&quot;com.sun.star.ServiceManager&quot;)<br />
+<span class="code_comment">'Create the CoreReflection service that is later used to create structs</span><br />
+<span class="code_key">Set</span> objCoreReflection= objServiceManager.createInstance(_<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&quot;com.sun.star.reflection.CoreReflection&quot;)<br />
+<span class="code_comment">'get a type description class for float</span><br />
+<span class="code_key">Set</span> classSize= objCoreReflection.forName(<b>&quot;float&quot;</b>)<br />
+<span class="code_comment">'create the actual object</span><br />
+<span class="code_key">Dim</span> <b>aFloat</b><br />
+classSize.createObject aFloat<br />
+</p>
+<p>
+The other way goes like this:
+</p>
+<p class="code">
+<span class="code_key">Set</span>  objServiceManager= WScript.CreateObject(&quot;com.sun.star.ServiceManager&quot;)<br />
+<span class="code_key">Set</span> aFloat= objServiceManager.Bridge_GetValueObject()<br />
+aFloat.Set &quot;float&quot;, 3.14<br />
+</p>
+<p>
+The second approach uses a special object, which was dubbed
+<code>&quot;ValueObject&quot;</code>, that can be obtained from any office object by calling
+<code>Bridge_GetValueObject</code>. This value must be explicitly told what type it
+represents, for more information about this object see the <a class="content" href="../spec/ole_bridge.html#a7">documentation
+about the OLE bridge</a>.
+</p>
+<p>You should try to use concrete types when a function that takes an <code>any</code>
+argument produces an error. Such an error could indicate a type mismatch.</p>
+
+<h3>Background Information</h3>
+<p>The interfaces of the office usually take parameters of concrete types.
+However, there is a type, the <code>&quot;any&quot;</code>, that can contain values of
+different types, much as the <code>VARIANT</code> type. When a function expects an <code>any</code> then
+the OLE bridge does not know what exactly has to be in the <code>any</code> but it tries to
+convert the scripting parameter according to fixed rules (e.g. <code>long</code> to <code>long</code>,
+<code>double</code> to <code>double</code>). Let us have a look at these two functions:</p>
+<p class="code">
+<span class="code_key">void</span> funcA( <span class="code_key">float</span> f);<br />
+<span class="code_key">void</span> funcB( any a);<br />
+</p>
+<p>When funcA is called in a script, then the OLE bridge receives a <code>VARIANT</code>
+argument. The bridge knows that <code>funcA</code> expects a <code>float</code>, therefore it converts
+the <code>VARIANT</code> into a <code>float</code> value. When <code>funcB</code> is called, the bridge needs to
+convert the value within the <code>any</code>. However, the available type information about
+the function only tells the argument type, which is an <code>any</code> in this case. Without
+type information for the contained type, the bridge converts the value into an
+UNO type according to build-in conversion rules.</p>
+<p>An example:</p>
+<p class="code">someObj.funcB 3.14<br />
+</p>
+<p>The bridge will receive a <code>VARIANT</code> that contains a <code>double</code> (VBScript,
+JScript). The bridge will do a default conversion into a <code>double</code> and create
+an <code>any</code> which is being assigned the <code>double</code>. The implementation of
+<code>funcB</code> receives an
+argument of type <code>any</code> that contains a value of type <code>double</code>. A tolerant
+implementation should convert an <code>any</code> into the expected type. But
+unfortunately, this
+is not always case. If <code>funcB</code> is not tolerant and expects a <code>float</code> rather then a
+<code>double</code>, then it might throw an exception.</p>
+<p>In most cases the bridge will be able to do a correct conversion. However, it
+will not work as shown in example above.</p>
+<p>A possible source of errors is the <code>XPropertySet</code> interface with its methods
+<code>setPropertyValue</code> and <code>getPropertyValue</code> which are frequently used when
+ writing
+automating programs.</p>
+
+<h2>Creation of Structs</h2>
+<p>If the OOo API requires a struct as argument then the struct has to be
+obtained from the office. It is not possible to declare a struct oneself. To
+make this more intelligible, let us assume there is an office function that
+takes a struct of type <code>Size</code>.
+</p>
+<p class="code">
+<span class="code_comment">// the interface function, that will be called from script</span><br />
+<span class="code_key">void</span> XShape::setSize( Size aSize)<br />
+</p>
+<p>and the struct is declared as follows:</p>
+
+<p class="code">
+<span class="code_comment">// idl</span><br />
+<span class="code_key">struct</span> Size<br />
+{<br />
+&nbsp; long Width;<br />
+&nbsp; long Height;<br />
+}<br />
+</p>
+<p>You cannot write code like this ( VBScript):</p>
+<p class="code">
+<span class="code_key">Class</span> Size<br />
+&nbsp;
+  <span class="code_key">Dim</span> Width<br />
+&nbsp;
+  <span class="code_key">Dim</span> Height<br />
+<span class="code_key">End Class</span><br />
+<br />
+<span class="code_comment">'obtain object that implements XShape</span><br />
+...<br />
+<span class="code_comment">'now set the size</span><br />
+<span class="code_key">call</span> objXShape.setSize( <span class="code_key">new</span> Size)<br />
+</p>
+<p>
+There are to ways to create the struct
+</p>
+<p class="code">
+<span class="code_key">Set</span> objServiceManager= WScript.CreateObject(&quot;com.sun.star.ServiceManager&quot;)<br />
+<br />
+<span class="code_comment">'Create the CoreReflection service that is later used to create structs</span><br />
+<span class="code_key">Set</span> objCoreReflection= objServiceManager.createInstance(_<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+&quot;com.sun.star.reflection.CoreReflection&quot;)<br />
+<span class="code_comment">'get a type description class for Size</span><br />
+<span class="code_key">Set</span> classSize= objCoreReflection.forName( <b>&quot;Size&quot;</b> )<br />
+<span class="code_comment">'create the actual object</span><br />
+<span class="code_key">Dim</span> aSize<br />
+classSize.createObject aStruct<br />
+<span class="code_comment">'use aSize</span><br />
+aSize.Width= 100<br />
+aSize.Height= 12<br />
+<br />
+objXShape.setSize aSize<br />
+</p>
+<p>
+And this is the other way
+</p>
+<p class="code">
+<span class="code_key">Set</span> objServiceManager= WScript.CreateObject(&quot;com.sun.star.ServiceManager&quot;)<br />
+<span class="code_key">Set</span> aSize= objServiceManager.Bridge_GetStruct(&quot;Size&quot;)<br />
+<span class="code_comment">'use aSize</span><br />
+aSize.Width= 100<br />
+aSize.Height= 12<br />
+<br />
+objXShape.setSize aSize<br />
+</p>
+<p>
+The <code>Bridge_GetStruct</code> function can be called on any OOo object. The function
+is also available in JScript.
+</p>
+<h2>Out Parameter</h2>
+<p>Lots of interface functions take out or in/out - parameter. In some languages,
+such as Jscript and Java, those function arguments are not supported. To use
+those functions regardless, we specified that in/out and out parameters are
+passed as arrays. The example below shows how this is done in JScript.</p>
+<p class="code">
+<span class="code_comment">// the function takes an out-parameter</span><br />
+<span class="code_key">var</span> out= <span class="code_key">new</span> Array();<br />
+object.functionOut(out);<br />
+<span class="code_key">var</span> value= out[0];<br />
+<br />
+<span class="code_comment">// the function takes an in/out-parameter</span><br />
+<span class="code_key">var</span> inout= <span class="code_key">new</span> Array();<br />
+inout[0]=123;<br />
+object.functionInOut( inout);<br />
+<span class="code_key">var</span> value= inout[0];<br />
+</p>
+<p>As one can tell from the examples, the value of the out-parameter is accessible
+at index 0 within the array. For in/out - parameters, one puts the in - value at
+index 0 of the array.
+</p>
+<p>One can also use <code>ValueObjects</code> as in/out and out parameter. See the <a class="content" href="http://udk.openoffice.org/common/man/spec/ole_bridge.html#a7">documentation
+about the OLE bridge</a> for more details.</p>
+
+<h2>Listener Objects (Event Sinks)</h2>
+<p>Some components send events. In order to receive events, one has to implement
+a listener. A listener is distinguished by implementing a listener interface. To
+receive those events, one has to connect the event source with the listener. An
+event source usually offers a function, that takes the listener interface as
+argument. One only has to implement the listener interface and pass an instance
+of the listener as argument to the appropriate function.&nbsp;</p>
+<p>This does not only work with listeners. It is possible to implement all other
+interfaces an pass them to the office component. Currently, those interfaces can
+only be implemented in C++ and in JScript.&nbsp;</p>
+<p>You can find more details in the <a class="content" href="http://udk.openoffice.org/common/man/spec/ole_bridge.html#a10">documentation
+about the OLE bridge</a>.</p>
+
+<h2>Visual Basic specific hints</h2>
+<p>The UNO&nbsp; interface functions which do not have a return value (i.e.
+return <code><span class="code_key">void</span></code>), are mapped to sub routines, for example:</p>
+<p class="code">
+<span class="code_comment">// definition of UNO function</span><br />
+<span class="code_key">void</span> func( long val);<br />
+<br />
+<span class="code_comment">'VBScript call</span><br />
+func val<br />
+<span class="code_comment">'or</span><br />
+<span class="code_key">call</span> func( val)<br />
+</p>
+<h2>Examples</h2>
+<p>
+<a class="content" href="writerdemo.html">WriterDemo.vbs</a>
+</p>
+
+
+  </div>
+
+  <div id="footera">
+    <div id="poweredbya">
+      <p><img src="/images/feather-small.gif"/><br/>Powered by the Apache CMS.</p>
+    </div>
+    <div id="copyrighta">
+      <p>
+	Apache "OpenOffice.org" is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.
+	Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and
+	decision making process	have stabilized in a manner consistent with other successful ASF projects. While incubation status is
+	not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has
+	yet to be fully endorsed by the ASF.</p>
+      <p>
+	<a href="/contact.html">Contact Us</a> |
+	<a href="/terms.html">Terms of Use</a>
+	<br />Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+	<br />OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation.
+	<br />Other names appearing on the site may be trademarks of their respective owners.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Added: websites/staging/ooo-site/trunk/content/udk/common/man/tutorial/uno_registries.html
==============================================================================
--- websites/staging/ooo-site/trunk/content/udk/common/man/tutorial/uno_registries.html (added)
+++ websites/staging/ooo-site/trunk/content/udk/common/man/tutorial/uno_registries.html Sun Nov 27 22:51:54 2011
@@ -0,0 +1,453 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<link href="/css/ooo.css" rel="stylesheet" type="text/css">
+
+
+   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+   <meta name="Author" content="Gast"/>
+   <title>Registries in UNO</title>
+<style type="text/css">
+	<!--
+h1 { text-align:center; margin-top: 0.2cm; text-decoration: none; color: #ffffff; font-size: 6; margin-top: 0.2cm}
+h2 { margin-top: 0.2cm; margin-bottom=0.1cm; color: #ffffff;
+     background-color: #666699 }
+li {margin-bottom: 0.2cm;}
+dl {margin-bottom: 0.2cm;}
+dd {margin-bottom: 0.2cm;}
+dt {margin-bottom: 0.2cm;}
+-->
+</style>
+
+
+</head>
+
+<body>
+  <div id="banner">
+    <div id="bannerleft"><a alt="Apache OpenOffice.org (incubating)" href="/">
+      <img id="ooo-logo alt="Apache OpenOffice.org (Incubating)" src="/images/ooo-logo.png"/></a></div>
+    <div id="bannerright"><a alt="Apache Incubator" href="http://incubator.apache.org">
+      <img id="asf-logo" alt="Apache Incubator" src="/images/apache-incubator-logo.png"/></a></div>
+   <div id="bannercenter"><br/>(incubating)&nbsp;|&nbsp;The Free and Open Productivity Suite</div>
+  </div>
+  <div id="clear"></div>
+  
+  <div id="content">
+  
+    
+    
+<table BORDER=0 CELLSPACING=0 CELLPADDING=4 WIDTH="100%" BGCOLOR="#666699"
+    summary="header">
+<tr>
+<td>
+<h1> Registries in UNO </h1>
+</td>
+</tr>
+</table>
+
+<h2> Contents </h2>
+
+<!-- ************************ OVERVIEW ***************************************    -->
+<a href="#Overview">Overview</a><br/>
+<a href="#view">Viewing registries</a><br/>
+<a href="#tools">Command line registry tools</a><br/>
+<a href="#office">Adding components to the office</a><br/>
+<a href="#bootstrap">Bootstrapping arbitrary UNO C++ processes</a><br/>
+
+<h2 id="Overview"> Overview </h2>
+<p>This document provides information about meaning and usage of UNO-registries
+within arbitrary UNO processes.
+
+<p>
+UNO-registries store binary data in a tree-like structure. It has nothing to do
+with the windows registry (except that they follow a similar concept). UNO-registries mainly
+store two types of data
+
+<ol>
+<li> Type-library<br/>
+     In order to be able to invoke UNO-calls from BASIC or invoke UNO-calls via a
+     interprocess-connection, the core UNO bridges need information about the used datatypes.
+     <p>UNO has chosen to store these information into a typelibrary, so that the same
+     data is reusable from any bridge. This is in opposite to for instance the CORBA approach,
+     where for every datatype C-code is generated which needs to be compiled and linked into
+     huge libraries.
+<li> Information about registered components<br/>
+     One basic concept of UNO is to simply be able to create an instance of a service by name
+     via a so called ServiceManager.
+     The association between the service name and the shared-library (where the necessary
+     compiled code is to be found) is stored into a UNO-registry.
+</ol>
+
+<p>Both types of data are <strong>absolutely necessary to run a UNO-C++
+process</strong>. Lack of the
+one or the other information generally leads to fast termination or crash of the program,
+so please avoid this. UNO processes in general open there registries during startup and
+close them when the process terminates.
+
+<p>
+Both types of data are in general stored into a file with a <em>.rdb</em>-suffix (
+<strong>r</strong>egistry <strong>d</strong>ata<strong>b</strong>ase ).
+
+<p> This documents explains more details about the two types of data, explains the
+tools how to prepare a proper registry and the different possibilities about how to
+bootstrap a C++ process with a registry. Another chapter deals with the registries used
+in OpenOffice.org.
+
+<h2 id="view"> Viewing registries </h2>
+
+<h3> UNO typelibrary</h3>
+
+To be useable by a UNO C++ process, all type descriptions must be available within the registry
+under the /UCR main key (UCR = <strong>U</strong>no <strong>C</strong>ore <strong>R</strong>eflection).
+
+You can have a look at the file office-install/program/applicat.rdb using the regview tool, which
+comes with the office development kit.
+
+
+For instance <br/>
+<p>
+<code>
+$ regview applicat.rdb /UCR
+</code> <br/>
+<p>
+dumps all type descriptions used within the office to stdout. One can check if a certain type
+is included within the registry by invoking the following command
+
+<pre>
+$ regview applicat.rdb /UCR/com/sun/star/bridge/XUnoUrlResolver
+
+/UCR/com/sun/star/bridge/XUnoUrlResolver
+ Value: Type = RG_VALUETYPE_BINARY
+        Size = 461
+        Data = minor version: 0
+               major version: 1
+               type: 'interface'
+               uik: { 0x00000000-0x0000-0x0000-0x00000000-0x00000000 }
+               name: 'com/sun/star/bridge/XUnoUrlResolver'
+               super name: 'com/sun/star/uno/XInterface'
+               Doku: ""
+               IDL source file: "O:\UDK303\src\udkapi\com\sun\star\bridge\XUnoUrlResolver.idl"
+               number of fields: 0
+               number of methods: 1
+               method #0: com/sun/star/uno/XInterface resolve([in] string sUnoUrl)
+	           raises com/sun/star/connection/NoConnectException,
+		          com/sun/star/connection/ConnectionSetupException,
+			  com/sun/star/lang/IllegalArgumentException
+	       Doku: ""
+               number of references: 0
+</pre>
+<p>
+The regview-tool knows the format of the binary blob containing the typedescription and
+dumps it in a human readable form.
+
+
+<h3>Registered services</h3>
+Only the UNO component itself provides the data about its implementations.
+To save loading each available UNO component into memory when starting a UNO
+process,
+the data is assembled once (e.g. during setup) and stored into a registry. This process
+is called <em>component registration</em>. Tools for performing this task are discussed below.
+
+<p>For an installed OpenOffice.org, the applicat.rdb contains the registry information. The data
+is stored within the /IMPLEMENTATIONS and /SERVICES key. Below you can find a sample
+SERVICES key for the <code>com.sun.star.io.Pipe</code>-service.
+
+<pre>
+$ regview applicat.rdb /SERVICES/com.sun.star.io.Pipe
+
+/SERVICES/com.sun.star.io.Pipe
+ Value: Type = RG_VALUETYPE_STRINGLIST
+        Size = 38
+        Len  = 1
+        Data = 0 = "com.sun.star.comp.io.stm.Pipe"
+</pre>
+
+<p>
+It just contains one <em>implementation name</em> (it may contain more than one, but in
+general only the first is used). Within the IMPLEMENTATIONS section, you can find the following
+entry :
+
+<pre>
+$ regview applicat.rdb /IMPLEMENTATIONS/com.sun.star.comp.io.stm.Pipe
+
+/IMPLEMENTATIONS/com.sun.star.comp.io.stm.Pipe
+ / UNO
+   / ACTIVATOR
+     Value: Type = RG_VALUETYPE_STRING
+            Size = 34
+            Data = "com.sun.star.loader.SharedLibrary"
+
+   / SERVICES
+     / com.sun.star.io.Pipe
+   / LOCATION
+     Value: Type = RG_VALUETYPE_STRING
+            Size = 8
+            Data = "stm.dll"
+</pre>
+
+<p>
+The implementations section holds three types of data.
+<ol>
+<li> The loader to be used when the component is requested at runtime (here
+<code>com.sun.star.loader.SharedLibrary</code>).
+<li> The services, which are supported by this implementation.
+<li> The URL to the file, which the loader uses to access the library (the URL
+may be given relative as it is in this case).
+</ol>
+
+<h2 id="tools"> Command line registry tools </h2>
+
+<p>There are various tools to create, modify and use registries. The command
+line options are discussed in detail <a href="../tools.html">here</a>. This
+chapter shows some common use cases.</p>
+
+<h3>General</h3>
+
+<p>The <strong>regmerge</strong> tool is used to merge multiple registries into
+a subkey of an existing or new registry. For instance
+
+<ol>
+<li>
+<pre>
+$ regmerge new.rdb / test1.rdb test2.rdb
+</pre>
+
+<p> merges the contents of test1.rdb and test2.rdb into the file new.rdb. The names of the
+keys are preserved, because both registries are merged into the root-key. In case new.rdb
+existed before, the previous contents remain in new.rdb unless there exist identical keynames
+in either test1.rdb and test2.rdb. In this case, the content of these keys is overwritten with
+the ones in test1.rdb or test2.rdb. So the above command is semantically identical to
+
+<pre>
+$ regmerge new.rdb / test1.rdb
+$ regmerge new.rdb / test2.rdb
+</pre>
+
+
+<li><pre>
+$ regmerge myapp_types.rdb /UCR test1.urd test2.urd
+</pre>
+<p>
+merges the contents of test1.urd and test2.urd into the file myapp_types.rdb. The names of the
+keys in test1.urd and test2.urd get a /UCR prepended. ( The files produced by the idl-compiler
+have a .urd-suffix. The regmerge tool needs to be run before the typelibrary can be used in a
+program, because the /UCR key must be prepended ).
+</ol>
+
+<h3 id="registration"> Component registration</h3>
+<p>
+Components can be registered using the <a href="../tools.html#regcomp">regcomp</a>-tool.
+In the example below the components necessary to establish an interprocess
+connection (e.g. to a running
+OpenOffice.org) get registered into the myapp_services.rdb.
+
+<pre>
+$ regcomp -register -r myapp_services.rdb \
+                    -c uuresolver.dll     \
+                    -c brdgfctr.dll       \
+                    -c acceptor.dll       \
+                    -c connectr.dll       \
+		    -c remotebridge.dll
+</pre>
+(\ means here command line continuation).
+<p>The option -r gives the registry, where the information shall be written to.
+If it doesn't exist, it is created, otherwise the new data is added (in case
+there are older keys, they get overwritten). The option -c can be given multiple
+times, it is followed by a single library name, that shall be registered.
+
+<p>
+Registering a <strong>java-component</strong> is currently more complicated (we are
+working on improving the process). It works only in a installed office environment
+(office-install/program must be your current working directory),
+the office setup must point to a valid java installation (you may start jvmsetup from
+the office/program directory to verify this), and java must be enabled (see
+Extras/Options/General/Security). On Windows, you MUST copy the regcomp.exe into
+the office/program directory.
+
+<pre>
+$ regcomp -register -br applicat.rdb \
+                    -l com.sun.star.loader.Java2 \
+                    -r applict.rdb \
+                    -c file:///i:/o641d3pro/program/JavaTestComponent.jar 
+</pre>
+<p>
+The -br option is used to give the regcomp-tool a registry to work on, because the regcomp-tool
+doesn't know, in which library the java-loader is to be found. The -l option gives the
+service name of the loader to use for the component (it must be com.sun.star.loader.Java2 ).
+The option can be omitted for C++ components, because regcomp defaults to the
+com.sun.star.loader.SharedLibrary loader. The option -c gives the (MANDATORY ABSOLUTE) file URL to the
+java component.
+
+<h3>UNO typelibrary</h3>
+<p>There are several tools, that currently access the typelibrary directly, they are mainly
+used during building. 
+
+<ul>
+<li> <a href="../tools.html#idlc">idlc</a><br/>
+   Compiles .idl into .urd-registry-files.
+<li> <a href="../tools.html#cppumaker">cppumaker</a><br/>
+   Generates C++ header for a given UNO typelist.
+<li> <a href="../tools.html#cunomaker">cunomaker</a><br/>
+   Generates C for a given UNO typelist.
+<li> <a href="../tools.html#javamaker">javamaker</a><br/>
+   Generates java-files for a given typelist.
+<li> <a href="../tools.html#rdbmaker">rdbmaker</a><br/>
+   Create a new registry by extracting given types (including dependent types) from
+   another registry.
+<li> regcompare<br/>
+   Compares a typelibrary to a reference typelibrary and checks for compatibility.
+</ul>
+
+<h2 id="office"> Adding components to the office </h2>
+
+<p>StarOffice 6.0 (or OpenOffice.org 1.0) uses 2 registries, the applicat.rdb (which can be found
+at office-install/program/applicat.rdb) and the user60.rdb (which can be found in the home
+directory on Unix and within the application data directory of your personal windows profile).
+
+<p>
+The applicat.rdb contains all types which are used by the office. During setup, all
+chosen components get registered also into the applicat.rdb.
+
+<p> The user-specific user60.rdb is opened for write access and is by default empty.
+
+<h3>How to add a component to an office installation ?</h3>
+A component may bring along new types and new component registration information.
+There are multiple ways how
+to integrate a new component into the office (with different advantages/disadvantages) :
+
+<ol>
+<li> merge new types into the applicat.rdb and register the component into the applicat.rdb
+<p>
+Merged types can't be removed anymore. It offers maximal startup performance, as there
+is only one registry. In a network installation, the component is available for EVERY user.
+This may lead to problems in a network installation, in case there are running offices
+using the applicat.rdb during the merge process. This should be avoided.
+
+<li> put the new types and component registration information registry into a separate file
+somewhere in the file system and modify the bootstrap variables.
+
+<p> The new component can then be easily removed later on (by changing the bootstrap
+variables to there original values). It
+maybe a little slower during startup (as type lookups are now performed over two registries).
+No matter how the bootstrap variables are modified (see below), it is safe to do it in a network
+installation also with running user-offices. 
+
+<p> There are multiple ways to modify the bootstrap variables (see therefor the 
+<a href="../concept/uno_default_bootstrapping.html">
+UNO bootstrapping document</a>). Here are only two suggestions.
+<ul>
+<li> modify the uno.ini
+<p>after installation, the uno.ini contains the following lines
+<pre>
+[Bootstrap]
+UNO_TYPES=$SYSBINDIR/applicat.rdb
+UNO_SERVICES=$SYSBINDIR/applicat.rdb
+</pre>
+Please change this to something like
+<pre>
+[Bootstrap]
+UNO_TYPES=$SYSBINDIR/applicat.rdb $SYSBINDIR/mycomponent_types.rdb
+UNO_SERVICES=$SYSBINDIR/applicat.rdb $SYSBINDIR/mycomponent_services.rdb
+</pre>
+The new component then gets available as soon as the offices get restarted (note
+that also the quickstarter needs to be terminated to really terminate the office process !).
+
+<li> pass the new values for the bootstrap variables via the command line
+<p> e.g.<br/>
+<pre>
+soffice "-env:UNO_TYPES=$SYSBINDIR/applicat.rdb file:///path/to/local/mycomponent_types.rdb" \
+ "-env:UNO_SERVICES=$SYSBINDIR/applicat.rdb file:///path/to/local/mycomponent_services.rdb" 
+</pre>
+Here only this office is started with the new component enabled (make sure, the office
+really has terminated before !!). 
+
+</ul>
+<li> register the new component via StarBasic.
+<p>In the ODK examples can be found a BASIC library called regcomp, which can simply be imported
+into the office via Tools/Macro/Organizer/Libraries/Append. Starting the first basic macro from
+this library opens a dialog which allows to select a component to be registered. (This is a
+very new feature, it may not yet be within your version of the ODK).
+
+<p>In this case, registration data will be written into the user60.rdb and is therefor available
+only for the current office-user. The component is useable directly after registration. You
+currently cannot add new types via this method, in case your component needs this, you need to do
+it in one of the ways described above.
+
+</ol>
+
+<h2 id="bootstrap"> Bootstrapping arbitrary UNO C++ processes </h2>
+
+<p>There are many ways to bootstrap an UNO C++ application (probably too many). For every way
+you need to properly prepare one or multiple registry files.
+
+<h3>Preparing registries</h3>
+In general you should have different files for registered components and typelibraries.
+There are multiple reasons therefor
+<ul>
+<li> Typelibraries and component registration data are very different kind of data and are
+     used from different core components ( servicemanager and registrytypeprovider ).
+<li> Often typelibraries are more static than component registration registries, meaning
+that during development phases, the types are often fixed while libraries are changed or
+added. Therefor typelibraries in general need less frequent updates.
+<li> In order to write into a registry, you need exclusive access. No other process may
+read or write from this registry during this time.
+<li> Often two different applications may share the type registry but have different
+component registries.
+</ul>
+
+So no matter which of the below bootstrapmethods you choose, you should prepare two registries,
+one which contains the types and the other one which contains the registered components. The
+type registry should be the applicat.rdb found in the ODK plus additional self defined types
+(in fact you may not need all types from the applicat.rdb, in case you are
+looking for a minimal solution, you can use the rdbmaker tool to reduce the
+types to an absolute minimum).
+<!-- The service-registry should be (unfinished thought) -->
+
+
+
+<h3>Bootstrapping mechanisms</h3>
+In the following all ways of bootstrapping an UNO component context are explained. 
+
+<h4>The uno.exe tool</h4>
+TODO
+<h4>C++ UNO bootstrapping via cppu::defaultBootstrap_InitialComponentContext()</h4>
+TODO
+<h4>C++ UNO bootstrapping via cppu::createRegistryServiceFactory()</h4>
+TODO
+<h4>Java UNO bootstrapping via com.sun.star.comp.helper.Bootstrap.createInitialComponentContext()</h4>
+<p>TODO</p>
+
+<table width=100% summary="Footer">
+<tr>
+<td BGCOLOR="#666699"><font color="#FFFFFF">Author: <a href="mailto:joerg.budischewski@germany.sun.com">Joerg
+Budischewski</a> ($Date: 2004/11/27 04:05:11 $)
+<br/><I>Copyright 2001 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, CA 94303 USA.</I></font></td>
+</tr>
+</table>
+
+
+  </div>
+
+  <div id="footera">
+    <div id="poweredbya">
+      <p><img src="/images/feather-small.gif"/><br/>Powered by the Apache CMS.</p>
+    </div>
+    <div id="copyrighta">
+      <p>
+	Apache "OpenOffice.org" is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.
+	Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and
+	decision making process	have stabilized in a manner consistent with other successful ASF projects. While incubation status is
+	not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has
+	yet to be fully endorsed by the ASF.</p>
+      <p>
+	<a href="/contact.html">Contact Us</a> |
+	<a href="/terms.html">Terms of Use</a>
+	<br />Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+	<br />OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation.
+	<br />Other names appearing on the site may be trademarks of their respective owners.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Added: websites/staging/ooo-site/trunk/content/udk/common/man/tutorial/writerdemo.html
==============================================================================
--- websites/staging/ooo-site/trunk/content/udk/common/man/tutorial/writerdemo.html (added)
+++ websites/staging/ooo-site/trunk/content/udk/common/man/tutorial/writerdemo.html Sun Nov 27 22:51:54 2011
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<link href="/css/ooo.css" rel="stylesheet" type="text/css">
+
+
+<style type="text/css">
+<!--
+a:active {color:blue;text-decoration:underline;}   /* selected link */
+a:visited {color:#8b008b;text-decoration:underline;}  /* visited link */
+a:link {color:blue;text-decoration:underline;}     /* unvisited link */
+a:hover {color:blue;background-color:#ffe4c4;text-decoration:underline;}   /* mouse over link */
+body { font-family:Helvetica,sans-serif;font-size:10pt;}
+p {font-family:Helvetica,sans-serif;font-size:10pt;}
+h1 { font-size:180%;color:black;}
+h2 { font-size:150%;color:black;}
+h3 { font-size:120%;color:black;font-weight:bold;}
+.code {white-space:nowrap;color:black;font-family:monospace;font-size:9pt;}
+.code_key {white-space:nowrap;color:blue;font-family:monospace;font-size:9pt;}
+.code_comment {white-space:nowrap;color:green;font-family:monospace;font-size:9pt;}
+-->
+</style>
+
+
+<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
+
+
+</head>
+
+<body>
+  <div id="banner">
+    <div id="bannerleft"><a alt="Apache OpenOffice.org (incubating)" href="/">
+      <img id="ooo-logo alt="Apache OpenOffice.org (Incubating)" src="/images/ooo-logo.png"/></a></div>
+    <div id="bannerright"><a alt="Apache Incubator" href="http://incubator.apache.org">
+      <img id="asf-logo" alt="Apache Incubator" src="/images/apache-incubator-logo.png"/></a></div>
+   <div id="bannercenter"><br/>(incubating)&nbsp;|&nbsp;The Free and Open Productivity Suite</div>
+  </div>
+  <div id="clear"></div>
+  
+  <div id="content">
+  
+    
+    
+<p class="code">
+<span class="code_comment">'The service manager is always the starting point</span><br>
+<span class="code_comment">'If there is no office running then an office is started up</span><br>
+<span class="code_key">Set</span> objServiceManager= WScript.CreateObject("com.sun.star.ServiceManager")<br>
+<br>
+<span class="code_comment">'Create the CoreReflection service that is later used to create structs</span><br>
+<span class="code_key">Set</span> objCoreReflection= objServiceManager.createInstance("com.sun.star.reflection.CoreReflection")<br>
+<br>
+<span class="code_comment">'Create the Desktop</span><br>
+<span class="code_key">Set</span> objDesktop= objServiceManager.createInstance("com.sun.star.frame.Desktop")<br>
+<br>
+<span class="code_comment">'Open a new empty writer document</span><br>
+<Span Class="Code_Key">Dim</Span> args()<br>
+<span class="code_key">Set</span> objDocument= objDesktop.loadComponentFromURL("private:factory/swriter", "_blank", 0, args)<br>
+<br>
+<span class="code_comment">'Create a text object</span><br>
+<span class="code_key">Set</span> objText= objDocument.getText<br>
+<br>
+<span class="code_comment">'Create a cursor object</span><br>
+<span class="code_key">Set</span> objCursor= objText.createTextCursor<br>
+<br>
+<span class="code_comment">'Inserting some Text</span><br>
+objText.insertString objCursor, "The first line in the newly created text document." & vbLf, false<br>
+<br>
+<span class="code_comment">'Inserting a second line</span><br>
+objText.insertString objCursor, "Now we're in the second line", false<br>
+<br>
+<span class="code_comment">'Create instance of a text table with 4 columns and 4 rows</span><br>
+<span class="code_key">Set</span> objTable= objDocument.createInstance( "com.sun.star.text.TextTable")<br>
+objTable.initialize 4, 4<br>
+<br>
+<span class="code_comment">'Insert the table</span><br>
+objText.insertTextContent objCursor, objTable, false<br>
+<br>
+<span class="code_comment">'Get first row</span><br>
+<span class="code_key">Set</span> objRows= objTable.getRows<br>
+<span class="code_key">Set</span> objRow= objRows.getByIndex( 0)<br>
+<br>
+<span class="code_comment">'Set the table background color</span><br>
+objTable.setPropertyValue "BackTransparent", false<br>
+objTable.setPropertyValue "BackColor", 13421823<br>
+<br>
+<span class="code_comment">'Set a different background color for the first row</span><br>
+objRow.setPropertyValue "BackTransparent", false<br>
+objRow.setPropertyValue "BackColor", 6710932<br>
+<br>
+<span class="code_comment">'Fill the first table row</span><br>
+insertIntoCell "A1","FirstColumn", objTable <br>
+insertIntoCell "B1","SecondColumn", objTable<br>
+insertIntoCell "C1","ThirdColumn", objTable<br>
+insertIntoCell "D1","SUM", objTable<br>
+<br>
+objTable.getCellByName("A2").setValue 22.5<br>
+objTable.getCellByName("B2").setValue 5615.3<br>
+objTable.getCellByName("C2").setValue -2315.7<br>
+objTable.getCellByName("D2").setFormula"sum <A2:C2>"<br>
+<br>
+objTable.getCellByName("A3").setValue 21.5<br>
+objTable.getCellByName("B3").setValue 615.3<br>
+objTable.getCellByName("C3").setValue -315.7<br>
+objTable.getCellByName("D3").setFormula "sum <A3:C3>"<br>
+<br>
+objTable.getCellByName("A4").setValue 121.5<br>
+objTable.getCellByName("B4").setValue -615.3<br>
+objTable.getCellByName("C4").setValue 415.7<br>
+objTable.getCellByName("D4").setFormula "sum <A4:C4>"<br>
+<br>
+<span class="code_comment">'Change the CharColor and add a Shadow</span><br>
+objCursor.setPropertyValue "CharColor", 255<br>
+objCursor.setPropertyValue "CharShadowed", true<br>
+<br>
+<span class="code_comment">'Create a paragraph break</span><br>
+<span class="code_comment">'The second argument is a com::sun::star::text::ControlCharacter::PARAGRAPH_BREAK constant</span><br>
+objText.insertControlCharacter objCursor, 0 , false<br>
+<br>
+<span class="code_comment">'Inserting colored Text.</span><br>
+objText.insertString objCursor, " This is a colored Text - blue with shadow" & vbLf, false<br>
+<br>
+<span class="code_comment">'Create a paragraph break ( ControlCharacter::PARAGRAPH_BREAK).</span><br>
+objText.insertControlCharacter objCursor, 0, false <br>
+<br>
+<span class="code_comment">'Create a TextFrame.</span><br>
+<span class="code_key">Set</span> objTextFrame= objDocument.createInstance("com.sun.star.text.TextFrame")<br>
+<br>
+<span class="code_comment">'Create a Size struct.</span><br>
+<span class="code_key">Set</span> objSize= createStruct("com.sun.star.awt.Size")<br>
+objSize.Width= 15000<br>
+objSize.Height= 400<br>
+objTextFrame.setSize( objSize)<br>
+<br>
+<span class="code_comment">' TextContentAnchorType.AS_CHARACTER = 1</span><br>
+objTextFrame.setPropertyValue "AnchorType", 1<br>
+<br>
+<span class="code_comment">'insert the frame</span><br>
+objText.insertTextContent objCursor, objTextFrame, false<br>
+<br>
+<span class="code_comment">'Get the text object of the frame</span><br>
+<span class="code_key">Set</span> objFrameText= objTextFrame.getText<br>
+<br>
+<span class="code_comment">'Create a cursor object</span><br>
+<span class="code_key">Set</span> objFrameTextCursor= objFrameText.createTextCursor<br>
+<br>
+<span class="code_comment">'Inserting some Text</span><br>
+objFrameText.insertString objFrameTextCursor, "The first line in the newly created text frame.", _<br>
+                          false<br>
+objFrameText.insertString objFrameTextCursor, _<br>
+                          vbLf & "With this second line the height of the frame raises.", false <br>
+<br>
+<span class="code_comment">'Create a paragraph break</span><br>
+<span class="code_comment">'The second argument is a com::sun::star::text::ControlCharacter::PARAGRAPH_BREAK constant</span><br>
+objFrameText.insertControlCharacter objCursor, 0 , false<br>
+<br>
+<span class="code_comment">'Change the CharColor and add a Shadow</span><br>
+objCursor.setPropertyValue "CharColor", 65536<br>
+objCursor.setPropertyValue "CharShadowed", false<br>
+<br>
+<span class="code_comment">'Insert another string</span><br>
+objText.insertString objCursor, " That's all for now !!", false<br>
+<br>
+<span class="code_key">On Error Resume Next</span><br>
+<span class="code_key">&nbsp;&nbsp;If</span> Err <span class="code_key">Then</span><br>
+&nbsp;&nbsp;MsgBox "An error occurred"<br>
+<span class="code_key">End If</span><br>
+<br>
+<br>
+<span class="code_key">Sub</span> insertIntoCell( strCellName, strText, objTable) <br>
+&nbsp;&nbsp; <span class="code_key">Set</span> objCellText= objTable.getCellByName( strCellName)<br>
+&nbsp;&nbsp; <span class="code_key">Set</span> objCellCursor= objCellText.createTextCursor<br>
+&nbsp;&nbsp; objCellCursor.setPropertyValue "CharColor",16777215<br>
+&nbsp;&nbsp; objCellText.insertString objCellCursor, strText, false<br>
+<span class="code_key">End Sub</span><br>
+<br>
+<span class="code_key">Function</span> createStruct( strTypeName)<br>
+&nbsp;&nbsp; <span class="code_key">Set</span> classSize= objCoreReflection.forName( strTypeName)<br>
+&nbsp;&nbsp; <Span Class="Code_Key">Dim</Span> aStruct<br>
+&nbsp;&nbsp; classSize.createObject aStruct<br>
+&nbsp;&nbsp; <span class="code_key">Set</span> createStruct= aStruct<br>
+<span class="code_key">End Function</span><br>
+</p>
+
+
+  </div>
+
+  <div id="footera">
+    <div id="poweredbya">
+      <p><img src="/images/feather-small.gif"/><br/>Powered by the Apache CMS.</p>
+    </div>
+    <div id="copyrighta">
+      <p>
+	Apache "OpenOffice.org" is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.
+	Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and
+	decision making process	have stabilized in a manner consistent with other successful ASF projects. While incubation status is
+	not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has
+	yet to be fully endorsed by the ASF.</p>
+      <p>
+	<a href="/contact.html">Contact Us</a> |
+	<a href="/terms.html">Terms of Use</a>
+	<br />Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+	<br />OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation.
+	<br />Other names appearing on the site may be trademarks of their respective owners.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Added: websites/staging/ooo-site/trunk/content/udk/common/man/typenames.html
==============================================================================
--- websites/staging/ooo-site/trunk/content/udk/common/man/typenames.html (added)
+++ websites/staging/ooo-site/trunk/content/udk/common/man/typenames.html Sun Nov 27 22:51:54 2011
@@ -0,0 +1,342 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<link href="/css/ooo.css" rel="stylesheet" type="text/css">
+
+
+    <title>Type Names</title>
+    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
+<style type="text/css">
+	<!--
+h1 { text-align:center; margin-top: 0.2cm; text-decoration: none; color: #ffffff; font-size: 6; margin-top: 0.2cm}
+h2 { margin-top: 0.2cm; margin-bottom=0.1cm; color: #ffffff;
+     background-color: #666699 }
+li {margin-bottom: 0.2cm;}
+dl {margin-bottom: 0.2cm;}
+dd {margin-bottom: 0.2cm;}
+dt {margin-bottom: 0.2cm;}
+-->
+</style>
+
+
+</head>
+
+<body>
+  <div id="banner">
+    <div id="bannerleft"><a alt="Apache OpenOffice.org (incubating)" href="/">
+      <img id="ooo-logo alt="Apache OpenOffice.org (Incubating)" src="/images/ooo-logo.png"/></a></div>
+    <div id="bannerright"><a alt="Apache Incubator" href="http://incubator.apache.org">
+      <img id="asf-logo" alt="Apache Incubator" src="/images/apache-incubator-logo.png"/></a></div>
+   <div id="bannercenter"><br/>(incubating)&nbsp;|&nbsp;The Free and Open Productivity Suite</div>
+  </div>
+  <div id="clear"></div>
+  
+  <div id="content">
+  
+    
+    
+
+<table width="100%" border="0" cellspacing="0" cellpadding="4" bgcolor="#666699"
+     summary=header>
+    <tr><td>
+        <h1> Type Names </h1>
+		</td><td>
+            <a href="http://www.openoffice.org"><img
+            src="../../images/open_office_org_logo.gif" alt="OpenOffice.org"
+            align="right" border="0"/></a>
+    </td></tr>
+</table>
+
+<p>This document describes how core UNO types (see
+<a href="typesystem.html"><cite>UNO Type System</cite></a>) and related UNOIDL
+entities (like typedefs, modules, and services) are named in binary UNO and in
+the UNO type registry.</p>
+
+<table border="1" summary="Uno types">
+    <thead>
+        <tr>
+            <th>UNO Type <var>t</var></th>
+            <th>Binary UNO Type Name <var>&beta;</var>(<var>t</var>)</th>
+            <th>UNO Type Registry Name <var>&rho;</var>(<var>t</var>)</th>
+        </tr>
+    </thead>
+    <tbody>
+        <tr>
+            <td><code>VOID</code></td>
+            <td><code>void</code></td>
+            <td><code>void</code></td>
+        </tr>
+        <tr>
+            <td><code>BOOLEAN</code></td>
+            <td><code>boolean</code></td>
+            <td><code>boolean</code></td>
+        </tr>
+        <tr>
+            <td><code>BYTE</code></td>
+            <td><code>byte</code></td>
+            <td><code>byte</code></td>
+        </tr>
+        <tr>
+            <td><code>SHORT</code></td>
+            <td><code>short</code></td>
+            <td><code>short</code></td>
+        </tr>
+        <tr>
+            <td><code>UNSIGNED SHORT</code></td>
+            <td><code>unsigned short</code></td>
+            <td><code>unsigned short</code></td>
+        </tr>
+        <tr>
+            <td><code>LONG</code></td>
+            <td><code>long</code></td>
+            <td><code>long</code></td>
+        </tr>
+        <tr>
+            <td><code>UNSIGNED LONG</code></td>
+            <td><code>unsigned long</code></td>
+            <td><code>unsigned long</code></td>
+        </tr>
+        <tr>
+            <td><code>HYPER</code></td>
+            <td><code>hyper</code></td>
+            <td><code>hyper</code></td>
+        </tr>
+        <tr>
+            <td><code>UNSIGNED HYPER</code></td>
+            <td><code>unsigned hyper</code></td>
+            <td><code>unsigned hyper</code></td>
+        </tr>
+        <tr>
+            <td><code>FLOAT</code></td>
+            <td><code>float</code></td>
+            <td><code>float</code></td>
+        </tr>
+        <tr>
+            <td><code>DOUBLE</code></td>
+            <td><code>double</code></td>
+            <td><code>double</code></td>
+        </tr>
+        <tr>
+            <td><code>CHAR</code></td>
+            <td><code>char</code></td>
+            <td><code>char</code></td>
+        </tr>
+        <tr>
+            <td><code>STRING</code></td>
+            <td><code>string</code></td>
+            <td><code>string</code></td>
+        </tr>
+        <tr>
+            <td><code>TYPE</code></td>
+            <td><code>type</code></td>
+            <td><code>type</code></td>
+        </tr>
+        <tr>
+            <td><code>ANY</code></td>
+            <td><code>any</code></td>
+            <td><code>any</code></td>
+        </tr>
+        <tr>
+            <td>Sequence type with component type&nbsp;<var>t</var>&prime;</td>
+            <td><code>[]</code><var>&beta;</var>(<var>t</var>&prime;)</td>
+            <td><code>[]</code><var>&rho;</var>(<var>t</var>&prime;)</td>
+        </tr>
+        <tr>
+            <td>Enum type with structured name <var>n</var><sub>1</sub><!--
+            --><code>.</code>&hellip;<code>.</code><!--
+            --><var>n</var><sub><var>k</var></sub>, <var>k</var> &gt; 0</td>
+            <td><var>n</var><sub>1</sub><code>.</code>&hellip;<code>.</code><!--
+            --><var>n</var><sub><var>k</var></sub></td>
+            <td><var>n</var><sub>1</sub><code>/</code>&hellip;<code>/</code><!--
+            --><var>n</var><sub><var>k</var></sub></td>
+        </tr>
+        <tr>
+            <td>Plain struct type with structured name
+            <var>n</var><sub>1</sub><code>.</code>&hellip;<code>.</code><!--
+            --><var>n</var><sub><var>k</var></sub>, <var>k</var> &gt; 0</td>
+            <td><var>n</var><sub>1</sub><code>.</code>&hellip;<code>.</code><!--
+            --><var>n</var><sub><var>k</var></sub></td>
+            <td><var>n</var><sub>1</sub><code>/</code>&hellip;<code>/</code><!--
+            --><var>n</var><sub><var>k</var></sub></td>
+        </tr>
+        <tr>
+            <td>Instantiated polymorphic struct type with polymorphic struct
+            type template with structured name <var>n</var><sub>1</sub><!--
+            --><code>.</code>&hellip;<code>.</code><!--
+            --><var>n</var><sub><var>kn</var></sub>, <var>kn</var> &gt; 0, and
+            type arguments &lang;<var>t</var><sub>1</sub>, &hellip;,
+            <var>t</var><sub><var>kt</var></sub>&rang;, <var>kt</var> &gt;
+            0</td>
+            <td><var>n</var><sub>1</sub><code>.</code>&hellip;<code>.</code><!--
+            --><var>n</var><sub><var>kn</var></sub><code>&lt;</code><!--
+            --><var>&beta;</var>(<var>t</var><sub>1</sub>)<code>,</code><!--
+            -->&hellip;<code>,</code><!--
+            --><var>&beta;</var>(<var>t</var><sub><var>kt</var></sub>)<!--
+            --><code>&gt;</code></td>
+            <td><var>n</var><sub>1</sub><code>/</code>&hellip;<code>/</code><!--
+            --><var>n</var><sub><var>kn</var></sub><code>&lt;</code><!--
+            --><var>&rho;</var>(<var>t</var><sub>1</sub>)<code>,</code><!--
+            -->&hellip;<code>,</code><!--
+            --><var>&rho;</var>(<var>t</var><sub><var>kt</var></sub>)<!--
+            --><code>&gt;</code></td>
+        </tr>
+        <tr>
+            <td>Exception type with structured name <var>n</var><sub>1</sub><!--
+            --><code>.</code>&hellip;<code>.</code><!--
+            --><var>n</var><sub><var>k</var></sub>, <var>k</var> &gt; 0</td>
+            <td><var>n</var><sub>1</sub><code>.</code>&hellip;<code>.</code><!--
+            --><var>n</var><sub><var>k</var></sub></td>
+            <td><var>n</var><sub>1</sub><code>/</code>&hellip;<code>/</code><!--
+            --><var>n</var><sub><var>k</var></sub></td>
+        </tr>
+        <tr>
+            <td>Interface type with structured name <var>n</var><sub>1</sub><!--
+            --><code>.</code>&hellip;<code>.</code><!--
+            --><var>n</var><sub><var>k</var></sub>, <var>k</var> &gt; 0</td>
+            <td><var>n</var><sub>1</sub><code>.</code>&hellip;<code>.</code><!--
+            --><var>n</var><sub><var>k</var></sub></td>
+            <td><var>n</var><sub>1</sub><code>/</code>&hellip;<code>/</code><!--
+            --><var>n</var><sub><var>k</var></sub></td>
+        </tr>
+        <tr>
+            <td><em>Polymorphic struct type template with structured name
+            <var>n</var><sub>1</sub><code>.</code>&hellip;<code>.</code><!--
+            --><var>n</var><sub><var>k</var></sub>, <var>k</var> &gt;
+            0</em></td>
+            <td>&mdash;</td>
+            <td><var>n</var><sub>1</sub><code>/</code>&hellip;<code>/</code><!--
+            --><var>n</var><sub><var>k</var></sub></td>
+        </tr>
+        <tr>
+            <td><em>Typedef with structured name <var>n</var><sub>1</sub><!--
+            --><code>.</code>&hellip;<code>.</code><!--
+            --><var>n</var><sub><var>k</var></sub>, <var>k</var> &gt;
+            0</em></td>
+            <td>&mdash;</td>
+            <td><var>n</var><sub>1</sub><code>/</code>&hellip;<code>/</code><!--
+            --><var>n</var><sub><var>k</var></sub></td>
+        </tr>
+        <tr>
+            <td><em>Module with structured name <var>n</var><sub>1</sub><!--
+            --><code>.</code>&hellip;<code>.</code><!--
+            --><var>n</var><sub><var>k</var></sub>, <var>k</var> &gt;
+            0</em></td>
+            <td>&mdash;</td>
+            <td><var>n</var><sub>1</sub><code>/</code>&hellip;<code>/</code><!--
+            --><var>n</var><sub><var>k</var></sub></td>
+        </tr>
+        <tr>
+            <td><em>Constant group with structured name
+            <var>n</var><sub>1</sub><code>.</code>&hellip;<code>.</code><!--
+            --><var>n</var><sub><var>k</var></sub>, <var>k</var> &gt;
+            0</em></td>
+            <td>&mdash;</td>
+            <td><var>n</var><sub>1</sub><code>/</code>&hellip;<code>/</code><!--
+            --><var>n</var><sub><var>k</var></sub></td>
+        </tr>
+        <tr>
+            <td><em>Service with structured name <var>n</var><sub>1</sub><!--
+            --><code>.</code>&hellip;<code>.</code><!--
+            --><var>n</var><sub><var>k</var></sub>, <var>k</var> &gt;
+            0</em></td>
+            <td>&mdash;</td>
+            <td><var>n</var><sub>1</sub><code>/</code>&hellip;<code>/</code><!--
+            --><var>n</var><sub><var>k</var></sub></td>
+        </tr>
+        <tr>
+            <td><em>Singleton with structured name <var>n</var><sub>1</sub><!--
+            --><code>.</code>&hellip;<code>.</code><!--
+            --><var>n</var><sub><var>k</var></sub>, <var>k</var> &gt;
+            0</em></td>
+            <td>&mdash;</td>
+            <td><var>n</var><sub>1</sub><code>/</code>&hellip;<code>/</code><!--
+            --><var>n</var><sub><var>k</var></sub></td>
+        </tr>
+    </tbody>
+</table>
+
+<p>Annotations:</p>
+<ul>
+    <li>Entries given in <em>italics</em> denote entities that are not types of
+    the core UNO type system.  They also have no correspondence in binary
+    UNO.</li>
+
+    <li>A <dfn>structured name</dfn> <var>n</var><sub>1</sub><code>.</code><!--
+    -->&hellip;<code>.</code><var>n</var><sub><var>k</var></sub>, <var>k</var>
+    &gt; 0, consists of a sequence of <dfn>structured name parts</dfn>,
+    separated by full stops (<code>.</code>).  Each structured name part must
+    satisfy the lexical rules
+<p>&emsp;<var>structured-name-part</var> = <var>lowercase-name</var> /
+    <var>uppercase-name</var><br/>
+    &emsp;<var>lowercase-name</var> = <var>lowercase</var>
+    *<var>alphanum</var><br/>
+    &emsp;<var>uppercase-name</var> = <var>uppercase</var> *<var>alphanum</var>
+    *(<code>_</code> +<var>alphanum</var>)<br/>
+    &emsp;<var>alphanum</var> = <var>alpha</var> / <var>digit</var><br/>
+    &emsp;<var>alpha</var> = <var>lowercase</var> / <var>uppercase</var><br/>
+    &emsp;<var>lowercase</var> = <code>a</code>&ndash;<code>z</code><br/>
+    &emsp;<var>uppercase</var> = <code>A</code>&ndash;<code>Z</code><br/>
+    &emsp;<var>digit</var> = <code>0</code>&ndash;<code>9</code></p>
+<li>For the purposes of binary UNO and the UNO type registry, it is an error for
+    any enum type, plain struct type, polymorphic struct type template,
+    exception type, or interface type to have a name that is not a structured
+    name, or that is a structured name (consisting of only a single structured
+    name part) that is equal to any of <code>void</code>, <code>boolean</code>,
+    <code>byte</code>, <code>short</code>, <code>long</code>,
+    <code>hyper</code>, <code>float</code>, <code>double</code>,
+    <code>char</code>, <code>string</code>, <code>type</code>, or
+    <code>any</code>.</li>
+<li>For the purposes of binary UNO, it is an error for any enum type, plain
+    struct type, polymorphic struct type template, exception type, or interface
+    type to have a name that is the same as the name of another enum type, plain
+    structure type, polymorphic struct type template, exception type, or
+    interface type.</li>
+<li>For the purposes of the UNO type registry, it is an error for any enum type,
+    plain struct type, polymorphic struct type template, exception type, or
+    interface type to have a name that is the same as the name of another enum
+    type, plain structure type, polymorphic struct type template, exception
+    type, interface type, typedef, module, constant group, service, or
+    singleton.</li>
+
+<li>For the purposes of binary UNO and the UNO type registry, it is an error
+    for any polymorphic struct type template to have zero type parameters.</li>
+</ul>
+
+<table width="100%" border="0" cellspacing="0" cellpadding="4" summary=footer>
+    <tr><td bgcolor="#666699">
+        <p><font color="White">Author:
+        <a href="mailto:stephan.bergmann@sun.com"><font color="White">Stephan
+        Bergmann</font></a> (last modification $Date: 2004/11/30 12:25:04 $).
+        Copyright 2004 <a href="http://www.openoffice.org"><font
+        color="White">OpenOffice.org</font></a> Foundation.  All rights
+        reserved.</font></p>
+    </td></tr>
+</table>
+
+
+
+  </div>
+
+  <div id="footera">
+    <div id="poweredbya">
+      <p><img src="/images/feather-small.gif"/><br/>Powered by the Apache CMS.</p>
+    </div>
+    <div id="copyrighta">
+      <p>
+	Apache "OpenOffice.org" is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.
+	Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and
+	decision making process	have stabilized in a manner consistent with other successful ASF projects. While incubation status is
+	not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has
+	yet to be fully endorsed by the ASF.</p>
+      <p>
+	<a href="/contact.html">Contact Us</a> |
+	<a href="/terms.html">Terms of Use</a>
+	<br />Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+	<br />OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation.
+	<br />Other names appearing on the site may be trademarks of their respective owners.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>

Added: websites/staging/ooo-site/trunk/content/udk/common/man/typesystem.html
==============================================================================
--- websites/staging/ooo-site/trunk/content/udk/common/man/typesystem.html (added)
+++ websites/staging/ooo-site/trunk/content/udk/common/man/typesystem.html Sun Nov 27 22:51:54 2011
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<link href="/css/ooo.css" rel="stylesheet" type="text/css">
+
+<title></title>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+</head>
+
+<body>
+  <div id="banner">
+    <div id="bannerleft"><a alt="Apache OpenOffice.org (incubating)" href="/">
+      <img id="ooo-logo alt="Apache OpenOffice.org (Incubating)" src="/images/ooo-logo.png"/></a></div>
+    <div id="bannerright"><a alt="Apache Incubator" href="http://incubator.apache.org">
+      <img id="asf-logo" alt="Apache Incubator" src="/images/apache-incubator-logo.png"/></a></div>
+   <div id="bannercenter"><br/>(incubating)&nbsp;|&nbsp;The Free and Open Productivity Suite</div>
+  </div>
+  <div id="clear"></div>
+  
+  <div id="content">
+  
+    
+    
+  </div>
+
+  <div id="footera">
+    <div id="poweredbya">
+      <p><img src="/images/feather-small.gif"/><br/>Powered by the Apache CMS.</p>
+    </div>
+    <div id="copyrighta">
+      <p>
+	Apache "OpenOffice.org" is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator.
+	Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and
+	decision making process	have stabilized in a manner consistent with other successful ASF projects. While incubation status is
+	not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has
+	yet to be fully endorsed by the ASF.</p>
+      <p>
+	<a href="/contact.html">Contact Us</a> |
+	<a href="/terms.html">Terms of Use</a>
+	<br />Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
+	<br />OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation.
+	<br />Other names appearing on the site may be trademarks of their respective owners.
+      </p>
+    </div>
+  </div>
+
+</body>
+</html>



Mime
View raw message