summaryrefslogtreecommitdiff
path: root/modules/operserv/main/operserv.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2016-07-28 21:29:35 -0400
committerAdam <Adam@anope.org>2016-07-28 21:29:35 -0400
commit0e758a2ac23dc4a001e8e126cec14588da9a9769 (patch)
tree45df813323e023c5c89db7279426c4ad0943b4a9 /modules/operserv/main/operserv.cpp
parenta3c8afae00c54d5b95c620248b51f90679d7d53f (diff)
Allow serializable fields to use storage in the respective objects.
Split service management code nito a proper servicemanager. Make service references managed instead of lazy lookup. Also made events and serializable use service manager instead of their respective systems for management
Diffstat (limited to 'modules/operserv/main/operserv.cpp')
-rw-r--r--modules/operserv/main/operserv.cpp46
1 files changed, 11 insertions, 35 deletions
diff --git a/modules/operserv/main/operserv.cpp b/modules/operserv/main/operserv.cpp
index 0a4f1b692..40c392ea7 100644
--- a/modules/operserv/main/operserv.cpp
+++ b/modules/operserv/main/operserv.cpp
@@ -13,15 +13,6 @@
#include "modules/help.h"
#include "modules/nickserv.h"
-class SGlineType : public XLineType
-{
- public:
- SGlineType(Module *creator) : XLineType(creator, "SGLine")
- {
- SetParent(xline);
- }
-};
-
class SGLineManager : public XLineManager
{
public:
@@ -74,15 +65,6 @@ class SGLineManager : public XLineManager
}
};
-class SQlineType : public XLineType
-{
- public:
- SQlineType(Module *creator) : XLineType(creator, "SQLine")
- {
- SetParent(xline);
- }
-};
-
class SQLineManager : public XLineManager
{
public:
@@ -152,15 +134,6 @@ class SQLineManager : public XLineManager
}
};
-class SNlineType : public XLineType
-{
- public:
- SNlineType(Module *creator) : XLineType(creator, "SNLine")
- {
- SetParent(xline);
- }
-};
-
class SNLineManager : public XLineManager
{
public:
@@ -211,20 +184,23 @@ class OperServCore : public Module
, public EventHook<Event::Log>
{
Reference<ServiceBot> OperServ;
- SGlineType sgtype;
SGLineManager sglines;
- SQlineType sqtype;
SQLineManager sqlines;
- SNlineType sntype;
SNLineManager snlines;
public:
OperServCore(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, PSEUDOCLIENT | VENDOR)
- , sgtype(this)
+ , EventHook<Event::BotPrivmsg>(this)
+ , EventHook<Event::ServerQuit>(this)
+ , EventHook<Event::UserModeSet>(this)
+ , EventHook<Event::UserModeUnset>(this)
+ , EventHook<Event::UserConnect>(this)
+ , EventHook<Event::UserNickChange>(this)
+ , EventHook<Event::CheckKick>(this)
+ , EventHook<Event::Help>(this)
+ , EventHook<Event::Log>(this)
, sglines(this)
- , sqtype(this)
, sqlines(this)
- , sntype(this)
, snlines(this)
{
@@ -250,11 +226,11 @@ class OperServCore : public Module
const Anope::string &osnick = conf->GetModule(this)->Get<Anope::string>("client");
if (osnick.empty())
- throw ConfigException(this->name + ": <client> must be defined");
+ throw ConfigException(Module::name + ": <client> must be defined");
ServiceBot *bi = ServiceBot::Find(osnick, true);
if (!bi)
- throw ConfigException(this->name + ": no bot named " + osnick);
+ throw ConfigException(Module::name + ": no bot named " + osnick);
OperServ = bi;
}