X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Ftypedefs.h;h=8733829999819a39379ec6b5dd04bec75ce3ca15;hb=e191f0ed6cdca421407ebc67c28fafabc6cc63f7;hp=ba811e7140b00b85314f833c34b655f536309ed7;hpb=9ebd9cba72056c5b36696e166826afb981f25ebb;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/typedefs.h b/include/typedefs.h index ba811e714..873382999 100644 --- a/include/typedefs.h +++ b/include/typedefs.h @@ -1,125 +1,87 @@ -/* +------------------------------------+ - * | Inspire Internet Relay Chat Daemon | - * +------------------------------------+ +/* + * InspIRCd -- Internet Relay Chat Daemon * - * InspIRCd: (C) 2002-2010 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 TYPEDEFS_H -#define TYPEDEFS_H + +#pragma once class BanCacheManager; -class BanItem; class BufferedSocket; class Channel; class Command; -class ConfigReader; +class ConfigStatus; class ConfigTag; -class DNSHeader; -class DNSRequest; class Extensible; class FakeUser; class InspIRCd; +class Invitation; +class IOHookProvider; class LocalUser; class Membership; class Module; class OperInfo; +class ProtocolServer; class RemoteUser; +class Server; class ServerConfig; class ServerLimits; class Thread; class User; -class UserResolver; class XLine; class XLineManager; class XLineFactory; struct ConnectClass; struct ModResult; -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 TR1NS::unordered_map user_hash; +typedef TR1NS::unordered_map chan_hash; /** 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; - -/** Holds a complete list of all allow and deny tags from the configuration file (connection classes) - */ -typedef std::vector > ClassVector; - -/** Typedef for the list of user-channel records for a user - */ -typedef std::set UserChanList; - -/** Shorthand for an iterator into a UserChanList - */ -typedef UserChanList::iterator UCListIter; - -/** Holds a complete ban list - */ -typedef std::vector BanList; - -/** A list of custom modes parameters on a channel +/** List of channels to consider when building the neighbor list of a user */ -typedef std::map CustomModeList; +typedef std::vector IncludeChanList; /** A cached text file stored with its contents as lines */ typedef std::vector file_cache; -/** A configuration key and value pair +/** A mapping of configuration keys to their assigned values. */ -typedef std::pair KeyVal; +typedef insp::flat_map ConfigItems; /** The entire configuration */ -typedef std::multimap > ConfigDataHash; +typedef std::multimap, irc::insensitive_swo> ConfigDataHash; /** Iterator of ConfigDataHash */ typedef ConfigDataHash::const_iterator ConfigIter; /** Iterator pair, used for tag-name ranges */ 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; - -/** Membership list of a channel */ -typedef std::map UserMembList; -/** Iterator of UserMembList */ -typedef UserMembList::iterator UserMembIter; -/** const Iterator of UserMembList */ -typedef UserMembList::const_iterator UserMembCIter; - /** Generic user list, used for exceptions */ typedef std::set CUList; @@ -137,7 +99,7 @@ typedef std::map XLineFactMap; /** A map of XLines indexed by string */ -typedef std::map XLineLookup; +typedef std::map XLineLookup; /** A map of XLineLookup maps indexed by string */ @@ -151,6 +113,7 @@ typedef XLineContainer::iterator ContainerIter; */ typedef XLineLookup::iterator LookupIter; - -#endif - +namespace Stats +{ + class Context; +}