Syntax error in XComponent.idl ?

Michael Stahl mstahl at redhat.com
Thu Sep 22 15:43:49 UTC 2016


On 17.09.2016 23:34, Markus Mohrhard wrote:
> Hey,
> 
> On Fri, Sep 16, 2016 at 10:55 PM, <aptares at gmx.de
> <mailto:aptares at 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?



More information about the LibreOffice mailing list