| LEFT | RIGHT | 
|---|
| (no file at all) |  | 
| 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-2016 Eyeo GmbH | 3  * Copyright (C) 2006-2016 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 public abstract class LogSystem implements Disposable | 20 public abstract class FileSystem implements Disposable | 
| 21 { | 21 { | 
| 22   private final Disposer disposer; | 22   private final Disposer disposer; | 
| 23   protected final long ptr; | 23   protected final long ptr; | 
| 24 | 24 | 
| 25   static | 25   static | 
| 26   { | 26   { | 
| 27     System.loadLibrary("adblockplus-jni"); | 27     System.loadLibrary("adblockplus-jni"); | 
| 28     registerNatives(); | 28     registerNatives(); | 
| 29   } | 29   } | 
| 30 | 30 | 
| 31   public LogSystem() | 31   public FileSystem() | 
| 32   { | 32   { | 
| 33     this.ptr = ctor(this); | 33     this.ptr = ctor(this); | 
| 34     this.disposer = new Disposer(this, new DisposeWrapper(this.ptr)); | 34     this.disposer = new Disposer(this, new DisposeWrapper(this.ptr)); | 
| 35   } | 35   } | 
| 36 | 36 | 
| 37   public static enum LogLevel | 37   public static class StatResult | 
| 38   { | 38   { | 
| 39     TRACE, LOG, INFO, WARN, ERROR; | 39     private boolean exists; | 
|  | 40 | 
|  | 41     public boolean exists() | 
|  | 42     { | 
|  | 43       return exists; | 
|  | 44     } | 
|  | 45 | 
|  | 46     private boolean isDirectory; | 
|  | 47 | 
|  | 48     public boolean isDirectory() | 
|  | 49     { | 
|  | 50       return isDirectory; | 
|  | 51     } | 
|  | 52 | 
|  | 53     private boolean isFile; | 
|  | 54 | 
|  | 55     public boolean isFile() | 
|  | 56     { | 
|  | 57       return isFile; | 
|  | 58     } | 
|  | 59 | 
|  | 60     private long lastModified; | 
|  | 61 | 
|  | 62     public long getLastModified() | 
|  | 63     { | 
|  | 64       return lastModified; | 
|  | 65     } | 
|  | 66 | 
|  | 67     public StatResult(boolean exists, boolean isDirectory, boolean isFile, long 
     lastModified) | 
|  | 68     { | 
|  | 69       this.exists = exists; | 
|  | 70       this.isDirectory = isDirectory; | 
|  | 71       this.isFile = isFile; | 
|  | 72       this.lastModified = lastModified; | 
|  | 73     } | 
| 40   } | 74   } | 
| 41 | 75 | 
| 42   public abstract void logCallback(LogLevel level, String message, String source
     ); | 76   public abstract String read(String path); | 
|  | 77 | 
|  | 78   public abstract void write(String path, String data); | 
|  | 79 | 
|  | 80   public abstract void move(String fromPath, String toPath); | 
|  | 81 | 
|  | 82   public abstract void remove(String path); | 
|  | 83 | 
|  | 84   public abstract StatResult stat(String path); | 
|  | 85 | 
|  | 86   public abstract String resolve(String path); | 
| 43 | 87 | 
| 44   @Override | 88   @Override | 
| 45   public void dispose() | 89   public void dispose() | 
| 46   { | 90   { | 
| 47     this.disposer.dispose(); | 91     this.disposer.dispose(); | 
| 48   } | 92   } | 
| 49 | 93 | 
| 50   private final static class DisposeWrapper implements Disposable | 94   private final static class DisposeWrapper implements Disposable | 
| 51   { | 95   { | 
| 52     private final long ptr; | 96     private final long ptr; | 
| 53 | 97 | 
| 54     public DisposeWrapper(final long ptr) | 98     public DisposeWrapper(final long ptr) | 
| 55     { | 99     { | 
| 56       this.ptr = ptr; | 100       this.ptr = ptr; | 
| 57     } | 101     } | 
| 58 | 102 | 
| 59     @Override | 103     @Override | 
| 60     public void dispose() | 104     public void dispose() | 
| 61     { | 105     { | 
| 62       dtor(this.ptr); | 106       dtor(this.ptr); | 
| 63     } | 107     } | 
| 64   } | 108   } | 
| 65 | 109 | 
| 66   private final static native void registerNatives(); | 110   private final static native void registerNatives(); | 
| 67 | 111 | 
| 68   private final static native long ctor(Object callbackObject); | 112   private final static native long ctor(Object callbackObject); | 
| 69 | 113 | 
| 70   private final static native void dtor(long ptr); | 114   private final static native void dtor(long ptr); | 
| 71 } | 115 } | 
| LEFT | RIGHT | 
|---|