X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Ftypedefs.h;h=5ca49493bff0121db9c5515af758055099e9822f;hb=c2a3ebea46f3527e0680f1258725f95ff13f0880;hp=0a625b1d24a8848320fcb697f9127ed0f2180926;hpb=7c1488c4ebbb4fd0cb209a2b1939037578d8a69d;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/typedefs.h b/include/typedefs.h index 0a625b1d2..5ca49493b 100644 --- a/include/typedefs.h +++ b/include/typedefs.h @@ -1,30 +1,156 @@ +/* +------------------------------------+ + * | Inspire Internet Relay Chat Daemon | + * +------------------------------------+ + * + * InspIRCd: (C) 2002-2010 InspIRCd Development Team + * See: http://wiki.inspircd.org/Credits + * + * This program is free but copyrighted software; see + * the file COPYING for details. + * + * --------------------------------------------------- + */ + #ifndef __TYPEDEF_H__ #define __TYPEDEF_H__ -#include "users.h" -#include "channels.h" +class BanCacheManager; +class BanItem; +class BufferedSocket; +class Channel; +class Command; +class ConfigReader; +class ConfigTag; +class DNSHeader; +class DNSRequest; +class Extensible; +class FakeUser; +class InspIRCd; +class LocalUser; +class Membership; +class Module; +class OperInfo; +class RemoteUser; +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 "inspstring.h" -#include "ctables.h" -#include "inspircd.h" -#include "modules.h" -#include "globals.h" -#include "inspircd_config.h" -#include -#ifdef GCC3 -#include +#include "base.h" + +#if defined(WINDOWS) && !defined(HASHMAP_DEPRECATED) + typedef nspace::hash_map > > user_hash; + typedef nspace::hash_map > > chan_hash; #else -#include + #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 nspace::hash_map, irc::StrHashComp> user_hash; -typedef nspace::hash_map, irc::StrHashComp> chan_hash; -typedef nspace::hash_map, irc::InAddr_HashComp> address_cache; -typedef nspace::hash_map, irc::StrHashComp> whowas_hash; -typedef std::deque command_table; -typedef std::vector servernamelist; -typedef std::vector ExtModeList; -typedef ExtModeList::iterator ExtModeListIter; -typedef std::deque file_cache; +/** 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 + */ +typedef std::map CustomModeList; + +/** 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; + +/** 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; + +/** 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; + #endif +