01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17: /**
18: * @author Sergey V. Kuksenko
19: * @version $Revision$
20: */package org.apache.harmony.awt.nativebridge;
21:
22: /**
23: * This class is base class for all generated wrappers for native libraries.
24: * Contains common internals methods.
25: *
26: */
27: public abstract class BasicLibWrapper {
28:
29: protected static NativeBridge nb = NativeBridge.getInstance();
30:
31: protected static long getAddr(VoidPointer ptr) {
32: return ptr == null ? 0 : ptr.internalLongLock();
33: }
34:
35: protected static long getAddrShort(VoidPointer ptr) {
36: return ptr == null ? 0 : ptr.internalShortLock();
37: }
38:
39: protected static void freeAddr(VoidPointer ptr) {
40: if (ptr != null) {
41: ptr.internalRelease();
42: }
43: }
44:
45: protected static void freeAddrNoCopy(VoidPointer ptr) {
46: if (ptr != null) {
47: ptr.internalReleaseNoCopy();
48: }
49: }
50:
51: }
|