Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: compiled/filter/Filter.h

Issue 29574591: Issue 5258 - Implement Filter::As<>() method to make working with filters easier from C++ code (Closed) Base URL: https://hg.adblockplus.org/adblockpluscore
Patch Set: Created Oct. 12, 2017, 12:13 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: compiled/filter/Filter.h
===================================================================
--- a/compiled/filter/Filter.h
+++ b/compiled/filter/Filter.h
@@ -30,32 +30,37 @@ protected:
OwnedString mText;
public:
enum Type
{
UNKNOWN = 0,
INVALID = 1,
COMMENT = 2,
- BLOCKING = 3,
- WHITELIST = 4,
- ELEMHIDE = 5,
- ELEMHIDEEXCEPTION = 6,
- ELEMHIDEEMULATION = 7,
- VALUE_COUNT = 8
+ ACTIVE = 4,
+ REGEXP = ACTIVE | 8,
+ BLOCKING = REGEXP | 16,
+ WHITELIST = REGEXP | 32,
+ ELEMHIDEBASE = ACTIVE | 64,
+ ELEMHIDE = ELEMHIDEBASE | 128,
+ ELEMHIDEEXCEPTION = ELEMHIDEBASE | 256,
+ ELEMHIDEEMULATION = ELEMHIDEBASE | 512
};
explicit Filter(Type type, const String& text);
~Filter();
Type mType;
const String& BINDINGS_EXPORTED GetText() const
{
return mText;
}
OwnedString BINDINGS_EXPORTED Serialize() const;
static Filter* BINDINGS_EXPORTED FromText(DependentString& text);
+
+ template<typename T>
+ T* As();
};
typedef intrusive_ptr<Filter> FilterPtr;

Powered by Google App Engine
This is Rietveld