blob: 3b0f8cc96bea59bc2c577111cf4a2575ee98d639 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.gecko.mozglue;
// Class that all classes with native methods extend from.
public abstract class JNIObject {
// Pointer that references the native object. This is volatile because it may be accessed
// by multiple threads simultaneously.
private volatile long mHandle;
// Dispose of any reference to a native object.
//
// If the native instance is destroyed from the native side, this should never be
// called, so you should throw an UnsupportedOperationException. If instead you
// want to destroy the native side from the Java end, make override this with
// a native call, and the right thing will be done in the native code.
protected abstract void disposeNative();
}
|