| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 
| 3  * Copyright (C) 2006-present eyeo GmbH | 3  * Copyright (C) 2006-present eyeo GmbH | 
| 4  * | 4  * | 
| 5  * Adblock Plus is free software: you can redistribute it and/or modify | 5  * Adblock Plus is free software: you can redistribute it and/or modify | 
| 6  * it under the terms of the GNU General Public License version 3 as | 6  * it under the terms of the GNU General Public License version 3 as | 
| 7  * published by the Free Software Foundation. | 7  * published by the Free Software Foundation. | 
| 8  * | 8  * | 
| 9  * Adblock Plus is distributed in the hope that it will be useful, | 9  * Adblock Plus is distributed in the hope that it will be useful, | 
| 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
| 12  * GNU General Public License for more details. | 12  * GNU General Public License for more details. | 
| 13  * | 13  * | 
| 14  * You should have received a copy of the GNU General Public License | 14  * You should have received a copy of the GNU General Public License | 
| 15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 
| 16  */ | 16  */ | 
| 17 | 17 | 
| 18 #pragma once | 18 #pragma once | 
| 19 | 19 | 
| 20 #include <cstdint> | 20 #include <cstdint> | 
| 21 | 21 | 
| 22 #include "Subscription.h" | 22 #include "Subscription.h" | 
| 23 #include "../bindings/runtime.h" | 23 #include "../bindings/runtime.h" | 
| 24 | 24 | 
| 25 class DownloadableSubscription : public Subscription | 25 class DownloadableSubscription : public Subscription | 
| 26 { | 26 { | 
| 27 public: | 27 public: | 
|  | 28   static constexpr Type classType = Type::DOWNLOADABLE; | 
| 28   explicit DownloadableSubscription(const String& id); | 29   explicit DownloadableSubscription(const String& id); | 
| 29 | 30 | 
| 30   SUBSCRIPTION_PROPERTY(bool, mFixedTitle, SUBSCRIPTION_FIXEDTITLE, | 31   SUBSCRIPTION_PROPERTY(bool, mFixedTitle, SUBSCRIPTION_FIXEDTITLE, | 
| 31       GetFixedTitle, SetFixedTitle); | 32       GetFixedTitle, SetFixedTitle); | 
| 32   SUBSCRIPTION_STRING_PROPERTY(mHomepage, SUBSCRIPTION_HOMEPAGE, | 33   SUBSCRIPTION_STRING_PROPERTY(mHomepage, SUBSCRIPTION_HOMEPAGE, | 
| 33       GetHomepage, SetHomepage); | 34       GetHomepage, SetHomepage); | 
| 34   SUBSCRIPTION_PROPERTY(uint64_t, mLastCheck, SUBSCRIPTION_LASTCHECK, | 35   SUBSCRIPTION_PROPERTY(uint64_t, mLastCheck, SUBSCRIPTION_LASTCHECK, | 
| 35       GetLastCheck, SetLastCheck); | 36       GetLastCheck, SetLastCheck); | 
| 36   SUBSCRIPTION_PROPERTY(uint64_t, mHardExpiration, NONE, | 37   SUBSCRIPTION_PROPERTY(uint64_t, mHardExpiration, NONE, | 
| 37       GetHardExpiration, SetHardExpiration); | 38       GetHardExpiration, SetHardExpiration); | 
| 38   SUBSCRIPTION_PROPERTY(uint64_t, mSoftExpiration, NONE, | 39   SUBSCRIPTION_PROPERTY(uint64_t, mSoftExpiration, NONE, | 
| 39       GetSoftExpiration, SetSoftExpiration); | 40       GetSoftExpiration, SetSoftExpiration); | 
| 40   SUBSCRIPTION_PROPERTY(uint64_t, mLastDownload, SUBSCRIPTION_LASTDOWNLOAD, | 41   SUBSCRIPTION_PROPERTY(uint64_t, mLastDownload, SUBSCRIPTION_LASTDOWNLOAD, | 
| 41       GetLastDownload, SetLastDownload); | 42       GetLastDownload, SetLastDownload); | 
| 42   SUBSCRIPTION_STRING_PROPERTY(mDownloadStatus, SUBSCRIPTION_DOWNLOADSTATUS, | 43   SUBSCRIPTION_STRING_PROPERTY(mDownloadStatus, SUBSCRIPTION_DOWNLOADSTATUS, | 
| 43       GetDownloadStatus, SetDownloadStatus); | 44       GetDownloadStatus, SetDownloadStatus); | 
| 44   SUBSCRIPTION_PROPERTY(uint64_t, mLastSuccess, NONE, | 45   SUBSCRIPTION_PROPERTY(uint64_t, mLastSuccess, NONE, | 
| 45       GetLastSuccess, SetLastSuccess); | 46       GetLastSuccess, SetLastSuccess); | 
| 46   SUBSCRIPTION_PROPERTY(int, mErrorCount, SUBSCRIPTION_ERRORS, | 47   SUBSCRIPTION_PROPERTY(int, mErrorCount, SUBSCRIPTION_ERRORS, | 
| 47       GetErrorCount, SetErrorCount); | 48       GetErrorCount, SetErrorCount); | 
| 48   SUBSCRIPTION_PROPERTY(uint64_t, mDataRevision, NONE, | 49   SUBSCRIPTION_PROPERTY(uint64_t, mDataRevision, NONE, | 
| 49       GetDataRevision, SetDataRevision); | 50       GetDataRevision, SetDataRevision); | 
| 50   SUBSCRIPTION_STRING_PROPERTY(mRequiredVersion, NONE, | 51   SUBSCRIPTION_STRING_PROPERTY(mRequiredVersion, NONE, | 
| 51       GetRequiredVersion, SetRequiredVersion); | 52       GetRequiredVersion, SetRequiredVersion); | 
| 52   SUBSCRIPTION_PROPERTY(int, mDownloadCount, NONE, | 53   SUBSCRIPTION_PROPERTY(int, mDownloadCount, NONE, | 
| 53       GetDownloadCount, SetDownloadCount); | 54       GetDownloadCount, SetDownloadCount); | 
| 54 | 55 | 
| 55   OwnedString BINDINGS_EXPORTED Serialize() const; | 56   OwnedString BINDINGS_EXPORTED Serialize() const; | 
| 56 }; | 57 }; | 
| 57 |  | 
| 58 template<> |  | 
| 59 inline DownloadableSubscription* Subscription::As<DownloadableSubscription>() |  | 
| 60 { |  | 
| 61   if (mType != Type::DOWNLOADABLE) |  | 
| 62     return nullptr; |  | 
| 63 |  | 
| 64   return static_cast<DownloadableSubscription*>(this); |  | 
| 65 } |  | 
| OLD | NEW | 
|---|