Issue 121578 - [IDL] Convert old-style services implementing a single interface to new-style
Summary: [IDL] Convert old-style services implementing a single interface to new-style
Alias: None
Product: App Dev
Classification: Unclassified
Component: api (show other issues)
Version: 3.3.0 or older (OOo)
Hardware: All All
: P3 Normal
Target Milestone: 4.2.0
Assignee: AOO issues mailing list
QA Contact:
Depends on:
Reported: 2013-01-03 20:26 UTC by Ariel Constenla-Haile
Modified: 2021-04-16 20:35 UTC (History)
3 users (show)

See Also:
Issue Type: TASK
Latest Confirmation in: ---
Developer Difficulty: Easy


Note You need to log in before you can comment on or make changes to this issue.
Description Ariel Constenla-Haile 2013-01-03 20:26:07 UTC
There are several services defined in AOO API that implement a single interface and are defined in IDL using the old-style

service Something {
interface XSomething

This old-style service definition has several drawbacks 

* in order to create an instance of the service a string with the fully qualified service name has to be used, which is rather error prone

* in strong typed languages, the instantiated object has to be queried for the interface it implements

* ...

These service definitions can be converted to new-style service definitions avoiding the problems mentioned above:

service Something : XSomething;

or spelling the default service constructor explicitly:

service Something : XSomething { create(); };

The explicit service constructor has the advantage of being more clear, stating that this service is a new style-service, differentiating it from other services that are not supposed to be instantiated, like abstract services (services that only define a possible implementation but are not instantiated by name, for example css.frame.PopupMenuController/StatusbarController/ToolbarController), services that describe only properties, etc.
Comment 1 Oliver Brinzing 2013-01-04 12:23:01 UTC
Comment 2 Ariel Constenla-Haile 2013-01-05 21:17:33 UTC
The following changes have been committed to convert css.system.SystemShellExectue

Revision 1429066 Changes in IDL files
Revision 1429071 Adapting code in odk
Revision 1429072 Adapting code in other modules
Comment 3 Ariel Constenla-Haile 2013-07-21 10:50:32 UTC
The target for this bug should be LIMBO, or AOO_LATER, or the like