| Index: include/AdblockPlus/JsEngine.h | 
| diff --git a/include/AdblockPlus/JsEngine.h b/include/AdblockPlus/JsEngine.h | 
| index 3f43388620da169d6b457b4e8ef35caaadea1605..002773a66e6826f8d01002b721ed16dc91422c93 100644 | 
| --- a/include/AdblockPlus/JsEngine.h | 
| +++ b/include/AdblockPlus/JsEngine.h | 
| @@ -88,6 +88,12 @@ namespace AdblockPlus | 
| typedef std::function<void(JsValueList& params)> EventCallback; | 
|  | 
| /** | 
| +    * Callback function returning false when current connection is not allowed | 
| +    * e.g. because it is a metered connection. | 
| +    */ | 
| +    typedef std::function<bool()> IsConnectionAllowedCallback; | 
| + | 
| +    /** | 
| * Maps events to callback functions. | 
| */ | 
| typedef std::map<std::string, EventCallback> EventMap; | 
| @@ -222,6 +228,19 @@ namespace AdblockPlus | 
| void SetWebRequest(WebRequestPtr val); | 
|  | 
| /** | 
| +    * Registers the callback function to check whether current connection is | 
| +    * allowed for network requests. | 
| +    * @param callback callback function. | 
| +    */ | 
| +    void SetIsConnectionAllowedCallback(const IsConnectionAllowedCallback& callback); | 
| + | 
| +    /** | 
| +     * Checks whether current connection is allowed. If | 
| +     * IsConnectionAllowedCallback is not set then then it returns true. | 
| +     */ | 
| +    bool IsConnectionAllowed(); | 
| + | 
| +    /** | 
| * @see `SetLogSystem()`. | 
| */ | 
| LogSystemPtr GetLogSystem(); | 
| @@ -264,6 +283,7 @@ namespace AdblockPlus | 
| LogSystemPtr logSystem; | 
| std::unique_ptr<v8::Persistent<v8::Context>> context; | 
| EventMap eventCallbacks; | 
| +    IsConnectionAllowedCallback isConnectionAllowed; | 
| }; | 
| } | 
|  | 
|  |