return (x != IOHookModule.end() ? x->second : NULL);
}
-Module* ServerConfig::GetIOHook(InspSocket* is)
+Module* ServerConfig::GetIOHook(BufferedSocket* is)
{
- std::map<InspSocket*,Module*>::iterator x = SocketIOHookModule.find(is);
+ std::map<BufferedSocket*,Module*>::iterator x = SocketIOHookModule.find(is);
return (x != SocketIOHookModule.end() ? x->second : NULL);
}
}
}
-bool ServerConfig::AddIOHook(Module* iomod, InspSocket* is)
+bool ServerConfig::AddIOHook(Module* iomod, BufferedSocket* is)
{
if (!GetIOHook(is))
{
}
else
{
- throw ModuleException("InspSocket derived class already hooked by another module");
+ throw ModuleException("BufferedSocket derived class already hooked by another module");
return false;
}
}
return false;
}
-bool ServerConfig::DelIOHook(InspSocket* is)
+bool ServerConfig::DelIOHook(BufferedSocket* is)
{
- std::map<InspSocket*,Module*>::iterator x = SocketIOHookModule.find(is);
+ std::map<BufferedSocket*,Module*>::iterator x = SocketIOHookModule.find(is);
if (x != SocketIOHookModule.end())
{
SocketIOHookModule.erase(x);
}
}
-void ServerConfig::Send005(userrec* user)
+void ServerConfig::Send005(User* user)
{
for (std::vector<std::string>::iterator line = ServerInstance->Config->isupport.begin(); line != ServerInstance->Config->isupport.end(); line++)
user->WriteServ("005 %s %s", user->nick, line->c_str());
}
-bool ServerConfig::CheckOnce(char* tag, bool bail, userrec* user)
+bool ServerConfig::CheckOnce(char* tag, bool bail, User* user)
{
int count = ConfValueEnum(this->config_data, tag);
return true;
}
-void ServerConfig::ReportConfigError(const std::string &errormessage, bool bail, userrec* user)
+void ServerConfig::ReportConfigError(const std::string &errormessage, bool bail, User* user)
{
ServerInstance->Log(DEFAULT, "There were errors in your configuration file: %s", errormessage.c_str());
if (bail)
}
}
-void ServerConfig::Read(bool bail, userrec* user)
+void ServerConfig::Read(bool bail, User* user)
{
static char debug[MAXBUF]; /* Temporary buffer for debugging value */
static char maxkeep[MAXBUF]; /* Temporary buffer for WhoWasMaxKeep value */
{
return (GetInteger() || v == "yes" || v == "true");
}
+
+
+
+
+/*
+ * XXX should this be in a class? -- w00t
+ */
+bool InitTypes(ServerConfig* conf, const char* tag)
+{
+ if (conf->opertypes.size())
+ {
+ for (opertype_t::iterator n = conf->opertypes.begin(); n != conf->opertypes.end(); n++)
+ {
+ if (n->second)
+ delete[] n->second;
+ }
+ }
+
+ conf->opertypes.clear();
+ return true;
+}
+
+/*
+ * XXX should this be in a class? -- w00t
+ */
+bool InitClasses(ServerConfig* conf, const char* tag)
+{
+ if (conf->operclass.size())
+ {
+ for (operclass_t::iterator n = conf->operclass.begin(); n != conf->operclass.end(); n++)
+ {
+ if (n->second)
+ delete[] n->second;
+ }
+ }
+
+ conf->operclass.clear();
+ return true;
+}
+
+/*
+ * XXX should this be in a class? -- w00t
+ */
+bool DoType(ServerConfig* conf, const char* tag, char** entries, ValueList &values, int* types)
+{
+ const char* TypeName = values[0].GetString();
+ const char* Classes = values[1].GetString();
+
+ conf->opertypes[TypeName] = strnewdup(Classes);
+ return true;
+}
+
+/*
+ * XXX should this be in a class? -- w00t
+ */
+bool DoClass(ServerConfig* conf, const char* tag, char** entries, ValueList &values, int* types)
+{
+ const char* ClassName = values[0].GetString();
+ const char* CommandList = values[1].GetString();
+
+ conf->operclass[ClassName] = strnewdup(CommandList);
+ return true;
+}
+
+/*
+ * XXX should this be in a class? -- w00t
+ */
+bool DoneClassesAndTypes(ServerConfig* conf, const char* tag)
+{
+ return true;
+}