]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/channels.h
Change the function name because gcc is dumb :/
[user/henk/code/inspircd.git] / include / channels.h
index 3c95bb7fbb961dfd37d5ecd5e19477cd175dc02d..693f429f4966f5814dcc91fe3a989d8b5b8b1759 100644 (file)
@@ -2,7 +2,7 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd: (C) 2002-2007 InspIRCd Development Team
+ *  InspIRCd: (C) 2002-2008 InspIRCd Development Team
  * See: http://www.inspircd.org/wiki/index.php/Credits
  *
  * This program is free but copyrighted software; see
 #ifndef __CHANNELS_H__
 #define __CHANNELS_H__
 
-#include "inspircd_config.h"
-#include "base.h"
-#include <time.h>
-#include <vector>
-#include <string>
-#include <map>
-
 /** RFC1459 channel modes
  */
 enum ChannelModes {
@@ -36,7 +29,6 @@ enum ChannelModes {
 
 /* Forward declarations - needed */
 class User;
-class Channel;
 
 /** Holds an entry for a ban list, exemption list, or invite list.
  * This class contains a single element in a channel list, such as a banlist.
@@ -49,7 +41,7 @@ class HostItem : public classbase
        time_t set_time;
        /** Who added the item
         */
-       char set_by[NICKMAX];
+       char set_by[64];
        /** The actual item data
         */
        char data[MAXBUF];
@@ -135,6 +127,11 @@ class CoreExport Channel : public Extensible
        int maxbans;
 
  public:
+       /** Creates a channel record and initialises it with default values
+        * @throw Nothing at present.
+        */
+       Channel(InspIRCd* Instance, const std::string &name, time_t ts);
+
        /** The channel's name.
         */
        char name[CHANMAX];
@@ -331,11 +328,6 @@ class CoreExport Channel : public Extensible
         */
        bool HasUser(User* user);
 
-       /** Creates a channel record and initialises it with default values
-        * @throw Nothing at present.
-        */
-       Channel(InspIRCd* Instance);
-
        /** Make src kick user from this channel with the given reason.
         * @param src The source of the kick
         * @param user The user being kicked (must be on this channel)
@@ -374,20 +366,12 @@ class CoreExport Channel : public Extensible
         */
        static Channel* JoinUser(InspIRCd* ServerInstance, User *user, const char* cn, bool override, const char* key, bool bursting, time_t TS = 0);
 
-       /*
-        * Create a channel record, and insert it into the hash.
-        * @param name The channel name
-        * @param ts The channel timestamp
-        * @return A pointer to the newly created Channel object.
-        */
-       static Channel *CreateChannel(InspIRCd *ServerInstance, const std::string &name, time_t ts = 0);
-
        /** Write to a channel, from a user, using va_args for text
         * @param user User whos details to prefix the line with
         * @param text A printf-style format string which builds the output line without prefix
         * @param ... Zero or more POD types
         */
-       void WriteChannel(User* user, char* text, ...);
+       void WriteChannel(User* user, const char* text, ...) CUSTOM_PRINTF(3, 4);
 
        /** Write to a channel, from a user, using std::string for text
         * @param user User whos details to prefix the line with
@@ -400,7 +384,7 @@ class CoreExport Channel : public Extensible
         * @param text A printf-style format string which builds the output line without prefix
         * @param ... Zero or more POD type
         */
-       void WriteChannelWithServ(const char* ServName, const char* text, ...);
+       void WriteChannelWithServ(const char* ServName, const char* text, ...) CUSTOM_PRINTF(3, 4);
 
        /** Write to a channel, from a server, using std::string for text
         * @param ServName Server name to prefix the line with
@@ -417,7 +401,7 @@ class CoreExport Channel : public Extensible
         * @param text A printf-style format string which builds the output line without prefix
         * @param ... Zero or more POD type
         */
-       void WriteAllExceptSender(User* user, bool serversource, char status, char* text, ...);
+       void WriteAllExceptSender(User* user, bool serversource, char status, const char* text, ...) CUSTOM_PRINTF(5, 6);
 
        /** Write to all users on a channel except a list of users, using va_args for text
         * @param user User whos details to prefix the line with, and to omit from receipt of the message
@@ -428,7 +412,7 @@ class CoreExport Channel : public Extensible
         * @param text A printf-style format string which builds the output line without prefix
         * @param ... Zero or more POD type
         */
-       void WriteAllExcept(User* user, bool serversource, char status, CUList &except_list, char* text, ...);
+       void WriteAllExcept(User* user, bool serversource, char status, CUList &except_list, const char* text, ...) CUSTOM_PRINTF(6, 7);
 
        /** Write to all users on a channel except a specific user, using std::string for text.
         * Internally, this calls WriteAllExcept().