Hi Gao,
gaozm wrote:
Hello Thomas:
As you know that I have added three files to extend the UNO API. After I added the code to the XML import/export, there are still something wrong when compiling. Do you think whether I need add some other files to extend the UNO API?
Such as:
XDataPilotDescriptor2.idl
DataPilotSourceDimension2.idl
XDatabaseRange2.idl
SheetFilterDescriptor2.idl
XSheetFilterable2.idl
XSheetFilterableEx2.idl
and so on. If so, can you tell me which file need to be added except the files
above. Thank you! :-)
Best Regards!
Gao Zemin
first of all I think that your compile problems are probably independent
of adding further new idl files. Did you compile the new idl files and
build a new types.rdb?
Concerning adding new idl files there are two strategies:
a) add only those idl files which are necessary for the xml
import/export.
b) extend the UNO API consistently, so that the new filter operators are
fully available for UNO API users.
I think we should go for b), but limit the amount of new interfaces and
services:
- We don't need a XDataPilotDescriptor2.idl or
DataPilotSourceDimension2.idl, because data pilot tables don't
support the new filter operators.
- We don't need a XDatabaseRange2.idl, instead the implementation of
getFilterDescriptor() returns an object, which also supports
XSheetsFilterDescriptor2. This should be documented in
XDatabaseRange.idl.
- We don't need a new service SheetFilterDescriptor2, the service
SheetFilterDescriptor can be extended by the optional interface
XSheetFilterDescriptor2.
- We also don't need a XSheetFilterable2.idl or XSheetFilterableEx2.idl,
the implementations should handle objects which support
XSheetFilterDescriptor2 and document that in the idl files.
This is not the nicest way from a design point of view, but limits the
amount of changes. We should keep in mind, that all those changes are
only necessary because of the FilterOperator enum, which cannot be
extended.
Thomas
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]