Embedded IDL in C++ not parsing correctly

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Embedded IDL in C++ not parsing correctly

Ed Trollope

Hi folks,

 

I’m new to Doxygen, and so I apologise if this is a stupid question and/or has been answered before. I had a look through the archive but couldn’t seem to find anything, so here goes…

 

I have a couple of COM projects that use IDL in different ways. The first one works great, in that if I create an interface of the following form it lists and documents the function on the html page associated with the interface. The following is entered into a .idl file.

 

/*!

      \interface IMyInterface  

      \brief Brief description of IMyInterface.

*/

[

      object,

      uuid(12345678-1234-1234-1234-1234567890AB),

      dual,

      nonextensible,

      helpstring("IMyInterface Interface"),

      pointer_default(unique)

]

interface IMyInterface : IDispatch

{    

      /*!

            \brief Brief description of COMMethod1.

            \param [in]  param1     blah blah.

            \param [out] param2     yada yada.

      */

      [id(1), helpstring("method COMMethod")]   HRESULT COMMethod1( [in] LPCWSTR param1, [out] int* param2 );

 

 

So far, so good. Now comes the problem. My other project wants to similarly define an interface, but the idl is embedded in a C++ header file. The syntax is almost exactly the same (but with __interface instead of interface) but I get some strange results.

 

Firstly, the IMyInterface html page is essentially empty. It contains the description defined at the top of my example, but it doesn’t seem to recognise that the following functions belong to it.

Instead, most of the functions are detailed in the documentation of the .h file – except the first one. The html page contains the following:

 

Functions

__interface 

helpstring  ("method COMMethod".)] HRESULT COMMethod1([in] LPCWSTR param1, [out] int* param2)

HRESULT 

COMMethod2 ([in] BSTR name)

 

Brief description of 2nd method. <a href="file:///C:\VST\VETR\Recorder\Win32\doc\html\_recorder___interfaces_8h.html#18e5bf02ebb8287a7be4b565844b3987#18e5bf02ebb8287a7be4b565844b3987">

 

I tried adding the line “__interface=interface”  to the PREDEFINED section of the .cfg but that merely replaces the “__interface” with “interface” and has the same problem.

 

Any help would be very much appreciated.

 

Cheers,

Ed Trollope

VEGA IT GmbH
Europaplatz 5
D-64293 Darmstadt
Germany

Email   : [hidden email]
Web     : www.vega-group.com

Register court/Registergericht: Darmstadt, HRB No. 4096, Managing Directors/Geschäftsführer: Philip Cartmell, Susan Bygrave, John Lewis, Robert Rouse

Notice of Confidentiality

This transmission is intended for the named addressee only. It contains information which may be confidential and which may also be privileged.  Unless you are the named addressee (or authorised to receive it for the addressee) you may not copy or use it, or disclose it to anyone else.  If you have received this transmission in error please notify the sender immediately.

 


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Doxygen-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/doxygen-users