00001 #ifndef CUSTOMHTML_TAG_LAYER_CUSTOMTOPIC_H
00002 #define CUSTOMHTML_TAG_LAYER_CUSTOMTOPIC_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 #include <rebecca/framework/Topic.h>
00028 #include <rebecca/StringPimpl.h>
00029 #include <rebecca/framework/GraphBuilderFramework.h>
00030
00031
00032 #include "exports.h"
00033 #include "typedefs.h"
00034
00035
00036 #include <iostream>
00037 #include <string>
00038 #include <map>
00039
00040
00041
00042
00043 #ifdef _WIN32
00044 # pragma warning( disable : 4290 )
00045 #endif
00046
00047 namespace customTag
00048 {
00049 namespace impl
00050 {
00051
00052 using namespace rebecca::framework;
00053 using namespace rebecca;
00054 using namespace std;
00055
00056
00057
00058
00059 class Html;
00060
00079 class CUSTOM_TAG_EXPORT CustomTopic : public Topic
00080 {
00085 typedef map<string, ofstream *> fileStringMap;
00086
00087 public:
00088
00109 CustomTopic(Html &htmlPage)
00110 throw(InternalProgrammerErrorException &);
00111
00125 void handleInnerTag(Tag *tag)
00126 throw(InternalProgrammerErrorException &);
00127
00144 void setAttribute(const StringPimpl &name, const StringPimpl &value)
00145 throw(InternalProgrammerErrorException &);
00146
00147 private:
00148
00153 string m_topic;
00154
00159 Html &m_htmlPage;
00160 };
00161
00162 }
00163 }
00164
00165 #endif
00166
00167