summaryrefslogtreecommitdiff
path: root/src/access.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/access.cpp')
-rw-r--r--src/access.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/access.cpp b/src/access.cpp
index 40e53a305..6ff842fd8 100644
--- a/src/access.cpp
+++ b/src/access.cpp
@@ -73,10 +73,21 @@ void PrivilegeManager::ClearPrivileges()
AccessProvider::AccessProvider(Module *o, const Anope::string &n) : Service(o, "AccessProvider", n)
{
+ providers.push_back(this);
}
AccessProvider::~AccessProvider()
{
+ std::list<AccessProvider *>::iterator it = std::find(providers.begin(), providers.end(), this);
+ if (it != providers.end())
+ providers.erase(it);
+}
+
+std::list<AccessProvider *> AccessProvider::providers;
+
+const std::list<AccessProvider *>& AccessProvider::GetProviders()
+{
+ return providers;
}
ChanAccess::ChanAccess(AccessProvider *p) : provider(p)