diff options
-rw-r--r-- | src/GNUmakefile | 2 | ||||
-rw-r--r-- | src/ModuleRegistry.hpp | 5 | ||||
-rw-r--r-- | src/modules/urlnormalizer/googleurl/GoogleURLNormalizer.hpp | 2 | ||||
-rw-r--r-- | src/modules/urlnormalizer/simpleurl/SimpleURLNormalizer.hpp | 2 |
4 files changed, 8 insertions, 3 deletions
diff --git a/src/GNUmakefile b/src/GNUmakefile index 9351c13..4948b49 100644 --- a/src/GNUmakefile +++ b/src/GNUmakefile @@ -52,6 +52,8 @@ local_all: $(LOCAL_STATIC_LIB) $(LOCAL_STATIC_LIB): $(LOCAL_STATIC_LIB_OBJS) ar rcs $(LOCAL_STATIC_LIB) $(LOCAL_STATIC_LIB_OBJS) +modules: $(LOCAL_STATIC_LIB) + local_clean: @-rm -f $(LOCAL_STATIC_LIB) diff --git a/src/ModuleRegistry.hpp b/src/ModuleRegistry.hpp index e1c8a08..4f62872 100644 --- a/src/ModuleRegistry.hpp +++ b/src/ModuleRegistry.hpp @@ -18,13 +18,16 @@ struct ModuleRegistry { } }; +#define DECLARE_MODULE( baseClass ) \ +extern "C" ModuleRegistry<baseClass> registry; + #define REGISTER_MODULE( name, baseClass, subClass ) \ static baseClass *create( ) \ { \ return new subClass( ); \ } \ \ -static void destroy( baseClass *obj ) \ +static void destroy( baseClass *obj ) \ { \ delete obj; \ } \ diff --git a/src/modules/urlnormalizer/googleurl/GoogleURLNormalizer.hpp b/src/modules/urlnormalizer/googleurl/GoogleURLNormalizer.hpp index 7fd3cfb..eaadde6 100644 --- a/src/modules/urlnormalizer/googleurl/GoogleURLNormalizer.hpp +++ b/src/modules/urlnormalizer/googleurl/GoogleURLNormalizer.hpp @@ -15,6 +15,6 @@ class GoogleURLNormalizer : public URLNormalizer { virtual URL normalize( const URL url, const std::string s ); }; -extern "C" ModuleRegistry<URLNormalizer> registry; +DECLARE_MODULE( URLNormalizer ) #endif diff --git a/src/modules/urlnormalizer/simpleurl/SimpleURLNormalizer.hpp b/src/modules/urlnormalizer/simpleurl/SimpleURLNormalizer.hpp index a037aff..5bd454c 100644 --- a/src/modules/urlnormalizer/simpleurl/SimpleURLNormalizer.hpp +++ b/src/modules/urlnormalizer/simpleurl/SimpleURLNormalizer.hpp @@ -18,6 +18,6 @@ class SimpleURLNormalizer : public URLNormalizer { void normalizePath( std::string &path ); }; -extern "C" ModuleRegistry<URLNormalizer> registry; +DECLARE_MODULE( URLNormalizer ) #endif |