OLD | NEW |
1 #include "UserDefinedSubscription.h" | 1 #include "UserDefinedSubscription.h" |
2 | 2 |
3 int UserDefinedSubscription::filterTypeToDefaults[] = { | 3 int UserDefinedSubscription::filterTypeToDefaults[] = { |
4 UserDefinedSubscription::Defaults::BLOCKING, // UNKNOWN | 4 UserDefinedSubscription::Defaults::BLOCKING, // UNKNOWN |
5 UserDefinedSubscription::Defaults::BLOCKING, // INVALID | 5 UserDefinedSubscription::Defaults::BLOCKING, // INVALID |
6 UserDefinedSubscription::Defaults::BLOCKING, // COMMENT | 6 UserDefinedSubscription::Defaults::BLOCKING, // COMMENT |
7 UserDefinedSubscription::Defaults::BLOCKING, // BLOCKING | 7 UserDefinedSubscription::Defaults::BLOCKING, // BLOCKING |
8 UserDefinedSubscription::Defaults::WHITELIST, // WHITELIST | 8 UserDefinedSubscription::Defaults::WHITELIST, // WHITELIST |
9 UserDefinedSubscription::Defaults::ELEMHIDE, // ELEMHIDE | 9 UserDefinedSubscription::Defaults::ELEMHIDE, // ELEMHIDE |
10 UserDefinedSubscription::Defaults::ELEMHIDE, // ELEMHIDEEXCEPTION | 10 UserDefinedSubscription::Defaults::ELEMHIDE, // ELEMHIDEEXCEPTION |
11 UserDefinedSubscription::Defaults::ELEMHIDE, // ELEMHIDEEMULATION | 11 UserDefinedSubscription::Defaults::ELEMHIDE, // ELEMHIDEEMULATION |
12 }; | 12 }; |
13 | 13 |
14 UserDefinedSubscription::UserDefinedSubscription(const String& id) | 14 UserDefinedSubscription::UserDefinedSubscription(const String& id) |
15 : Subscription(Type::USERDEFINED, id), mDefaults(0) | 15 : Subscription(Type::USERDEFINED, id), mDefaults(0) |
16 { | 16 { |
17 } | 17 } |
18 | 18 |
19 bool UserDefinedSubscription::IsDefaultFor(const Filter* filter) const | 19 bool UserDefinedSubscription::IsDefaultFor(const Filter* filter) const |
20 { | 20 { |
21 return mDefaults & filterTypeToDefaults[filter->mType]; | 21 return mDefaults & filterTypeToDefaults[filter->mType]; |
22 } | 22 } |
23 | 23 |
24 void UserDefinedSubscription::MakeDefaultFor(const Filter* filter) | 24 void UserDefinedSubscription::MakeDefaultFor(const Filter* filter) |
25 { | 25 { |
26 mDefaults |= filterTypeToDefaults[filter->mType]; | 26 mDefaults |= filterTypeToDefaults[filter->mType]; |
27 } | 27 } |
28 | 28 |
| 29 void UserDefinedSubscription::InsertFilterAt(Filter* filter, unsigned pos) |
| 30 { |
| 31 if (pos >= mFilters.size()) |
| 32 mFilters.emplace_back(filter); |
| 33 else |
| 34 mFilters.emplace(mFilters.begin() + pos, filter); |
| 35 } |
| 36 |
| 37 bool UserDefinedSubscription::RemoveFilterAt(unsigned pos) |
| 38 { |
| 39 if (pos >= mFilters.size()) |
| 40 return false; |
| 41 |
| 42 mFilters.erase(mFilters.begin() + pos); |
| 43 return true; |
| 44 } |
| 45 |
29 OwnedString UserDefinedSubscription::Serialize() const | 46 OwnedString UserDefinedSubscription::Serialize() const |
30 { | 47 { |
31 OwnedString result(Subscription::Serialize()); | 48 OwnedString result(Subscription::Serialize()); |
32 if (mDefaults) | 49 if (mDefaults) |
33 { | 50 { |
34 result.append(u"defaults="_str); | 51 result.append(u"defaults="_str); |
35 if (mDefaults & Defaults::BLOCKING) | 52 if (mDefaults & Defaults::BLOCKING) |
36 result.append(u" blocking"_str); | 53 result.append(u" blocking"_str); |
37 if (mDefaults & Defaults::WHITELIST) | 54 if (mDefaults & Defaults::WHITELIST) |
38 result.append(u" whitelist"_str); | 55 result.append(u" whitelist"_str); |
39 if (mDefaults & Defaults::ELEMHIDE) | 56 if (mDefaults & Defaults::ELEMHIDE) |
40 result.append(u" elemhide"_str); | 57 result.append(u" elemhide"_str); |
41 result.append(u'\n'); | 58 result.append(u'\n'); |
42 } | 59 } |
43 return result; | 60 return result; |
44 } | 61 } |
OLD | NEW |