summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Baumann <abaumann@yahoo.com>2012-08-07 09:03:57 +0200
committerAndreas Baumann <abaumann@yahoo.com>2012-08-07 09:03:57 +0200
commit6e2469e60215d7d3d2557ce74370ff32d4442d7c (patch)
treecd4a9c46b9518f8c055cd33f4c58a9e71626df59
parente41aee814d41ada4bb9651f8837d1d7b272820f9 (diff)
downloadcrawler-6e2469e60215d7d3d2557ce74370ff32d4442d7c.tar.gz
crawler-6e2469e60215d7d3d2557ce74370ff32d4442d7c.tar.bz2
more reduction of module code and fixed dependency problem when building
-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