diff options
Diffstat (limited to 'src/template.hpp')
-rw-r--r-- | src/template.hpp | 23 |
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) |