author | Chad Peckham <chad.peckham@nokia.com> |
Mon, 01 Feb 2010 18:25:22 -0600 | |
changeset 870 | cdb6d745cb05 |
permissions | -rw-r--r-- |
870
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
1 |
/** |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
2 |
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
3 |
* All rights reserved. |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
4 |
* This component and the accompanying materials are made available |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
5 |
* under the terms of the License "Eclipse Public License v1.0" |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
6 |
* which accompanies this distribution, and is available |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
7 |
* at the URL "http://www.eclipse.org/legal/epl-v10.html". |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
8 |
* |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
9 |
* Initial Contributors: |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
10 |
* Nokia Corporation - initial contribution. |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
11 |
* |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
12 |
* Contributors: |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
13 |
* |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
14 |
* Description: |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
15 |
* |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
16 |
*/ |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
17 |
package com.nokia.carbide.remoteconnections.discovery.pccs.pccsnative; |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
18 |
|
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
19 |
import com.sun.jna.Pointer; |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
20 |
import com.sun.jna.ptr.ByReference; |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
21 |
|
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
22 |
/** |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
23 |
* Opaque Pointer to API Handle used in some native APIs |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
24 |
* |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
25 |
*/ |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
26 |
public class LPAPIHANDLE extends ByReference { |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
27 |
|
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
28 |
public LPAPIHANDLE() { |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
29 |
this(null); |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
30 |
} |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
31 |
public LPAPIHANDLE(APIHANDLE h) { |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
32 |
super(Pointer.SIZE); |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
33 |
setValue(h); |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
34 |
} |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
35 |
public void setValue(APIHANDLE h) { |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
36 |
getPointer().setPointer(0, h != null ? h.getPointer() : null); |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
37 |
} |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
38 |
public APIHANDLE getValue() { |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
39 |
Pointer p = getPointer().getPointer(0); |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
40 |
if (p == null) |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
41 |
return null; |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
42 |
if (APIHANDLE.INVALID_HANDLE_VALUE.getPointer().equals(p)) |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
43 |
return APIHANDLE.INVALID_HANDLE_VALUE; |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
44 |
APIHANDLE h = new APIHANDLE(); |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
45 |
h.setPointer(p); |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
46 |
return h; |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
47 |
} |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
48 |
/** |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
49 |
* @param dataSize |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
50 |
*/ |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
51 |
public LPAPIHANDLE(int dataSize) { |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
52 |
super(dataSize); |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
53 |
// TODO Auto-generated constructor stub |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
54 |
} |
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
55 |
|
cdb6d745cb05
Made HANDLEs more generic. They all are derived from one type in APIs. Added opening/closing of UPAPI.
Chad Peckham <chad.peckham@nokia.com>
parents:
diff
changeset
|
56 |
} |