#include "intrusive_list.h"
#include "compat.h"
#include "typedefs.h"
+#include "stdalgo.h"
CoreExport extern InspIRCd* ServerInstance;
*/
CommandParser* Parser;
- /** Socket engine, handles socket activity events
- */
- SocketEngine* SE;
-
/** Thread engine, Handles threading where required
*/
ThreadEngine* Threads;
/** Timer manager class, triggers Timer timer events
*/
- TimerManager* Timers;
+ TimerManager Timers;
/** X-Line manager. Handles G/K/Q/E line setting, removal and matching
*/
/** Channel list, a hash_map containing all channels XXX move to channel manager class
*/
- chan_hash* chanlist;
+ chan_hash chanlist;
/** List of the open ports
*/
*/
Channel* FindChan(const std::string &chan);
+ /** Get a hash map containing all channels, keyed by their name
+ * @return A hash map mapping channel names to Channel pointers
+ */
+ chan_hash& GetChans() { return chanlist; }
+
/** Return true if a channel name is valid
* @param chname A channel name to verify
* @return True if the name is valid
static const char* Format(const char* formatString, ...) CUSTOM_PRINTF(1, 2);
static const char* Format(va_list &vaList, const char* formatString) CUSTOM_PRINTF(2, 0);
- /** Return a count of channels on the network
- * @return The number of channels
- */
- long ChannelCount() const { return chanlist->size(); }
-
/** Send an error notice to all local users, opered and unopered
* @param s The error string to send
*/
*/
void Rehash(const std::string& uuid = "");
- /** Check if the given nickmask matches too many users, send errors to the given user
- * @param nick A nickmask to match against
- * @param user A user to send error text to
- * @return True if the nick matches too many users
- */
- bool NickMatchesEveryone(const std::string &nick, User* user);
-
- /** Check if the given IP mask matches too many users, send errors to the given user
- * @param ip An ipmask to match against
- * @param user A user to send error text to
- * @return True if the ip matches too many users
- */
- bool IPMatchesEveryone(const std::string &ip, User* user);
-
- /** Check if the given hostmask matches too many users, send errors to the given user
- * @param mask A hostmask to match against
- * @param user A user to send error text to
- * @return True if the host matches too many users
- */
- bool HostMatchesEveryone(const std::string &mask, User* user);
-
/** Calculate a duration in seconds from a string in the form 1y2w3d4h6m5s
* @param str A string containing a time in the form 1y2w3d4h6m5s
* (one year, two weeks, three days, four hours, six minutes and five seconds)
return Version(cmd.name, VF_VENDOR|VF_CORE);
}
};
+
+inline void stdalgo::culldeleter::operator()(classbase* item)
+{
+ if (item)
+ ServerInstance->GlobalCulls.AddItem(item);
+}