最近开始用doxygen来把自己的程序进行文档化,以前使用的是1.4.4。后来下载了一个1.4.7,在对IDL文件的属性进行/defgroup和/ingroup的时候,发现总是不能文档化。doxygen的文档没有任何地方提到对group有什么修改。
于是下载了doxygen的源码进行查看,发现它在1.4.7的时候增加了对IDL文件的属性的分类,但是在group的对应文件并没有增加相应部分。我的test和patch文件可以在http://bugzilla.gnome.org/show_bug.cgi?id=345622下载。
我的样本文件如下:
interface IControl : IDispatch{
/*!
/defgroup SinglePropertyGroup IControl Single Property
*/
/*@{*/
/*!
/brief Send Control Command
/param newVal Control Command
/return
S_OK: Successful /n
S_FAIL: Failed /n
*/
[propput, id(1), helpstring("Send Control Command")] HRESULT
Command([in] BYTE newVal);
/*!
/brief Get Control Command
/param pVal Control Command
/return
S_OK: Successful /n
S_FAIL: Failed /n
*/
[propget, id(1), helpstring("Get Control Command")] HRESULT
Command([out, retval] BYTE* pVal);
/*@}*/
/*!
/defgroup MutiplePropertyGroup IControl Mutiple Property
*/
/*@{*/
/*!
/brief Send Engine State
/param newVal Engine State
/return
S_OK: Successful /n
S_FAIL: Failed /n
*/
[propput, id(2), helpstring("Send Engine State")] HRESULT
EngineState([in] BYTE newVal);
/*!
/brief Get Engine State
/param pVal Engine State
/return
S_OK: Successful /n
S_FAIL: Failed /n
*/
[propget, id(2), helpstring("Get Control Command")] HRESULT
EngineState([out, retval] BYTE* pVal);
/*@}*/
/*!
/defgroup SingleMethodGroup IControl Single Method
*/
/*@{*/
/*!
/brief Start Engine
/return
S_OK: Successful /n
S_FAIL: Failed /n
*/
[id(3), helpstring("Start Engine")] HRESULT Start();
/*!
/brief Stop Engine
/return
S_OK: Successful /n
S_FAIL: Failed /n
*/
[id(4), helpstring("Stop Engine")] HRESULT Stop();
/*@}*/
};
BTW: 世界杯期间真的好累,一直没有什么时间发文章。