| OLD | NEW | 
|   1 /* |   1 /* | 
|   2  * This file is part of Adblock Plus <http://adblockplus.org/>, |   2  * This file is part of Adblock Plus <http://adblockplus.org/>, | 
|   3  * Copyright (C) 2006-2014 Eyeo GmbH |   3  * Copyright (C) 2006-2014 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 package org.adblockplus.libadblockplus; |  18 package org.adblockplus.libadblockplus; | 
|  19  |  19  | 
|  20 import java.util.List; |  20 import java.util.List; | 
|  21  |  21  | 
|  22 import com.github.rjeschke.neetutils.collections.Tuple; |  | 
|  23 import com.github.rjeschke.neetutils.dispose.Disposable; |  22 import com.github.rjeschke.neetutils.dispose.Disposable; | 
|  24 import com.github.rjeschke.neetutils.dispose.Disposer; |  23 import com.github.rjeschke.neetutils.dispose.Disposer; | 
|  25  |  24  | 
|  26 public abstract class WebRequest implements Disposable |  25 public abstract class WebRequest implements Disposable | 
|  27 { |  26 { | 
|  28   private final Disposer disposer; |  27   private final Disposer disposer; | 
|  29   protected final long ptr; |  28   protected final long ptr; | 
|  30  |  29  | 
|  31   static |  30   static | 
|  32   { |  31   { | 
|  33     System.loadLibrary("adblockplus-jni"); |  32     System.loadLibrary("adblockplus-jni"); | 
|  34     registerNatives(); |  33     registerNatives(); | 
|  35   } |  34   } | 
|  36  |  35  | 
|  37   public WebRequest() |  36   public WebRequest() | 
|  38   { |  37   { | 
|  39     this.ptr = ctor(this); |  38     this.ptr = ctor(this); | 
|  40     this.disposer = new Disposer(this, new DisposeWrapper(this.ptr)); |  39     this.disposer = new Disposer(this, new DisposeWrapper(this.ptr)); | 
|  41   } |  40   } | 
|  42  |  41  | 
|  43   public abstract ServerResponse httpGET(String url, List<Tuple<String, String>>
     headers); |  42   public abstract ServerResponse httpGET(String url, List<HeaderEntry> headers); | 
|  44  |  43  | 
|  45   @Override |  44   @Override | 
|  46   public void dispose() |  45   public void dispose() | 
|  47   { |  46   { | 
|  48     this.disposer.dispose(); |  47     this.disposer.dispose(); | 
|  49   } |  48   } | 
|  50  |  49  | 
|  51   private final static class DisposeWrapper implements Disposable |  50   private final static class DisposeWrapper implements Disposable | 
|  52   { |  51   { | 
|  53     private final long ptr; |  52     private final long ptr; | 
|  54  |  53  | 
|  55     public DisposeWrapper(final long ptr) |  54     public DisposeWrapper(final long ptr) | 
|  56     { |  55     { | 
|  57       this.ptr = ptr; |  56       this.ptr = ptr; | 
|  58     } |  57     } | 
|  59  |  58  | 
|  60     @Override |  59     @Override | 
|  61     public void dispose() |  60     public void dispose() | 
|  62     { |  61     { | 
|  63       dtor(this.ptr); |  62       dtor(this.ptr); | 
|  64     } |  63     } | 
|  65   } |  64   } | 
|  66  |  65  | 
|  67   private final static native void registerNatives(); |  66   private final static native void registerNatives(); | 
|  68  |  67  | 
|  69   private final static native long ctor(Object callbackObject); |  68   private final static native long ctor(Object callbackObject); | 
|  70  |  69  | 
|  71   private final static native void dtor(long ptr); |  70   private final static native void dtor(long ptr); | 
|  72 } |  71 } | 
| OLD | NEW |