Date: prev next · Thread: first prev next last
2016 Archives by date, by thread · List index


Hi Michael,
 
you are right, that I am using the SDK in order to generate typelib code. For a couple of reasons we have written our own IDL-interpreter which fails so far because of the publication of a 2nd set of different  methods for the XEventListener interface within the file XEventListener.IDL (see below).
If both codes are correct how does your UNOIDL-write handle this topic ? Just add and combine the methods for the XEventListener interface or ignores any 2nd definition ?
In such cases, just for code hygiene, it may be wise to complete the XEventListener.IDL with the missing methods.
 
--- XEventListener.IDL code snippet

   28 module com {  module sun {  module star {  module lang {
   29
   32 published interface XEventListener: com::sun::star::uno::XInterface
   33 {
   46     void disposing( [in] com::sun::star::lang::EventObject Source );
   47
   48 };
   49
   50
   51 }; }; }; };
 
 
> Hey,
>
> On Fri, Sep 16, 2016 at 10:55 PM, <aptares@gmx.de
> <mailto:aptares@gmx.de>> wrote:
>
> The current source code in XComponent.idl looks like:
>
> #ifndef __com_sun_star_lang_XComponent_idl__
> 20 #define __com_sun_star_lang_XComponent_idl__
> 21
> 22 #include <com/sun/star/uno/XInterface.idl>
> 23
> 24
> 25 module com { module sun { module star { module lang {
> 26
> 27 *published interface XEventListener;*
> 28
> 42 published interface XComponent: com::sun::star::uno::XInterface
> 43 {
> 73 void dispose();
> 74
> 92 void addEventListener( [in] XEventListener xListener );
> 93
> 108 void removeEventListener( [in] XEventListener aListener );
> 109
> 110 };
> 111
> 112
> 113 }; }; }; };
> 114
> 115 #endif
>
> can anyone check - and if positively found incorrect change the
> source - the following alternative:
>
> ....
> #include <com/sun/star/uno/XInterface.idl>
> * #include <com/sun/star/lang/XEventListener.idl>*
> 24
> 25 module com { module sun { module star { module lang {
> 26
> 42 published interface XComponent: com::sun::star::uno::XInterface
> ....
>
>
> The old code looks fine. This is a forward declaration in the idl file.
> You can see the generated c++ code for it in e.g.
> workdir/UnoApiHeadersTarget/udkapi/normal/com/sun/star/lang/XComponent.hdl

this is true, there is no problem in this IDL file, but it's possible
that there is some other IDL file that is missing an #include.

the LO build uses the new "unoidl-write" tool to parse the IDL files and
that does not use a preprocessor and ignores #includes, but the SDK only
has the old "idlc" tool that uses #include to find stuff, so it's
currently possible that we ship IDL files that "idlc" chokes on.

andy, what is the actual error message that you get?
 

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.