* | Inspire Internet Relay Chat Daemon |
* +------------------------------------+
*
- * InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev.
- * E-mail:
- * <brain@chatspike.net>
- * <Craig@chatspike.net>
- *
- * Written by Craig Edwards, Craig McLure, and others.
+ * InspIRCd: (C) 2002-2009 InspIRCd Development Team
+ * See: http://www.inspircd.org/wiki/index.php/Credits
+ *
* This program is free but copyrighted software; see
* the file COPYING for details.
*
* ---------------------------------------------------
*/
+/* $Core */
+
#include "inspircd_config.h"
#include "base.h"
#include <time.h>
-#include <map>
-#include <deque>
-#include <string>
#include "inspircd.h"
-#include "modules.h"
-#include "helperfuncs.h"
const int bitfields[] = {1,2,4,8,16,32,64,128};
const int inverted_bitfields[] = {~1,~2,~4,~8,~16,~32,~64,~128};
-extern time_t TIME;
-
-/* This is now a template in base.h
- *
- * bool Extensible::Extend(const std::string &key, char* 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;
- * log(DEBUG,"Extending object with item %s",key.c_str());
- * return true;
- * }
- * // item already exists, return false
- * return false;
- * }
- */
+classbase::classbase()
+{
+ this->age = time(NULL);
+}
bool Extensible::Shrink(const std::string &key)
{
* returns the number of elements removed, std::map
* is single-associative so this should only be 0 or 1
*/
- if(this->Extension_Items.erase(key))
- {
- log(DEBUG, "Shrinking object with item %s",key.c_str());
- return true;
- }
- else
- {
- log(DEBUG, "Tried to shrink object with item %s but no items removed", key.c_str());
- return false;
- }
-}
-
-char* Extensible::GetExt(const std::string &key)
-{
- /* This was calling ExtensibleStore::find() twice,
- * once to see if there was a value, and again to
- * get that value if it was there. Now we store
- * the iterator so we only have to search for it once.
- */
- ExtensibleStore::iterator iter = this->Extension_Items.find(key);
-
- if(iter != this->Extension_Items.end())
- {
- return iter->second;
- }
- else
- {
- return NULL;
- }
+ return this->Extension_Items.erase(key);
}
void Extensible::GetExtList(std::deque<std::string> &list)