本文整理汇总了C++中KNI_DeclareHandle函数的典型用法代码示例。如果您正苦于以下问题:C++ KNI_DeclareHandle函数的具体用法?C++ KNI_DeclareHandle怎么用?C++ KNI_DeclareHandle使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了KNI_DeclareHandle函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Java_com_sun_midp_content_RegistryStore_getValues0
/**
* java call:
* private native String getValues0(String callerId, int searchBy);
*/
KNIEXPORT KNI_RETURNTYPE_OBJECT
Java_com_sun_midp_content_RegistryStore_getValues0(void) {
jsr211_field searchBy;
pcsl_string callerId = PCSL_STRING_NULL_INITIALIZER;
JSR211_RESULT_STRARRAY result = _JSR211_RESULT_INITIALIZER_;
KNI_StartHandles(1);
KNI_DeclareHandle(strObj); // String object
do {
KNI_GetParameterAsObject(1, strObj); // callerId
if (PCSL_STRING_OK != midp_jstring_to_pcsl_string(strObj, &callerId)) {
KNI_ThrowNew(midpOutOfMemoryError,
"RegistryStore_getValues0 no memory for string arguments");
break;
}
searchBy = (jsr211_field) KNI_GetParameterAsInt(2);
jsr211_get_all(&callerId, searchBy, &result);
} while (0);
pcsl_string_free(&callerId);
result2string((_JSR211_INTERNAL_RESULT_BUFFER_*)&result, strObj);
KNI_EndHandlesAndReturnObject(strObj);
}
示例2: KNIDECL
/* private native boolean nCheckFileExist ( String path ) ; */
KNIEXPORT KNI_RETURNTYPE_BOOLEAN
KNIDECL(com_sun_mmedia_protocol_FileDS_nCheckFileExist) {
#define MAX_FILENAME_SIZE 100
jboolean returnValue = KNI_FALSE;
jsize length;
jchar uFileName[MAX_FILENAME_SIZE + 1] = {0};
KNI_StartHandles(1);
KNI_DeclareHandle(pathHandle);
/*
KNI_GetParameterAsObject(1, pathHandle);
length = KNI_GetStringLength(pathHandle);
if (length < MAX_FILENAME_SIZE) {
KNI_GetStringRegion(pathHandle, 0, length, uFileName);
if (JAVACALL_OK == javacall_file_exist(uFileName, length)) {
returnValue = KNI_TRUE;
}
}
*/
KNI_EndHandles();
KNI_ReturnBoolean(returnValue);
}
示例3: KNIDECL
/**
* Adds a connection to the push registry.
* <p>
* Java declaration:
* <pre>
* add0([B)I
* </pre>
*
* @param connection The connection to add to the push registry
*
* @return <tt>0</tt> upon successfully adding the connection, otherwise
* <tt>-1</tt> if connection already exists
*/
KNIEXPORT KNI_RETURNTYPE_INT
KNIDECL(com_sun_midp_io_j2me_push_ConnectionRegistry_add0) {
char *szConn = NULL;
int connLen;
int ret = -1;
KNI_StartHandles(1);
KNI_DeclareHandle(conn);
KNI_GetParameterAsObject(1, conn);
connLen = KNI_GetArrayLength(conn);
szConn = midpMalloc(connLen);
if (szConn != NULL) {
KNI_GetRawArrayRegion(conn, 0, connLen, (jbyte*)szConn);
ret = pushadd(szConn);
midpFree(szConn);
}
if ((szConn == NULL) || (ret == -2)) {
KNI_ThrowNew(midpOutOfMemoryError, NULL);
}
KNI_EndHandles();
KNI_ReturnInt(ret);
}
示例4: Java_javax_microedition_khronos_egl_EGL10Impl__1eglInitialize
/* private native int _eglInitialize ( int display , int [ ] major_minor ) ; */
KNIEXPORT KNI_RETURNTYPE_INT
Java_javax_microedition_khronos_egl_EGL10Impl__1eglInitialize() {
jint display = KNI_GetParameterAsInt(1);
EGLint major, minor;
jint returnValue;
KNI_StartHandles(1);
KNI_DeclareHandle(major_minorHandle);
KNI_GetParameterAsObject(2, major_minorHandle);
returnValue = (jint) eglInitialize((EGLDisplay)display, &major, &minor);
#ifdef DEBUG
printf("eglInitialize(0x%x, major<-%d, minor<-%d) = %d\n",
display, major, minor, returnValue);
#endif
if ((returnValue == EGL_TRUE) && !KNI_IsNullHandle(major_minorHandle)) {
KNI_SetIntArrayElement(major_minorHandle, 0, major);
KNI_SetIntArrayElement(major_minorHandle, 1, minor);
}
KNI_EndHandles();
KNI_ReturnInt(returnValue);
}
示例5: Java_com_sun_midp_events_EventQueue_finalize
/**
* Native finalizer to reset the native peer event queue when
* the Isolate ends.
*/
KNIEXPORT KNI_RETURNTYPE_VOID
Java_com_sun_midp_events_EventQueue_finalize(void) {
jint queueId;
EventQueue* pEventQueue;
KNI_StartHandles(1);
KNI_DeclareHandle(thisObject);
KNI_GetThisPointer(thisObject);
SNI_BEGIN_RAW_POINTERS;
queueId = getEventQueuePtr(thisObject)->queueId;
SNI_END_RAW_POINTERS;
KNI_EndHandles();
if (queueId >= 0) {
resetEventQueue(queueId);
/* Mark queue as inactive */
GET_EVENT_QUEUE_BY_ID(pEventQueue, queueId);
pEventQueue->isActive = KNI_FALSE;
}
KNI_ReturnVoid();
}
示例6: Java_com_sun_midp_links_Link_init0
/**
* private native void init0(int sender, int receiver);
*/
KNIEXPORT KNI_RETURNTYPE_VOID
Java_com_sun_midp_links_Link_init0(void)
{
int sender;
int receiver;
rendezvous *rp;
KNI_StartHandles(1);
KNI_DeclareHandle(thisObj);
sender = KNI_GetParameterAsInt(1);
receiver = KNI_GetParameterAsInt(2);
KNI_GetThisPointer(thisObj);
rp = rp_create(sender, receiver);
if (rp == NULL) {
KNI_ThrowNew(midpOutOfMemoryError, NULL);
} else {
setNativePointer(thisObj, rp);
rp_incref(rp);
}
KNI_EndHandles();
KNI_ReturnVoid();
}
示例7: Java_javax_microedition_khronos_egl_EGL10Impl__1eglQueryContext
/* private native int _eglQueryContext ( int display , int ctx , int attribute , int [ ] value ) ; */
KNIEXPORT KNI_RETURNTYPE_INT
Java_javax_microedition_khronos_egl_EGL10Impl__1eglQueryContext() {
jint display = KNI_GetParameterAsInt(1);
jint ctx = KNI_GetParameterAsInt(2);
jint attribute = KNI_GetParameterAsInt(3);
EGLint value;
jint returnValue = EGL_FALSE;
KNI_StartHandles(1);
KNI_DeclareHandle(valueHandle);
KNI_GetParameterAsObject(4, valueHandle);
returnValue = (jint)eglQueryContext((EGLDisplay)display,
(EGLContext)ctx,
attribute,
&value);
#ifdef DEBUG
printf("eglQueryContext(0x%x, 0x%x, %d, value<-%d) = %d\n",
display, ctx, attribute, value, returnValue);
#endif
if ((returnValue == EGL_TRUE) && !KNI_IsNullHandle(valueHandle)) {
KNI_SetIntArrayElement(valueHandle, 0, value);
}
KNI_EndHandles();
KNI_ReturnInt(returnValue);
}
示例8: Java_com_sun_cldc_i18n_j2me_Conv_getHandler
/**
* Gets a handle to specific character encoding conversion routine.
* <p>
* Java declaration:
* <pre>
* getHandler(Ljava/lang/String;)I
* </pre>
*
* @param encoding character encoding
*
* @return identifier for requested handler, or <tt>-1</tt> if
* the encoding was not supported.
*/
KNIEXPORT KNI_RETURNTYPE_INT
Java_com_sun_cldc_i18n_j2me_Conv_getHandler() {
jint result = 0;
KNI_StartHandles(1);
KNI_DeclareHandle(str);
KNI_GetParameterAsObject(1, str);
if (!KNI_IsNullHandle(str)) {
int strLen = KNI_GetStringLength(str);
jchar* strBuf;
/* Instead of always multiplying the length by sizeof(jchar),
* we shift left by 1. This can be done because jchar has a
* size of 2 bytes.
*/
strBuf = (jchar*)midpMalloc(strLen<<1);
if (strBuf != NULL) {
KNI_GetStringRegion(str, 0, strLen, strBuf);
result = getLcConvMethodsID(strBuf, strLen);
midpFree(strBuf);
} else {
KNI_ThrowNew(midpOutOfMemoryError, NULL);
}
}
KNI_EndHandles();
KNI_ReturnInt(result);
}
示例9: Java_com_sun_cldc_i18n_j2me_Conv_sizeOfByteInUnicode
/**
* Gets the length of a specific converted string as an array of
* Unicode bytes.
* <p>
* Java declaration:
* <pre>
* sizeOfByteInUnicode(I[BII)I
* </pre>
*
* @param handler handle returned from getHandler
* @param b buffer of bytes to be converted
* @param offset offset into the provided buffer
* @param length length of data to be processed
*
* @return length of the converted string, or zero if the
* arguments were not valid
*/
KNIEXPORT KNI_RETURNTYPE_INT
Java_com_sun_cldc_i18n_j2me_Conv_sizeOfByteInUnicode() {
int length = KNI_GetParameterAsInt(4);
int offset = KNI_GetParameterAsInt(3);
int id = KNI_GetParameterAsInt(1);
char *buf;
jint result = 0;
KNI_StartHandles(1);
KNI_DeclareHandle(b);
KNI_GetParameterAsObject(2, b);
buf = (char*)midpMalloc(length);
if (buf == NULL) {
KNI_ThrowNew(midpOutOfMemoryError, NULL);
} else {
KNI_GetRawArrayRegion(b, offset, length, (jbyte*)buf);
result = lcConv[id]
? lcConv[id]->sizeOfByteInUnicode((const unsigned char *)buf,
offset, length)
: 0;
midpFree(buf);
}
KNI_EndHandles();
KNI_ReturnInt(result);
}
示例10: KNIDECL
KNIEXPORT KNI_RETURNTYPE_OBJECT
KNIDECL(javax_microedition_lcdui_TextFieldLFImpl_mallocToJavaChars) {
KNI_StartHandles(1);
KNI_DeclareHandle(temp);
KNI_ReleaseHandle(temp);
KNI_EndHandlesAndReturnObject(temp);
}
示例11: Java_com_sun_mmedia_DirectRecord_nSetLocator
/* private native int nSetLocator ( int handle , String locator ) ; */
KNIEXPORT KNI_RETURNTYPE_INT
Java_com_sun_mmedia_DirectRecord_nSetLocator() {
jint handle = KNI_GetParameterAsInt(1);
KNIPlayerInfo* pKniInfo = (KNIPlayerInfo*)handle;
jint locatorLength;
jchar* locator = NULL;
jint returnValue = 0;
javacall_result ret;
KNI_StartHandles(1);
KNI_DeclareHandle(locatorHandle);
KNI_GetParameterAsObject(2, locatorHandle);
locatorLength = KNI_GetStringLength(locatorHandle);
locator = MMP_MALLOC(locatorLength * sizeof(jchar));
if (locator) {
KNI_GetStringRegion(locatorHandle, 0, locatorLength, locator);
if (pKniInfo && pKniInfo->pNativeHandle) {
ret = javacall_media_recording_handled_by_native(pKniInfo->pNativeHandle, locator, locatorLength);
if (JAVACALL_INVALID_ARGUMENT == ret) {
returnValue = -1;
REPORT_ERROR1(LC_MMAPI, "[kni_record] Set recording location \
return JAVACALL_INVALID_ARGUMENT handle=%d\n", pKniInfo->pNativeHandle);
} else {
if (JAVACALL_OK == ret) {
示例12: Java_com_sun_midp_io_j2me_socket_Protocol_setSockOpt0
/**
* Sets the requested socket option.
* <p>
* Java declaration:
* <pre>
* setSockOpt(II)V
* </pre>
*
* @param option socket option to set
* @param value the value to set <tt>option</tt> to
*/
KNIEXPORT KNI_RETURNTYPE_VOID
Java_com_sun_midp_io_j2me_socket_Protocol_setSockOpt0(void) {
int option;
int value;
void *pcslHandle;
int status = PCSL_NET_INVALID;
value = (int)KNI_GetParameterAsInt(2);
option = (int)KNI_GetParameterAsInt(1);
KNI_StartHandles(1);
KNI_DeclareHandle(thisObject);
KNI_GetThisPointer(thisObject);
pcslHandle = (void *)(getMidpSocketProtocolPtr(thisObject)->handle);
KNI_EndHandles();
if (INVALID_HANDLE == pcslHandle) {
KNI_ThrowNew(midpIOException,
"invalid handle during socket::getPort");
} else {
status = pcsl_network_setsockopt(pcslHandle, option, value);
if (status == PCSL_NET_IOERROR) {
KNI_ThrowNew(midpIllegalArgumentException, "Unsupported Socket Option");
} else if (PCSL_NET_INVALID == status) {
KNI_ThrowNew(midpIllegalArgumentException, "Illegal Socket Option Value");
}
}
KNI_ReturnVoid();
}
示例13: Java_com_sun_midp_io_j2me_socket_Protocol_getPort0
/**
* Gets the requested port number.
* <p>
* Java declaration:
* <pre>
* getPort(Z)I
* </pre>
*
* @param local <tt>true</tt> to get the local port number, or
* <tt>false</tt> to get the remote port number
*
* @return the port number
*/
KNIEXPORT KNI_RETURNTYPE_INT
Java_com_sun_midp_io_j2me_socket_Protocol_getPort0(void) {
int local;
void *pcslHandle;
int port = 0;
int status = PCSL_NET_INVALID;
local = (int)KNI_GetParameterAsInt(1);
KNI_StartHandles(1);
KNI_DeclareHandle(thisObject);
KNI_GetThisPointer(thisObject);
pcslHandle = (void *)(getMidpSocketProtocolPtr(thisObject)->handle);
KNI_EndHandles();
if (INVALID_HANDLE == pcslHandle) {
KNI_ThrowNew(midpIOException,
"invalid handle during socket::getPort");
} else {
if (local == 1) {
status = pcsl_network_getlocalport(pcslHandle, &port);
} else {
status = pcsl_network_getremoteport(pcslHandle, &port);
}
if (status == PCSL_NET_IOERROR) {
KNI_ThrowNew(midpIOException, NULL);
}
}
KNI_ReturnInt((jint)port);
}
示例14: initializeSurfaceFieldIds
static jboolean
initializeSurfaceFieldIds(jobject objectHandle) {
static const FieldDesc surfaceFieldDesc[] = {
{ "nativePtr", "J" },
{ NULL, NULL }
};
jboolean retVal;
if (fieldIdsInitialized) {
return KNI_TRUE;
}
retVal = KNI_FALSE;
KNI_StartHandles(1);
KNI_DeclareHandle(classHandle);
KNI_GetObjectClass(objectHandle, classHandle);
if (initializeFieldIds(fieldIds, classHandle, surfaceFieldDesc)) {
retVal = KNI_TRUE;
fieldIdsInitialized = KNI_TRUE;
}
KNI_EndHandles();
return retVal;
}
示例15: Java_com_sun_cldc_i18n_j2me_Conv_sizeOfUnicodeInByte
/**
* Gets the length of a specific converted string as an array of
* Unicode characters.
* <p>
* Java declaration:
* <pre>
* sizeOfUnicodeInByte(I[CII)I
* </pre>
*
* @param handler handle returned from getHandler
* @param c buffer of characters to be converted
* @param offset offset into the provided buffer
* @param length length of data to be processed
*
* @return length of the converted string, or zero if the
* arguments were not valid
*/
KNIEXPORT KNI_RETURNTYPE_INT
Java_com_sun_cldc_i18n_j2me_Conv_sizeOfUnicodeInByte() {
int length = KNI_GetParameterAsInt(4);
int offset = KNI_GetParameterAsInt(3);
int id = KNI_GetParameterAsInt(1);
jchar *buf;
jint result = 0;
KNI_StartHandles(1);
KNI_DeclareHandle(c);
KNI_GetParameterAsObject(2, c);
/* Instead of always multiplying the length by sizeof(jchar),
* we shift left by 1. This can be done because jchar has a
* size of 2 bytes.
*/
buf = (jchar*)midpMalloc(length<<1);
if (buf == NULL) {
KNI_ThrowNew(midpOutOfMemoryError, NULL);
} else {
KNI_GetRawArrayRegion(c, offset<<1, length<<1, (jbyte*)buf);
result = lcConv[id]
? lcConv[id]->sizeOfUnicodeInByte((const jchar *)buf,
offset, length)
: 0;
midpFree(buf);
}
KNI_EndHandles();
KNI_ReturnInt(result);
}