00001 #ifndef REBECCA_FRAMEWORK_TOPIC_H
00002 #define REBECCA_FRAMEWORK_TOPIC_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/InnerAIML.h>
00038
00039 namespace rebecca
00040 {
00041 namespace framework
00042 {
00043 namespace impl
00044 {
00045
00046
00047
00048
00049
00060 class TopicImpl;
00061
00062 class GraphBuilderFramework;
00063
00075 class REBECCA_EXPORT Topic : public InnerAIML
00076 {
00077
00078 public:
00079
00091 Topic()
00092 throw(InternalProgrammerErrorException &);
00093
00113 virtual void handleInnerTag(Tag *tag)
00114 throw(InternalProgrammerErrorException &);
00115
00130 virtual void setAttribute(const StringPimpl &name, const StringPimpl &value)
00131 throw(InternalProgrammerErrorException &);
00132
00143 virtual StringPimpl getTopic()
00144 throw(InternalProgrammerErrorException &);
00145
00150 virtual ~Topic();
00151
00152 private:
00153
00164 TopicImpl *m_pimpl;
00165 };
00166
00167 }
00168
00169
00170 using rebecca::framework::impl::Topic;
00171
00172 }
00173 }
00174
00175 #ifdef _WIN32
00176 # pragma warning ( pop )
00177 #endif
00178
00179 #endif
00180