summaryrefslogtreecommitdiff
path: root/modules/protocol/plexus.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/protocol/plexus.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/protocol/plexus.cpp')
-rw-r--r--modules/protocol/plexus.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/modules/protocol/plexus.cpp b/modules/protocol/plexus.cpp
index 027fa2a14..efa521377 100644
--- a/modules/protocol/plexus.cpp
+++ b/modules/protocol/plexus.cpp
@@ -13,12 +13,13 @@
static Anope::string UplinkSID;
-static ServiceReference<IRCDProto> hybrid("IRCDProto", "hybrid");
-
class PlexusProto : public IRCDProto
{
+ ServiceReference<IRCDProto> hybrid; // XXX use moddeps + inheritance here
+
public:
PlexusProto(Module *creator) : IRCDProto(creator, "hybrid-7.2.3+plexus-3.0.1")
+ , hybrid("hybrid")
{
DefaultPseudoclientModes = "+oiU";
CanSVSNick = true;
@@ -204,7 +205,7 @@ struct IRCDMessageEncap : IRCDMessage
if (u)
{
u->fingerprint = params[3];
- Event::OnFingerprint(&Event::Fingerprint::OnFingerprint, u);
+ EventManager::Get()->Dispatch(&Event::Fingerprint::OnFingerprint, u);
}
}
return;
@@ -366,8 +367,8 @@ class ProtoPlexus : public Module
m_hybrid = ModuleManager::FindModule("hybrid");
if (!m_hybrid)
throw ModuleException("Unable to find hybrid");
- if (!hybrid)
- throw ModuleException("No protocol interface for hybrid");
+// if (!hybrid)
+// throw ModuleException("No protocol interface for hybrid");
}
~ProtoPlexus()