https://bugs.freedesktop.org/show_bug.cgi?id=46808

             Bug #: 46808
           Summary: [Easy Hack] Adapt UNO services to new-style
    Classification: Unclassified
           Product: LibreOffice
           Version: LibO Master
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Libreoffice
        AssignedTo: [email protected]
        ReportedBy: [email protected]


In around 2004, we designed new mechanisms for UNO services that make their use
easier and safer, preventing problems like the one discussed in the mail thread
at
<http://lists.freedesktop.org/archives/libreoffice/2012-February/027380.html>
"nsplugin broken due to typo."  See
<http://www.openoffice.org/marketing/ooocon2004/presentations/friday/shinyhappyuno.pdf>
"Here Come UNO, All Shiny and New" for background information from back then.

The problem is that while some existing old-style UNO services have been
converted to new-style (like com.sun.star.bridge.UnoUrlResolver), others have
not (like com.sun.star.ucb.SimpleFileAccess).

So, what is necessary is:

1  Go through all service definitions in offapi and udkapi, identifying
old-style services that implement only a single interface, i.e., of the form

  service Foo { interface XBar; };

and transform them into into new-style services, i.e., of the form

  service Foo: XBar;

For published services, this is strictly speaking incompatible, but IMO still
acceptable.

2  Then, in the C++ and Java source code, identify uses of those services via
createInstance or createInstanceWithContext, and transform them into uses of
the new-style services' constructors, Foo::create(...).

2a  If there are uses via createInstanceWithArguments or
createInstanceWithArgumentsAndContext, you also need to define appropriate
constructors in UNOIDL.  (I'll provide links to further documentation later.)

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to