CustomAIML.h

00001 #ifndef CUSTOMHTML_TAG_LAYER_CUSTOMAIML_H
00002 #define CUSTOMHTML_TAG_LAYER_CUSTOMAIML_H
00003 
00004 /*
00005  * RebeccaAIML, Artificial Intelligence Markup Language 
00006  * C++ api and engine.
00007  *
00008  * Copyright (C) 2005,2006,2007 Frank Hassanabad
00009  *
00010  * This file is part of RebeccaAIML.
00011  *
00012  * RebeccaAIML is free software; you can redistribute it and/or modify
00013  * it under the terms of the GNU General Public License as published by
00014  * the Free Software Foundation; either version 3 of the License, or
00015  * (at your option) any later version.
00016  *
00017  * RebeccaAIML is distributed in the hope that it will be useful,
00018  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00019  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00020  * GNU General Public License for more details.
00021  *
00022  * You should have received a copy of the GNU General Public License
00023  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
00024  */
00025 
00026 
00027 //Custom Tag includes
00028 #include "exports.h"
00029 #include "CustomTopic.h"
00030 
00031 //Rebecca includes
00032 #include <rebecca/framework/AIML.h>
00033 #include <rebecca/framework/GraphBuilderFramework.h>
00034 
00035 /* Disable Windows VC 7.x warning about 
00036  * it ignoring the throw specification
00037  */
00038 #ifdef _WIN32
00039 #    pragma warning ( push )
00040 #    pragma warning( disable : 4290 )
00041 #endif
00042 
00043 namespace customTag
00044 {
00045 namespace impl
00046 {
00047 
00048 /*
00049  * Forward declerations
00050  */
00051 class Html;
00052 
00053 using namespace rebecca::framework;
00054 using namespace rebecca;
00055 
00073 class CUSTOM_TAG_EXPORT CustomAiml : public AIML
00074 {
00075     public:
00076 
00091         CustomAiml(Html &htmlPage)
00092             throw(InternalProgrammerErrorException &);
00093         
00114         virtual void handleInnerTag(Tag *tag) 
00115             throw(InternalProgrammerErrorException &);
00116 
00117     private:
00118 
00125         CustomTopic m_defaultStarTopic;
00126 };
00127 
00128 } //end of namespace impl
00129 } //end namespace customTag
00130 
00131 #ifdef _WIN32
00132 #    pragma warning ( pop )
00133 #endif
00134 
00135 #endif
00136 

Generated on Mon Aug 27 12:26:52 2007 for RebeccaAIML by  doxygen 1.5.3