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?