]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/dynamic.h
Comments (lots of)
[user/henk/code/inspircd.git] / include / dynamic.h
index e4d1b4a059b9e5fef9a1f4d40b25209078c22ff3..db46291c4b888f34acec0d1101ec725431c5383f 100644 (file)
@@ -38,31 +38,24 @@ class CoreExport DLLManager
        DLLManager(InspIRCd* ServerInstance, const char *fname);
        virtual ~DLLManager();
 
-
-#ifdef STATIC_LINK
-       /** Get a symbol using static linking.
-        * @param v A static function pointer, pointing at an init_module function
-        * @param sym_name The symbol name to find, usually "init_module"
-        * @return True if the symbol can be found
-        */
-       bool GetSymbol(initfunc* &v, const char *sym_name);
-#else
        /** Get a symbol using dynamic linking.
         * @param v A function pointer, pointing at an init_module function
         * @param sym_name The symbol name to find, usually "init_module"
         * @return true if the symbol can be found, also the symbol will be put into v.
         */
        bool GetSymbol(void **v, const char *sym_name);
-#endif
+
        /** Get the last error from dlopen() or dlsym().
-        * @return The last error string, or NULL if no error has occured
+        * @return The last error string, or NULL if no error has occured.
         */
        char* LastError() 
        {
                 return err;
        }
 
-       /** The module handle
+       /** The module handle.
+        * This is OS dependent, on POSIX platforms it is a pointer to a function
+        * pointer (yes, really!) and on windows it is a library handle.
         */
        void *h;
 
@@ -71,12 +64,6 @@ class CoreExport DLLManager
        /** The last error string, or NULL
         */
        char *err;
-#ifdef STATIC_LINK
-
-       /** The module name
-        */
-       char staticname[1024];
-#endif
 };
 
 /** This class is a specialized form of DLLManager designed to load InspIRCd modules.
@@ -92,18 +79,13 @@ class CoreExport DLLFactoryBase : public DLLManager
         */
        DLLFactoryBase(InspIRCd* Instance, const char *fname, const char *func_name = 0);
 
-       /** Default destructor
+       /** Default destructor.
         */
        virtual ~DLLFactoryBase();
-#ifdef STATIC_LINK
-       /** A function pointer to the factory function
-        */
-       initfunc *factory_func;
-#else
-       /** A function pointer to the factory function
+
+       /** A function pointer to the factory function.
         */
        void * (*factory_func)(void);   
-#endif
 };
 
 /** This is the highest-level class of the DLLFactory system used to load InspIRCd modules.
@@ -142,3 +124,4 @@ template <class T> class CoreExport DLLFactory : public DLLFactoryBase
 };
 
 #endif
+