X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Ftypedefs.h;h=e737906671b1197346d32abb8e7804178bc68f61;hb=9de86c34d41fcbcedf7b332746b7f0e8c37c7c45;hp=c0a5ebbc1fc128a2b06b60645c84b38ddca15eca;hpb=6b2ea833674bb3bfedb0f2e2af06efa25655e5f5;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/typedefs.h b/include/typedefs.h index c0a5ebbc1..e73790667 100644 --- a/include/typedefs.h +++ b/include/typedefs.h @@ -1,18 +1,26 @@ -/* +------------------------------------+ - * | Inspire Internet Relay Chat Daemon | - * +------------------------------------+ +/* + * InspIRCd -- Internet Relay Chat Daemon * - * InspIRCd: (C) 2002-2009 InspIRCd Development Team - * See: http://wiki.inspircd.org/Credits + * Copyright (C) 2009 Daniel De Graaf + * Copyright (C) 2005, 2008 Craig Edwards + * Copyright (C) 2007 Dennis Friis * - * This program is free but copyrighted software; see - * the file COPYING for details. + * This file is part of InspIRCd. InspIRCd is free software: you can + * redistribute it and/or modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation, version 2. * - * --------------------------------------------------- + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . */ -#ifndef __TYPEDEF_H__ -#define __TYPEDEF_H__ + +#ifndef TYPEDEFS_H +#define TYPEDEFS_H class BanCacheManager; class BanItem; @@ -26,6 +34,8 @@ class DNSRequest; class Extensible; class FakeUser; class InspIRCd; +class Invitation; +class InviteBase; class LocalUser; class Membership; class Module; @@ -46,25 +56,19 @@ struct ResourceRecord; #include "hashcomp.h" #include "base.h" -#if defined(WINDOWS) && !defined(HASHMAP_DEPRECATED) - typedef nspace::hash_map > > user_hash; - typedef nspace::hash_map > > chan_hash; -#else - #ifdef HASHMAP_DEPRECATED - typedef nspace::hash_map user_hash; - typedef nspace::hash_map chan_hash; - #else - typedef nspace::hash_map, irc::StrHashComp> user_hash; - typedef nspace::hash_map, irc::StrHashComp> chan_hash; - #endif -#endif +typedef std::tr1::unordered_map user_hash; +typedef std::tr1::unordered_map chan_hash; + +/** A list holding local users, this is the type of UserManager::local_users + */ +typedef std::list LocalUserList; /** A list of failed port bindings, used for informational purposes on startup */ typedef std::vector > FailedPortList; /** Holds a complete list of all channels to which a user has been invited and has not yet joined, and the time at which they'll expire. */ -typedef std::vector< std::pair > InvitedList; +typedef std::vector InviteList; /** Holds a complete list of all allow and deny tags from the configuration file (connection classes) */ @@ -97,6 +101,7 @@ typedef std::pair KeyVal; /** The entire configuration */ typedef std::multimap > ConfigDataHash; + /** Iterator of ConfigDataHash */ typedef ConfigDataHash::const_iterator ConfigIter; /** Iterator pair, used for tag-name ranges */ @@ -105,9 +110,12 @@ typedef std::pair ConfigTagList; /** Index of valid oper blocks and types */ typedef std::map > OperIndex; +/** Files read by the configuration */ +typedef std::map ConfigFileCache; + /** A hash of commands used by the core */ -typedef nspace::hash_map Commandtable; +typedef std::tr1::unordered_map Commandtable; /** Membership list of a channel */ typedef std::map UserMembList; @@ -123,18 +131,6 @@ typedef std::set CUList; */ typedef std::vector string_list; -/** Holds a list of 'published features' for modules. - */ -typedef std::map featurelist; - -/** Holds a list of modules which implement an interface - */ -typedef std::deque modulelist; - -/** Holds a list of all modules which implement interfaces, by interface name - */ -typedef std::map > interfacelist; - /** Contains an ident and host split into two strings */ typedef std::pair IdentHostPair;