]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/dynamic.h
Move Blocking/NonBlocking to socket.cpp and make inline
[user/henk/code/inspircd.git] / include / dynamic.h
index 276b21f135db03f14a2207bf9034335963751c1e..a8b7392bf73e547e65b3fe1afa0b12d16d24662c 100644 (file)
@@ -2,7 +2,7 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  Inspire is copyright (C) 2002-2004 ChatSpike-Dev.
+ *  InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev.
  *                       E-mail:
  *                <brain@chatspike.net>
  *               <Craig@chatspike.net>
@@ -22,20 +22,22 @@ typedef void * (initfunc) (void);
 
 #include "inspircd_config.h"
 
+extern void do_log(int, const char*, ...);
+
 class DLLManager
 {
  public:
-       DLLManager(char *fname);
+       DLLManager(const char *fname);
        virtual ~DLLManager();
 
 
 #ifdef STATIC_LINK
-       bool GetSymbol( initfunc* &v, char *sym_name );
+       bool GetSymbol( initfunc* &v, const char *sym_name );
 #else
-       bool GetSymbol( void **, char *sym_name );
+       bool GetSymbol( void **, const char *sym_name );
 #endif
 
-       char *LastError() 
+       charLastError() 
        {
                 return err;
        }
@@ -52,7 +54,7 @@ class DLLManager
 class DLLFactoryBase : public DLLManager
 {
  public:
-       DLLFactoryBase(char *fname, char *func_name = 0);
+       DLLFactoryBase(const char *fname, const char *func_name = 0);
        virtual ~DLLFactoryBase();
 #ifdef STATIC_LINK
        initfunc *factory_func;
@@ -61,29 +63,24 @@ class DLLFactoryBase : public DLLManager
 #endif
 };
 
-
 template <class T> class DLLFactory : public DLLFactoryBase
 {
  public:
-       DLLFactory(char *fname, char *func_name=0) : DLLFactoryBase(fname,func_name)
+       DLLFactory(const char *fname, const char *func_name=0) : DLLFactoryBase(fname,func_name)
        {
                if (factory_func)
-                       factory = (T*)factory_func();
+                       factory = reinterpret_cast<T*>(factory_func());
                else
-                       factory = 0;
+                       factory = reinterpret_cast<T*>(-1);
        }
        
        ~DLLFactory()
        {
-               delete factory;
+               if (factory)
+                       delete factory;
        }
 
        T *factory;
 };
 
-
-
-
-
-
 #endif