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