00001 #ifndef REBECCA_FRAMEWORK_GRAPHBUILDERFRAMEWORK_H
00002 #define REBECCA_FRAMEWORK_GRAPHBUILDERFRAMEWORK_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 #ifdef _WIN32
00030 # pragma warning ( push )
00031 # pragma warning( disable : 4290 )
00032 #endif
00033
00034
00035 #include <rebecca/GraphBuilder.h>
00036
00037
00038 namespace rebecca
00039 {
00040 namespace framework
00041 {
00042 namespace impl
00043 {
00044
00045
00046
00047
00048 class CustomTags;
00049
00062 class GraphBuilderFramework : public GraphBuilder
00063 {
00064 public:
00065
00092 virtual CallBacks &getCallBacks()
00093 throw(Exception &) = 0;
00094
00118 virtual StringPimpl getStar(const unsigned int &index) const
00119 throw(IllegalArgumentException &, Exception &) = 0;
00120
00150 virtual StringPimpl getStar(const unsigned int &index,
00151 const StringPimpl &userId,
00152 const StringPimpl &botId,
00153 const StringPimpl &endUserId) const
00154 throw(IllegalArgumentException &, Exception &) = 0;
00155
00178 virtual StringPimpl getThatStar(const unsigned int &index) const
00179 throw(IllegalArgumentException &, Exception &) = 0;
00180
00209 virtual StringPimpl getThatStar(const unsigned int &index,
00210 const StringPimpl &userId,
00211 const StringPimpl &botId,
00212 const StringPimpl &endUserId) const
00213 throw(IllegalArgumentException &, Exception &) = 0;
00214
00239 virtual StringPimpl getTopicStar(const unsigned int &index) const
00240 throw(IllegalArgumentException &, Exception &) = 0;
00241
00272 virtual StringPimpl getTopicStar(const unsigned int &index,
00273 const StringPimpl &userId,
00274 const StringPimpl &botId,
00275 const StringPimpl &endUserId) const
00276 throw(IllegalArgumentException &, Exception &) = 0;
00277
00299 virtual StringPimpl genderSubstitute(const StringPimpl &input) const
00300 throw(Exception &) = 0;
00301
00323 virtual StringPimpl personSubstitute(const StringPimpl &input) const
00324 throw(Exception &) = 0;
00325
00347 virtual StringPimpl person2Substitute(const StringPimpl &input) const
00348 throw(Exception &) = 0;
00349
00378 virtual StringPimpl checkedInfiniteLoopGetResponse(const StringPimpl &userInput,
00379 bool keepPreviousUserInput = true)
00380 throw(RecursionException &, Exception &) = 0;
00381
00416 virtual StringPimpl checkedInfiniteLoopGetResponse(const StringPimpl &userInput,
00417 const StringPimpl &userId,
00418 const StringPimpl &botId,
00419 const StringPimpl &endUserId,
00420 bool keepPreviousUserInput = true)
00421 throw(RecursionException &, Exception &) = 0;
00422
00443 virtual StringPimpl getPreviousBotResponsePunctuation(const unsigned int &previousBotResponse,
00444 const unsigned int &sentence) const
00445 throw(IllegalArgumentException &, Exception &) = 0;
00446
00472 virtual StringPimpl getPreviousBotResponsePunctuation(const unsigned int &previousBotResponse,
00473 const unsigned int &sentence,
00474 const StringPimpl &userId,
00475 const StringPimpl &botId,
00476 const StringPimpl &endUserId) const
00477 throw(IllegalArgumentException &, Exception &) = 0;
00478 };
00479
00480 }
00481
00482
00483 using rebecca::framework::impl::GraphBuilderFramework;
00484
00485 }
00486 }
00487
00488
00489 #ifdef _WIN32
00490 # pragma warning ( pop )
00491 #endif
00492
00493 #endif
00494