[PATCH] EasyHack, fdo#46808, Adapt UNO services to new style, Parts 2 through 5

Stephan Bergmann sbergman at redhat.com
Wed Mar 28 03:11:42 PDT 2012


On 03/27/2012 11:03 AM, Noel Grandin wrote:
> OK, so I went ahead anyway, at the risk of having to redo stuff :-)
> This is the next 4 commits.
> It updates the IDL files in the OFFAPI module.

Looking at those 112 converted services, I'm afraid most of them should 
not be converted after all.  :(  I classified the according to the below 
list.

* 30 look good.  :)

* CTORS accessible.AccessBridge:  This service being of interface type 
XInitialization looks strange.  (XInitialization is more of an internal 
interface, so that instances of such a service can obtain arguments when 
being constructed.  Explicit constructors of new-style services 
internally call it.)  Looking at the usage of that service 
(vcl/source/app/svdata.cxx, vcl/source/app/svmain.cxx), it looks more 
sensible change this UNO service to

   service AccessBridge: XComponent {
     create([in] XExtendedToolkit toolkit);
   };

(and change the type of mxAccessBridge accordingly).

* MARKER:  These services are not intended to be instantiated via their 
service names.  Rather, they describe characteristics of certain UNO 
objects.  (And there's unfortunately lots of these, needlessly obscuring 
things in many ways.)

* MODULE:  These services are not intended to be instantiated at the 
global component context/service manager, but rather via 
document-specific factories.  (Some that I labelled MODULE might 
actually be MARKER -- I did not look too close.)

* SINGLE util.OfficeInstallationDirectories:  While there is a 
(superfluous) service definition for this, there is also a singleton 
definition (in the same file) that appears to be used exclusively by 
client code.  I would keep the service old-style, mark it as deprecated 
(pointing to the singleton for actual use), move the singleton into an 
.idl file of its own, and convert the singleton to new-style.

* UNUSED:  These services look completely unused.  Would probably be 
better to mark them as @deprecated.

Noel, can you adapt your patches?

Thanks again for your patience and good work,
Stephan

>         awt.MenuBar
>         awt.PopupMenu
>         awt.TabController
>         document.OleEmbeddedServerRegistration
>         embed.FileSystemStorageFactory
>         embed.StorageFactory
>         frame.DispatchHelper
>         frame.DispatchRecorderSupplier
>         frame.DocumentTemplates
>         frame.MediaTypeDetectionHelper
>         graphic.GraphicProvider
>         mozilla.MozillaBootstrap
>         plugin.PluginManager
>         scanner.ScannerManager
>         sheet.RecentFunctions
>         task.JobExecutor
>         text.DefaultNumberingProvider
>         ucb.AnyCompareFactory
>         ucb.CachedContentResultSetFactory
>         ucb.CachedContentResultSetStubFactory
>         ucb.CachedDynamicResultSetFactory
>         ucb.CachedDynamicResultSetStubFactory
>         ucb.ContentProviderProxyFactory
>         ucb.PropertiesManager
>         ucb.SimpleFileAccess
>         ucb.SortedDynamicResultSetFactory
>         ucb.Store
>         util.PathSubstitution
>         util.TextSearch
>         util.URLTransformer
>
> CTORS   accessibility.AccessBridge
> MARKER  accessibility.Accessible
> UNUSED  auth.SSOManagerFactory
> UNUSED  auth.SSOPasswordCache
> MARKER  chart.ChartData
> UNUSED  configuration.backend.HierarchyBrowser
> UNUSED  configuration.bootstrap.BootstrapContext
> MARKER  document.Events
> MARKER  document.ExtendedTypeDetection
> UNUSED  document.FilterAdapter
> MARKER  document.LinkTargets
> MODULE  drawing.BitmapTable
> MODULE  drawing.DashTable
> MODULE  drawing.GradientTable
> MODULE  drawing.HatchTable
> MODULE  drawing.MarkerTable
> MODULE  drawing.MasterPages
> MODULE  drawing.Shapes
> MODULE  drawing.TransparencyGradientTable
> MARKER  frame.Components
> MARKER  frame.ContentHandler
> MARKER  frame.FramesContainer
> MARKER  i18n.TextConversion
> MARKER  mozilla.MenuProxy
> MARKER  mozilla.MenuProxyListener
> MARKER  packages.PackageFolderEnumeration
> MARKER  sdbc.Driver
> MODULE  sheet.CellAnnotationsEnumeration
> MODULE  sheet.CellAreaLinksEnumeration
> MODULE  sheet.CellFormatRangesEnumeration
> MODULE  sheet.Cells
> MODULE  sheet.CellsEnumeration
> MODULE  sheet.ConsolidationDescriptor
> MODULE  sheet.DatabaseRangesEnumeration
> MODULE  sheet.DataPilotFieldGroupItem
> MODULE  sheet.DataPilotFieldsEnumeration
> MODULE  sheet.DataPilotSourceDimensions
> MODULE  sheet.DataPilotSourceHierarchies
> MODULE  sheet.DataPilotSourceLevels
> MODULE  sheet.DataPilotSourceMembers
> MODULE  sheet.DataPilotTablesEnumeration
> MODULE  sheet.DDELinksEnumeration
> MODULE  sheet.FunctionDescriptionEnumeration
> MODULE  sheet.HeaderFooterContent
> MODULE  sheet.LabelRangesEnumeration
> MODULE  sheet.LabelRange
> MODULE  sheet.NamedRangesEnumeration
> MODULE  sheet.ScenariosEnumeration
> MODULE  sheet.SheetCellRangesEnumeration
> MODULE  sheet.SheetLinksEnumeration
> MODULE  sheet.SpreadsheetsEnumeration
> MODULE  sheet.SpreadsheetViewPanesEnumeration
> MODULE  sheet.SubTotalFieldsEnumeration
> MODULE  sheet.SubTotalField
> MODULE  sheet.TableAutoFormatEnumeration
> MODULE  sheet.TableAutoFormatsEnumeration
> MODULE  sheet.TableConditionalEntryEnumeration
> MODULE  sheet.UniqueCellFormatRangesEnumeration
> MODULE  sheet.VolatileResult [missing from UnoApi_offapi.mk changes]
> MARKER  table.CellCursor
> MARKER  table.TableColumnsEnumeration
> MARKER  table.TableRowsEnumeration
> MOUDLE  text.DocumentIndexLevelFormat
> MODULE  text.DocumentIndexParagraphStyles
> MODULE  text.Footnotes
> MODULE  text.ParagraphEnumeration
> MODULE  text.TableColumns
> MODULE  text.TableRows
> MODULE  text.TextFieldEnumeration
> MODULE  text.TextFieldMasters
> MODULE  text.TextPortionEnumeration
> MODULE  text.TextRanges
> MARKER  ucb.DynamicResultSet
> MARKER  ucb.FTPContentProvider
> MARKER  ucb.HelpContentProvider
> MARKER  ucb.HierarchyContentProvider
> MARKER  ucb.ODMAContentProvider
> MARKER  ucb.WebDAVContentProvider
> SINGLE  util.OfficeInstallationDirectories
> MARKER  xml.AttributeContainer
> MARKER  xml.ImportFilter
> MARKER  xml.NamespaceContainer


More information about the LibreOffice mailing list