diff options
| author | lethality <lethality@anope.org> | 2012-02-23 00:04:36 +0000 |
|---|---|---|
| committer | lethality <lethality@anope.org> | 2012-02-23 00:04:36 +0000 |
| commit | f01aab5f9bf5c14162438d1707e6e6cd9730c703 (patch) | |
| tree | 4df360cd61e7dd1fd749d90e9dbe9e3cf1d739af /include/regexpr.h | |
| parent | 826de43724d4584f9150a1fb8cebe8f49d9431a7 (diff) | |
| parent | 3850b073ddf610415de54dced9ff134397779676 (diff) | |
Merge branch '1.9' of ssh://anope.git.sf.net/gitroot/anope/anope into 1.9
Diffstat (limited to 'include/regexpr.h')
| -rw-r--r-- | include/regexpr.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/include/regexpr.h b/include/regexpr.h new file mode 100644 index 000000000..a333c7e1b --- /dev/null +++ b/include/regexpr.h @@ -0,0 +1,47 @@ +/* + * + * (C) 2003-2012 Anope Team + * Contact us at team@anope.org + * + * Please read COPYING and README for further details. + * + * Based on the original code of Epona by Lara. + * Based on the original code of Services by Andy Church. + * + */ + +#ifndef REGEXPR_H +#define REGEXPR_H + +#include "services.h" +#include "anope.h" +#include "service.h" + +class RegexException : public CoreException +{ + public: + RegexException(const Anope::string &reason = "") : CoreException(reason) { } + + virtual ~RegexException() throw() { } +}; + +class CoreExport Regex +{ + Anope::string expression; + protected: + Regex(const Anope::string &expr) : expression(expr) { } + public: + virtual ~Regex() { } + const Anope::string &GetExpression() { return expression; } + virtual bool Matches(const Anope::string &str) = 0; +}; + +class CoreExport RegexProvider : public Service +{ + public: + RegexProvider(Module *o, const Anope::string &n) : Service(o, "Regex", n) { } + virtual Regex *Compile(const Anope::string &) = 0; +}; + +#endif // REGEXPR_H + |
