[ooo-build-commit] doc/registry.txt

Michael Meeks mmeeks at kemper.freedesktop.org
Fri Aug 28 07:49:08 PDT 2009


 doc/registry.txt |   81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 81 insertions(+)

New commits:
commit 2d44c65fee47b41ccbd0a99cb511d819b9df8158
Author: Michael Meeks <michael.meeks at novell.com>
Date:   Fri Aug 28 15:51:10 2009 +0100

    add docs
    
    * doc/registry.txt:

diff --git a/doc/registry.txt b/doc/registry.txt
new file mode 100644
index 0000000..0e74617
--- /dev/null
+++ b/doc/registry.txt
@@ -0,0 +1,81 @@
+The registry needs a re-write:
+
+* plain Text format
+
+* compressed - re-using previous fragments (?)
+	+ or just being less lame structurally - prolly more useful.
+
+n: 
+
+[ integer representing tree / nesting ] ':' delimiter.
+
+
+* store the complete tree internally; as OStrings etc. - of course ... [!]
+	+ complicated recursive types as multi-line ...
+
+
+* services.rdb:
+	+ only uses 'String' and 'StringList' types.
+	+ wow - it's simple ;-)
+
+* Tackle the 'services' piece - at a higher level [!?]
+	+ have a special case file format for this ...
+
+* types.rdb:
+	+ only 1 type: RG_VALUETYPE_BINARY ...
+		;-) wow ...
+	+ and a simple tree of it:
+		+ a simple tree, method argument descriptions
+		  for interfaces, one by one.
+	+ various 'type classes' instead ...
+	+ outer encapsulation broadly pointless ... ;-)
+
+	+ typereg_writer ... ? ...
+		+ RegistryTypeReader_Api [ etc. ] ...
+
+Q: + does the [whatever] code use only this API, and
+     not the registry API directly ?
+   + if so, lots of wins possible (surely).
+
+Q: + the services code all uses the registry tools to
+     do it's manipulation, so if we break that ... ;-)
+
+$ cat >> should be a valid reg creation tool ...
+	+ assuming no duplicates etc. ;-)
+
+
+
+** what is the highest level API ?
+	+ how do we use the registry ?
+
+* stoc/source/simpleregistry/simpleregistry.cxx
+* stoc/source/defaultregistry/defaultregistry.cxx
+
+* the real use-case is:
+
+uno::Reference< lang::XMultiServiceFactory > xFactory( ::comphelper::getProcessServiceFactory() );
+uno::Reference< java::XJavaVM > xJavaVM( xFactory->createInstance( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.java.JavaVirtualMachine") ) ), uno::UNO_QUERY );
+
+Where is that XMultiServiceFactory implemented ?
+
+comphelper/
+
+stoc/source/servicemanager/servicemanager.cxx
+	+ ! foo ! +
+
+	+ Talks to lots of 'XSingleComponentFactories' ...
+	+ XSingleComponentFactories loaded with
+		: loadWithImplementationName - what fun.
+			+ loads a Registry file ! ...
+			+ could load a text file [ surely ] :-)
+	+ getRootKey():
+		+ createInstanceWithContext ( .... c.s.s.registry.DefaultRegistry )
+
+	+ needs debugging printouts & investigation - foo !
+
+	+ interesting - can we impl. this ?
+
+	+ this basically has a hash table anyway !
+		+ wow [!] :-)
+
+	+ services 


More information about the ooo-build-commit mailing list