From a1cf0999a24b5457f4e384409b7153e608f5637d Mon Sep 17 00:00:00 2001 From: Martin Oberhuber < martin.oberhuber@windriver.com> Date: Thu, 10 Apr 2008 01:27:09 +0000 Subject: [PATCH] [226280][apidoc][wince] Provide better javadoc for org.eclipse.tm.rapi.* --- .../src/org/eclipse/tm/rapi/IRapiDesktop.java | 3 +- .../src/org/eclipse/tm/rapi/IRapiDevice.java | 1 + .../org/eclipse/tm/rapi/IRapiEnumDevices.java | 1 + .../src/org/eclipse/tm/rapi/IRapiSession.java | 1 + .../src/org/eclipse/tm/rapi/IUnknown.java | 1 + .../src/org/eclipse/tm/rapi/Rapi.java | 37 +++++++++++++++++++ 6 files changed, 43 insertions(+), 1 deletion(-) diff --git a/wince/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiDesktop.java b/wince/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiDesktop.java index 0b983fefb08..d8f8374e2c6 100644 --- a/wince/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiDesktop.java +++ b/wince/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiDesktop.java @@ -14,8 +14,9 @@ import org.eclipse.tm.internal.rapi.RapiDesktop; /** * This class is used to find connected WinCE-based remote devices. - *

Use IRapiDesktop.getInstance() to obtain an instance. + *

Use {@link IRapiDesktop#getInstance()} to obtain an instance. * + * @noextend This class is not intended to be subclassed by clients. * @author Radoslav Gerganov */ public abstract class IRapiDesktop extends IUnknown { diff --git a/wince/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiDevice.java b/wince/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiDevice.java index 4c5d9be0737..a7d0c670095 100644 --- a/wince/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiDevice.java +++ b/wince/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiDevice.java @@ -13,6 +13,7 @@ package org.eclipse.tm.rapi; /** * This class represents a connected WinCE-based remote device. * + * @noextend This class is not intended to be subclassed by clients. * @author Radoslav Gerganov */ public abstract class IRapiDevice extends IUnknown { diff --git a/wince/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiEnumDevices.java b/wince/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiEnumDevices.java index f3a33704a55..8c0292281e3 100644 --- a/wince/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiEnumDevices.java +++ b/wince/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiEnumDevices.java @@ -15,6 +15,7 @@ package org.eclipse.tm.rapi; * remote devices which are represented by IRapiDevice * objects. * + * @noextend This class is not intended to be subclassed by clients. * @author Radoslav Gerganov */ public abstract class IRapiEnumDevices extends IUnknown { diff --git a/wince/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiSession.java b/wince/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiSession.java index 8268f3ec266..1c810d3e7b8 100644 --- a/wince/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiSession.java +++ b/wince/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IRapiSession.java @@ -14,6 +14,7 @@ package org.eclipse.tm.rapi; * This class is used to perform Remote API 2 operations on a connected * WinCE-based remote device. * + * @noextend This class is not intended to be subclassed by clients. * @author Radoslav Gerganov */ public abstract class IRapiSession extends IUnknown { diff --git a/wince/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IUnknown.java b/wince/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IUnknown.java index c79a87f082c..6eb39791aa0 100644 --- a/wince/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IUnknown.java +++ b/wince/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/IUnknown.java @@ -13,6 +13,7 @@ package org.eclipse.tm.rapi; /** * Java wrapper for the native IUnknown interface. * + * @noextend This class is not intended to be subclassed by clients. * @author Radoslav Gerganov */ public abstract class IUnknown { diff --git a/wince/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/Rapi.java b/wince/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/Rapi.java index e5a2b870688..0652a319c11 100644 --- a/wince/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/Rapi.java +++ b/wince/org.eclipse.tm.rapi/src/org/eclipse/tm/rapi/Rapi.java @@ -14,6 +14,7 @@ package org.eclipse.tm.rapi; * This class provides access to some native Win32 APIs and constants. * * @noextend This class is not intended to be subclassed by clients. + * @noinstantiate This class is not intended to be instantiated by clients. * @author Radoslav Gerganov */ public final class Rapi { @@ -79,6 +80,29 @@ public final class Rapi { public static final int COINIT_DISABLE_OLE1DDE = 0x4; public static final int COINIT_SPEED_OVER_MEMORY = 0x8; + /** + * Initializes the library, the clients must call this method before any + * other. The meaning of the init parameter and the returned + * value is platform dependent. On Win32 platforms this method is directly + * mapped to CoInitializeEx. + * + * @param init on Win32 it is either {@link Rapi#COINIT_APARTMENTTHREADED} + * or {@link Rapi#COINIT_MULTITHREADED} + * @return on Win32 this is the returned value from + * CoInitializeEx + */ + public static final int initialize(int init) { + return CoInitializeEx(0, init); + } + + /** + * Uninitializes the library, the clients must call this method last to free any allocated resources. + * This method is platform dependent, on Win32 it is directly mapped to CoUninitialize. + */ + public static final void uninitialize() { + CoUninitialize(); + } + /** * Initializes the COM library. */ @@ -89,6 +113,19 @@ public final class Rapi { */ public static final native void CoUninitialize(); + /** + * Sets the first element of the specified array with the address of a newly + * instantiated IRAPIDesktop native interface. + * @param pIRAPIDesktop an array with one element + * @return {@link Rapi#NOERROR} if the function succeeds; otherwise an error code + */ final static native int CreateRapiDesktop(int[] pIRAPIDesktop); + + + /** + * Invokes the Release method of the IUnkonwn object + * having the specified address. + * @param addr the address of the IUnknown object + */ final static native void ReleaseIUnknown(int addr); }