⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 handler.cpp

📁 J-Alice是一个用C++实现的Ailcebot的克隆。它可以做为一个mini-http服务器在控制台或irc聊天。目前
💻 CPP
字号:
/**
 * Handler - Solution for no dynamic loading
 *
 * @author	Jonathan Roewen
 */
#include "Handler.h"

#include "Match.h"
#include "Responder.h"
#include "TemplateProcessor.h"
#include "BrProcessor.h"
#include "IdProcessor.h"
#include "SrProcessor.h"
#include "BotProcessor.h"
#include "GetProcessor.h"
#include "IrcProcessor.h"
#include "SetProcessor.h"
#include "NameProcessor.h"
#include "SraiProcessor.h"
#include "StarProcessor.h"
#include "ThatProcessor.h"
#include "InputProcessor.h"
#include "LearnProcessor.h"
#include "ThinkProcessor.h"
#include "FormalProcessor.h"
#include "PersonProcessor.h"	//	+ Person2 and Gender
#include "RandomProcessor.h"
#include "SentenceProcessor.h"
#include "ThatstarProcessor.h"
#include "ConditionProcessor.h"
#include "LowercaseProcessor.h"
#include "NormalizeProcessor.h"
#include "TopicstarProcessor.h"
#include "UppercaseProcessor.h"
#include "HTTPProcessor.h"
#include "SecureProcessor.h"	//	Contains AuthenticateProcessor too
#if defined(__BEOS__) || defined(WIN32)
	#include "JavaScriptProcessor.h"
#endif
#include "XmlSocketResponder.h"

map<string, AimlProcessor *> Handler::processors;

void Handler::init() {
	processors["br"] = new BrProcessor();
	processors["id"] = new IdProcessor();
	processors["sr"] = new SrProcessor();
	processors["bot"] = new BotProcessor();
	processors["get"] = new GetProcessor();
	processors["irc"] = new IrcProcessor();
	processors["set"] = new SetProcessor();
	processors["name"] = new NameProcessor();
	processors["srai"] = new SraiProcessor();
	processors["star"] = new StarProcessor();
	processors["that"] = new ThatProcessor();
	processors["input"] = new InputProcessor();
	processors["learn"] = new LearnProcessor();
	processors["think"] = new ThinkProcessor();
	processors["formal"] = new FormalProcessor();
	processors["person"] = new PersonProcessor();
	processors["random"] = new RandomProcessor();
	processors["sentence"] = new SentenceProcessor();
	processors["thatstar"] = new ThatstarProcessor();
	processors["condition"] = new ConditionProcessor();
	processors["lowercase"] = new LowercaseProcessor();
	processors["normalize"] = new NormalizeProcessor();
	processors["topicstar"] = new TopicstarProcessor();
	processors["uppercase"] = new UppercaseProcessor();
	processors["template"] = new TemplateProcessor();
	processors["http"] = new HTTPProcessor();
	processors["secure"] = new SecureProcessor();
#if defined(__BEOS__) || defined(WIN32)
	processors["javascript"] = new JavaScriptProcessor();
#endif
	processors["authenticate"] = new AuthenticateProcessor();
	
	processors["person2"] = new Person2Processor();
	processors["gender"] = new GenderProcessor();
	processors["xmlsocket"] = new XmlSocketProcessor();
}

bool Handler::hasProcessor(const string &name) {
	return processors.find(name) != processors.end();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -