00001 #ifndef REBECCA_FRAMEWORK_INNERCATEGORY_H
00002 #define REBECCA_FRAMEWORK_INNERCATEGORY_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifdef _WIN32
00031 # pragma warning ( push )
00032 # pragma warning( disable : 4251 )
00033 # pragma warning( disable : 4290 )
00034 #endif
00035
00036
00037 #include <rebecca/framework/InnerTopic.h>
00038
00039 namespace rebecca
00040 {
00041 namespace framework
00042 {
00043 namespace impl
00044 {
00045
00046
00047
00048
00049
00050
00061 class InnerCategoryImpl;
00062 class Category;
00063
00073 class REBECCA_EXPORT InnerCategory : public InnerTopic
00074 {
00075 public:
00076
00086 InnerCategory()
00087 throw(InternalProgrammerErrorException &);
00088
00104 virtual StringPimpl getString() const
00105 throw(InternalProgrammerErrorException &) = 0;
00106
00126 virtual const StringPimpl &getStringConstRef() const
00127 throw(InternalProgrammerErrorException &);
00128
00133 virtual ~InnerCategory();
00134
00135 private:
00136
00147 InnerCategoryImpl *m_pimpl;
00148 };
00149
00150
00151 }
00152
00153
00154 using rebecca::framework::impl::InnerCategory;
00155
00156 }
00157 }
00158
00159 #ifdef _WIN32
00160 # pragma warning ( pop )
00161 #endif
00162
00163 #endif
00164