/* * InspIRCd -- Internet Relay Chat Daemon * * Copyright (C) 2009 Daniel De Graaf * Copyright (C) 2005, 2008 Craig Edwards * Copyright (C) 2007 Dennis Friis * * 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 . */ #pragma once class BanCacheManager; class BufferedSocket; class Channel; class Command; class ConfigStatus; class ConfigTag; class Extensible; class FakeUser; class InspIRCd; class Invitation; class LocalUser; class Membership; class Module; class OperInfo; class ProtocolServer; class RemoteUser; class Server; class ServerConfig; class ServerLimits; class Thread; class User; class XLine; class XLineManager; class XLineFactory; struct ConnectClass; struct ModResult; #include "hashcomp.h" #include "base.h" 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; /** List of channels to consider when building the neighbor list of a user */ 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 */ 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 */ typedef std::pair ConfigTagList; /** Files read by the configuration */ typedef std::map ConfigFileCache; /** Generic user list, used for exceptions */ typedef std::set CUList; /** A set of strings. */ typedef std::vector string_list; /** Contains an ident and host split into two strings */ typedef std::pair IdentHostPair; /** A map of xline factories */ typedef std::map XLineFactMap; /** A map of XLines indexed by string */ typedef std::map XLineLookup; /** A map of XLineLookup maps indexed by string */ typedef std::map XLineContainer; /** An iterator in an XLineContainer */ typedef XLineContainer::iterator ContainerIter; /** An interator in an XLineLookup */ typedef XLineLookup::iterator LookupIter; namespace Stats { class Context; }