summaryrefslogtreecommitdiff
path: root/src/template.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/template.hpp')
-rw-r--r--src/template.hpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/template.hpp b/src/template.hpp
index 3aa0003..2bd9811 100644
--- a/src/template.hpp
+++ b/src/template.hpp
@@ -35,9 +35,30 @@ class name : public RuleBase \
\
namespace \
{ \
- name instance; \
+ name instance##name; \
} \
+#define registerRuleExt(name, ext) \
+class name : public RuleBase \
+{ \
+ public: \
+ name() \
+ { \
+ setName(#name); \
+ addMask(ext); \
+ } \
+\
+ void init(); \
+\
+ void parseLine(const std::string &data); \
+}; \
+\
+namespace \
+{ \
+ name instance##name; \
+} \
+
+
#define constructRule(name) name::name()
#define initRule(name) void name::init()
#define parseLineRule(name) void name::parseLine(const std::string &data)