#include "modules.h"
#include "dynamic.h"
#include "wildcard.h"
-#include "message.h"
#include "mode.h"
#include "xline.h"
#include "commands.h"
#include "inspircd.h"
extern InspIRCd* ServerInstance;
-extern int MODCOUNT;
-extern ModuleList modules;
-extern FactoryList factory;
extern time_t TIME;
extern command_table cmdlist;
class Server;
-featurelist Features;
-
// version is a simple class for holding a modules version number
Version::Version(int major, int minor, int revision, int build, int flags)
{
}
-// admin is a simple class for holding a server's administrative info
-
-Admin::Admin(std::string name, std::string email, std::string nick)
-: Name(name), Email(email), Nick(nick)
-{
-}
-
Request::Request(char* anydata, Module* src, Module* dst)
: data(anydata), source(src), dest(dst)
{
}
}
-long Server::PriorityAfter(const std::string &modulename)
+long InspIRCd::PriorityAfter(const std::string &modulename)
{
- for (unsigned int j = 0; j < ServerInstance->Config->module_names.size(); j++)
+ for (unsigned int j = 0; j < this->Config->module_names.size(); j++)
{
- if (ServerInstance->Config->module_names[j] == modulename)
+ if (this->Config->module_names[j] == modulename)
{
return ((j << 8) | PRIORITY_AFTER);
}
return PRIORITY_DONTCARE;
}
-long Server::PriorityBefore(const std::string &modulename)
+long InspIRCd::PriorityBefore(const std::string &modulename)
{
- for (unsigned int j = 0; j < ServerInstance->Config->module_names.size(); j++)
+ for (unsigned int j = 0; j < this->Config->module_names.size(); j++)
{
- if (ServerInstance->Config->module_names[j] == modulename)
+ if (this->Config->module_names[j] == modulename)
{
return ((j << 8) | PRIORITY_BEFORE);
}
return PRIORITY_DONTCARE;
}
-bool Server::PublishFeature(const std::string &FeatureName, Module* Mod)
+bool InspIRCd::PublishFeature(const std::string &FeatureName, Module* Mod)
{
if (Features.find(FeatureName) == Features.end())
{
return false;
}
-bool Server::UnpublishFeature(const std::string &FeatureName)
+bool InspIRCd::UnpublishFeature(const std::string &FeatureName)
{
featurelist::iterator iter = Features.find(FeatureName);
return true;
}
-Module* Server::FindFeature(const std::string &FeatureName)
+Module* InspIRCd::FindFeature(const std::string &FeatureName)
{
featurelist::iterator iter = Features.find(FeatureName);
return iter->second;
}
-const std::string& Server::GetModuleName(Module* m)
+const std::string& InspIRCd::GetModuleName(Module* m)
{
static std::string nothing = ""; /* Prevent compiler warning */
- for (int i = 0; i <= MODCOUNT; i++)
+ for (int i = 0; i <= this->GetModuleCount(); i++)
{
- if (modules[i] == m)
+ if (this->modules[i] == m)
{
- return ServerInstance->Config->module_names[i];
+ return this->Config->module_names[i];
}
}
return nothing; /* As above */
}
}
-long Server::GetChannelCount()
-{
- return (long)ServerInstance->chanlist.size();
-}
-
/* This is ugly, yes, but hash_map's arent designed to be
* addressed in this manner, and this is a bit of a kludge.
* Luckily its a specialist function and rarely used by
return ServerInstance->Parser->IsValidCommand(commandname, pcnt, user);
}
-void Server::Log(int level, const std::string &s)
-{
- log(level,"%s",s.c_str());
-}
-
void Server::AddCommand(command_t *f)
{
if (!ServerInstance->Parser->CreateCommand(f))
User->WriteServ(CompleteLine);
}
-bool Server::IsNick(const std::string &nick)
-{
- return (isnick(nick.c_str()) != 0);
-}
-
userrec* Server::FindDescriptor(int socket)
{
return (socket < 65536 ? ServerInstance->fd_ref_table[socket] : NULL);
}
-std::string Server::GetServerName()
-{
- return ServerInstance->Config->ServerName;
-}
-
-std::string Server::GetNetworkName()
-{
- return ServerInstance->Config->Network;
-}
-
-std::string Server::GetServerDescription()
-{
- return ServerInstance->Config->ServerDesc;
-}
-
-Admin Server::GetAdmin()
-{
- return Admin(ServerInstance->Config->AdminName,ServerInstance->Config->AdminEmail,ServerInstance->Config->AdminNick);
-}
-
-
bool Server::AddMode(ModeHandler* mh, const unsigned char mode)
{
return ServerInstance->ModeGrok->AddMode(mh,mode);
return true;
}
-Module* Server::FindModule(const std::string &name)
+Module* InspIRCd::FindModule(const std::string &name)
{
- for (int i = 0; i <= MODCOUNT; i++)
+ for (int i = 0; i <= this->GetModuleCount(); i++)
{
- if (ServerInstance->Config->module_names[i] == name)
+ if (this->Config->module_names[i] == name)
{
- return modules[i];
+ return this->modules[i];
}
}
return NULL;
if (bail)
{
printf("There were errors in your configuration:\n%s", this->errorlog->str().c_str());
- Exit(0);
+ InspIRCd::Exit(ERROR);
}
else
{
}
-std::vector<Module*> modules(255);
-std::vector<ircd_module*> factory(255);
-
-int MODCOUNT = -1;