#include <CustomTopic.h>
Public Member Functions | |
CustomTopic (GraphBuilderFramework &builder, Html &htmlPage) throw (InternalProgrammerErrorException &) | |
Set the internal GraphBuilderFramework and the internal Html object references which this class requires to operate. | |
void | handleInnerTag (const shared_ptr< Tag > &tag) throw (InternalProgrammerErrorException &) |
Recieves Category objects in which it adds to the Html object, m_htmlPage. | |
void | setAttribute (const StringPimpl &name, const StringPimpl &value) throw (InternalProgrammerErrorException &) |
Sets the attribute "name" to a value. | |
Private Types | |
typedef map< string, ofstream * > | fileStringMap |
Typedef a map of strings and file stream to a easier to use reference. | |
Private Attributes | |
GraphBuilderFramework & | m_builder |
A reference to the graph builder framework that can be used to set and get information from the AIML engine. | |
Html & | m_htmlPage |
Html Object to manipulate and add information for the web pages. | |
string | m_topic |
The topic. |
Every time a XML Tag of Topic is encountered, an instance of this class will be created. All text inbetween the begin and end tag, all attributes, and all inner Tags will go through methods of this class.
This is my custom version of the AIML XML Tag Topic. I use this custom version to write the information that normally goes to the Internal AIML data strucuture for the AIML brain to web pages instead.
|
Typedef a map of strings and file stream to a easier to use reference.
|
|
Set the internal GraphBuilderFramework and the internal Html object references which this class requires to operate. Also initialized the default Topic, m_topic to "*"
|
|
Recieves Category objects in which it adds to the Html object, m_htmlPage. This method first checks tag through Tag::instanceOf() to ensure it is an object of type Category. If it is not, it will throw a rebecca::impl::InternalProgrammerErrorException. Otherwise it will manipulate and add the object to the Html Object.
|
|
Sets the attribute "name" to a value. The name value attribute determines what type of Topic this is. If no attribute is given and this object is instantiated without a name value pair, it will default to "*" according to the AIML specification. This is overriden to gain access to the value of the name attribute.
|
|
A reference to the graph builder framework that can be used to set and get information from the AIML engine.
|
|
Html Object to manipulate and add information for the web pages.
|
|
The topic. By default it is "*" by the AIML specification. |