RE: [Doxygen-users] Methods on COM objects
Brought to you by:
dimitri
From: Prikryl,Petr <PRI...@sk...> - 2002-03-19 07:56:37
|
Hi Martin, You should focus on the "Preprocessing" part of the doxygen documentation. Inside, you can find the example of what should be added to the PREDEFINED in your Doxyfile (configuration file). You may want something more to get the wanted result. Here is what I use in our project: PREDEFINED = WIN32, \ _WIN32, \ _x86, \ x86, \ _X86, \ X86, \ __cplusplus, \ _inline=inline, \ __inline=inline \ __stdcall= \ _stdcall= \ _export= \ __export= \ __import= \ _import= \ "__declspec(a)= " \ "STDMETHOD(x)=virtual HRESULT x" \ "STDMETHODIMP=HRESULT " \ "STDMETHODIMP_(type)=type " \ "STDMETHOD_(type,method)=virtual type method" \ "PURE= = 0" \ ATL_NO_VTABLE= \ BEGIN_CONNECTION_POINT_MAP=/* \ END_CONNECTION_POINT_MAP=*/// \ DECLARE_REGISTRY_RESOURCEID=// \ DECLARE_PROTECT_FINAL_CONSTRUCT=// \ DECLARE_VIEW_STATUS=// \ DECLARE_WND_CLASS_EX(x,y,z)=// \ BEGIN_COM_MAP=/* \ END_COM_MAP=*/// \ BEGIN_PROP_MAP=/* \ END_PROP_MAP=*/// \ BEGIN_MSG_MAP=/* \ END_MSG_MAP=*/// \ "DECLARE_INTERFACE(name)=class name" \ "DECLARE_INTERFACE_(name,base)=class name : public base" See you, Petr -- Petr Prikryl, Skil, spol. s r.o., (pri...@sk...) > -----Original Message----- > From: Martin Bosticky [SMTP:MBo...@op...] > Sent: Tuesday, March 19, 2002 1:26 AM > To: doxygen user list > Subject: [Doxygen-users] Methods on COM objects > > Hi Everyone. > > I have searched the documentation and i couldn't figure out how to > document COM methods. > > I tried to create documentation for a COM object. I have an interface > called IScheduleSetProcessor and a correcponding class called > CScheduleSetProcessor. On this class there is a COM method defined as: > > public: > STDMETHOD(Initialise)(/*[in]*/ BSTR strAuthentication, /*[in]*/ > IDataServer* pDataServer, /*[in]*/ IScheduleSet* pScheduleSet); > > and the implementation of the method is > > STDMETHODIMP CScheduleSetProcessor::Initialise(BSTR strAuthentication, > IDataServer* pDataServer, IScheduleSet* pScheduleSet) > { > ... > } > > So i think, ok, this will require macro expansion right? So i tried that > and tried to include the BASETYPS.H file with the appropriate expansion > macros etc, and all i could get was: > > STDMETHOD > <file:///D:/OPCrew/Src/ScheduleSetServer/html/classCScheduleSetProcessor.h > tml#a3> (Initialise)(BSTR strAuthentication > > in the html documentation output. This happends even if i swith it off. > > Thus 1. it seems i don't know how to switch on the macro expansion > properly and 2. something wrong is happening in the output. > > Any suggestions? > > Has anyone else tried to do this? > > Thanks, Martin. |