From f9ca8cd69bedcc4a033e43a87753830e19adaaf3 Mon Sep 17 00:00:00 2001 From: Scott Wheeler Date: Thu, 6 May 2004 16:59:13 +0000 Subject: [PATCH] Just a little hack to make the Vorbis classes appear in the Ogg namespace in the API docs and a tyepdef to make this work (since this is how things will be in the next BIC version). git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@309150 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- Makefile.am | 1 + ogg/vorbis/vorbisfile.h | 24 ++++++++++++++++++++++++ ogg/vorbis/vorbisproperties.h | 24 ++++++++++++++++++++++++ 3 files changed, 49 insertions(+) diff --git a/Makefile.am b/Makefile.am index 6edde42d..7cdd80df 100644 --- a/Makefile.am +++ b/Makefile.am @@ -46,5 +46,6 @@ apidox: echo "HTML_STYLESHEET = doc/common/doxygen.css" >> taglib.doxyfile ; \ echo "FILE_PATTERNS = *.h" >> taglib.doxyfile ; \ echo "PREDEFINED = DO_NOT_DOCUMENT" >> taglib.doxyfile ; \ + echo "PREDEFINED = DOXYGEN" >> taglib.doxyfile ; \ echo "EXTRACT_ALL = YES" >> taglib.doxyfile ; \ doxygen taglib.doxyfile diff --git a/ogg/vorbis/vorbisfile.h b/ogg/vorbis/vorbisfile.h index 8cbcb449..cc1e9f9c 100644 --- a/ogg/vorbis/vorbisfile.h +++ b/ogg/vorbis/vorbisfile.h @@ -29,6 +29,17 @@ namespace TagLib { +/* + * This is just to make this appear to be in the Ogg namespace in the + * documentation. The typedef below will make this work with the current code. + * In the next BIC version of TagLib this will be really moved into the Ogg + * namespace. + */ + +#ifdef DOXYGEN + namespace Ogg { +#endif + //! A namespace containing classes for Vorbis metadata namespace Vorbis { @@ -84,6 +95,19 @@ namespace TagLib { FilePrivate *d; }; } + +/* + * To keep compatibility with the current version put Vorbis in the Ogg namespace + * only in the docs and provide a typedef to make it work. In the next BIC + * version this will be removed and it will only exist in the Ogg namespace. + */ + +#ifdef DOXYGEN + } +#else + namespace Ogg { namespace Vorbis { typedef TagLib::Vorbis::File File; } } +#endif + } #endif diff --git a/ogg/vorbis/vorbisproperties.h b/ogg/vorbis/vorbisproperties.h index 9ada34b8..01dffed9 100644 --- a/ogg/vorbis/vorbisproperties.h +++ b/ogg/vorbis/vorbisproperties.h @@ -26,6 +26,17 @@ namespace TagLib { +/* + * This is just to make this appear to be in the Ogg namespace in the + * documentation. The typedef below will make this work with the current code. + * In the next BIC version of TagLib this will be really moved into the Ogg + * namespace. + */ + +#ifdef DOXYGEN + namespace Ogg { +#endif + namespace Vorbis { class File; @@ -91,6 +102,19 @@ namespace TagLib { PropertiesPrivate *d; }; } + +/* + * To keep compatibility with the current version put Vorbis in the Ogg namespace + * only in the docs and provide a typedef to make it work. In the next BIC + * version this will be removed and it will only exist in the Ogg namespace. + */ + +#ifdef DOXYGEN + } +#else + namespace Ogg { namespace Vorbis { typedef TagLib::AudioProperties AudioProperties; } } +#endif + } #endif