| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 /* | 
|  | 2  * This file is part of Adblock Plus <http://adblockplus.org/>, | 
|  | 3  * Copyright (C) 2006-2014 Eyeo GmbH | 
|  | 4  * | 
|  | 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 | 
|  | 7  * published by the Free Software Foundation. | 
|  | 8  * | 
|  | 9  * Adblock Plus is distributed in the hope that it will be useful, | 
|  | 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
|  | 12  * GNU General Public License for more details. | 
|  | 13  * | 
|  | 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/>. | 
|  | 16  */ | 
|  | 17 | 
|  | 18 package org.adblockplus.libadblockplus; | 
|  | 19 | 
|  | 20 import java.util.List; | 
|  | 21 | 
|  | 22 import com.github.rjeschke.neetutils.collections.Tuple; | 
|  | 23 import com.github.rjeschke.neetutils.dispose.Disposable; | 
|  | 24 import com.github.rjeschke.neetutils.dispose.Disposer; | 
|  | 25 | 
|  | 26 public abstract class WebRequest implements Disposable | 
|  | 27 { | 
|  | 28   private final Disposer disposer; | 
|  | 29   protected final long ptr; | 
|  | 30 | 
|  | 31   static | 
|  | 32   { | 
|  | 33     System.loadLibrary("adblockplus-jni"); | 
|  | 34     registerNatives(); | 
|  | 35   } | 
|  | 36 | 
|  | 37   public WebRequest() | 
|  | 38   { | 
|  | 39     this.ptr = ctor(this); | 
|  | 40     this.disposer = new Disposer(this, new DisposeWrapper(this.ptr)); | 
|  | 41   } | 
|  | 42 | 
|  | 43   public abstract ServerResponse httpGET(String url, List<Tuple<String, String>>
     headers); | 
|  | 44 | 
|  | 45   @Override | 
|  | 46   public void dispose() | 
|  | 47   { | 
|  | 48     this.disposer.dispose(); | 
|  | 49   } | 
|  | 50 | 
|  | 51   private final static class DisposeWrapper implements Disposable | 
|  | 52   { | 
|  | 53     private final long ptr; | 
|  | 54 | 
|  | 55     public DisposeWrapper(final long ptr) | 
|  | 56     { | 
|  | 57       this.ptr = ptr; | 
|  | 58     } | 
|  | 59 | 
|  | 60     @Override | 
|  | 61     public void dispose() | 
|  | 62     { | 
|  | 63       dtor(this.ptr); | 
|  | 64     } | 
|  | 65   } | 
|  | 66 | 
|  | 67   private final static native void registerNatives(); | 
|  | 68 | 
|  | 69   private final static native long ctor(Object callbackObject); | 
|  | 70 | 
|  | 71   private final static native void dtor(long ptr); | 
|  | 72 } | 
| OLD | NEW | 
|---|