summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/GNUmakefile2
-rw-r--r--src/ModuleRegistry.hpp5
-rw-r--r--src/modules/urlnormalizer/googleurl/GoogleURLNormalizer.hpp2
-rw-r--r--src/modules/urlnormalizer/simpleurl/SimpleURLNormalizer.hpp2
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