From 1899777c6d86544a7775bc96175283957a763326 Mon Sep 17 00:00:00 2001 From: brain Date: Fri, 30 Apr 2004 14:47:34 +0000 Subject: Added base.cpp, fixed documentation for userrec::HasPermission git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@757 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/base.cpp | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/base.cpp (limited to 'src') diff --git a/src/base.cpp b/src/base.cpp new file mode 100644 index 000000000..7e545694b --- /dev/null +++ b/src/base.cpp @@ -0,0 +1,38 @@ +#include "base.h" +#include "inspircd_config.h" +#include +#include +#include + +bool Extensible::Extend(std::string key, VoidPointer p) +{ + // only add an item if it doesnt already exist + if (this->Extension_Items.find(key) == this->Extension_Items.end()) + { + this->Extension_Items[key] == p; + return true; + } + // item already exists, return false + return false; +} + +bool Extensible::Shrink(std::string key) +{ + // only attempt to remove a map item that exists + if (this->Extension_Items.find(key) != this->Extension_Items.end()) + { + this->Extension_Items.erase(this->Extension_Items.find(key)); + return true; + } + return false; +} + +VoidPointer Extensible::GetExt(std::string key) +{ + if (this->Extension_Items.find(key) != this->Extension_Items.end()) + { + return (this->Extension_Items.find(key))->second; + } + return NULL; +} + -- cgit v1.2.3