]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/inspircd.h
Change to new execution directory structure
[user/henk/code/inspircd.git] / include / inspircd.h
index 4c3aba95b1cf49772219c1c090a44f34fe2c4a75..182d33c9cfb8a271991b82c3dc72a0561dc82382 100644 (file)
@@ -74,7 +74,7 @@ typedef std::vector< KeyVal > KeyValList;
 typedef std::multimap< std::string, KeyValList > ConfigDataHash;
 
 class InspIRCd;
-extern InspIRCd* ServerInstance;
+CoreExport extern InspIRCd* ServerInstance;
 
 #include "inspircd_config.h"
 #include "inspircd_version.h"
@@ -293,13 +293,12 @@ class BanCacheManager;
  */
 class CoreExport ConfigReaderThread : public Thread
 {
-       InspIRCd* ServerInstance;
        ServerConfig* Config;
        bool done;
  public:
        std::string TheUserUID;
-       ConfigReaderThread(InspIRCd* Instance, const std::string &useruid)
-               : Thread(), ServerInstance(Instance), done(false), TheUserUID(useruid)
+       ConfigReaderThread(const std::string &useruid)
+               : Thread(), done(false), TheUserUID(useruid)
        {
        }
 
@@ -422,10 +421,6 @@ class CoreExport InspIRCd : public classbase
         */
        void BuildISupport();
 
-       /** List of server names we've seen.
-        */
-       servernamelist servernames;
-
        /** Time this ircd was booted
         */
        time_t startup_time;
@@ -513,6 +508,14 @@ class CoreExport InspIRCd : public classbase
         */
        ProtocolInterface* PI;
 
+       /** Holds extensible for user nickforced
+        */
+       LocalIntExt NICKForced;
+
+       /** Holds extensible for user operquit
+        */
+       LocalStringExt OperQuit;
+
        /** Get the current time
         * Because this only calls time() once every time around the mainloop,
         * it is much faster than calling time() directly.
@@ -533,24 +536,6 @@ class CoreExport InspIRCd : public classbase
         */
        bool BindSocket(int sockfd, int port, const char* addr, bool dolisten = true);
 
-       /** Adds a server name to the list of servers we've seen
-        * @param The servername to add
-        */
-       void AddServerName(const std::string &servername);
-
-       /** Finds a cached char* pointer of a server name,
-        * This is used to optimize User by storing only the pointer to the name
-        * @param The servername to find
-        * @return A pointer to this name, gauranteed to never become invalid
-        */
-       const char* FindServerNamePtr(const std::string &servername);
-
-       /** Returns true if we've seen the given server name before
-        * @param The servername to find
-        * @return True if we've seen this server name before
-        */
-       bool FindServerName(const std::string &servername);
-
        /** Gets the GECOS (description) field of the given server.
         * If the servername is not that of the local server, the name
         * is passed to handling modules which will attempt to determine
@@ -558,7 +543,7 @@ class CoreExport InspIRCd : public classbase
         * @param servername The servername to find the description of
         * @return The description of this server, or of the local server
         */
-       std::string GetServerDescription(const char* servername);
+       std::string GetServerDescription(const std::string& servername);
 
        /** Find a user in the nick hash.
         * If the user cant be found in the nick hash check the uuid hash
@@ -811,12 +796,12 @@ class CoreExport InspIRCd : public classbase
         * @param server The server to check for uline status
         * @return True if the server is a uline OR the string is empty
         */
-       bool ULine(const char* server);
+       bool ULine(const std::string& server);
 
        /** Returns true if the uline is 'silent' (doesnt generate
         * remote connect notices etc).
         */
-       bool SilentULine(const char* server);
+       bool SilentULine(const std::string& server);
 
        /** Returns the subversion revision ID of this ircd
         * @return The revision ID or an empty string
@@ -927,14 +912,14 @@ class CommandModule : public Module
 {
        Cmd cmd;
  public:
-       CommandModule(InspIRCd*) : cmd(this)
+       CommandModule() : cmd(this)
        {
                ServerInstance->AddCommand(&cmd);
        }
 
        Version GetVersion()
        {
-               return Version(cmd.command, VF_VENDOR);
+               return Version(cmd.command, VF_VENDOR|VF_CORE);
        }
 };