native.api

来自「linux下编程用 编译软件」· API 代码 · 共 82 行

API
82
字号
GNU Classpath Native State API - Version 0.99.1Written by Paul Fisher (rao@gnu.org)For all function calls, if an error occurs, such that `NULL' or anegative value is returned, it's very possible that an exception hasbeen thrown from within the function.  The exception is not cleared,and you are responsible for dealing with the thrown exception.High level API:For using the highlevel API, in all cases, OBJ must contain a `finalint' field called "native_state", which has been previously set to thevalue of java.lang.System.identityHashCode(OBJ).Function: struct state_table * init_state_table (JNIEnv *ENV,                                                  jclass CLAZZ)  Creates a state table of default size.  Returns `NULL' on error.Function: struct state_table * init_state_table_with_size (JNIEnv *ENV,                                                           jclass CLAZZ,                                                           jint SIZE)  Creates a state table, with a tablesize of SIZE.  SIZE should  always be prime.  Returns `NULL' on error.Function: jint set_state (JNIEnv *ENV, jobject OBJ,                           struct state_table *TABLE, void *STATE)  Associates STATE with OBJ, in TABLE.  Returns 0 on success, and a  negative value on failure.  STATE must not be `NULL'.  set_state is  reentrant, and calls to set_state/get_state/remove_state_slot may be  made at the same time.        Function: void * get_state (JNIEnv *ENV, jobject OBJ,                            struct state_table *TABLE)  Retrieves the state associated with OBJ, in TABLE.  Returns `NULL'  if no value is associated with OBJ, or if a failure occurs.  get_state is reentrant, and calls to  get_state/set_state/remove_state_slot may be made at the same time.Function: void * remove_state_slot (JNIEnv *ENV, jobject OBJ,                                    struct state_table *TABLE)  Removes the internal slot associated with OBJ, in TABLE.  Returns a  pointer to the C state if a state was associated with OBJ,  otherwise, `NULL' is returned.  After `remove_state' is called,  `get_state' passing OBJ, will result in `NULL' being returned.  This  function is generally called in the `finalize' method of a class.  remove_state_slot is reentrant, and calls to  get_state/set_state/remove_state_slot may be made at the same time.Low level API:Function: void set_state_oid (JNIEnv *ENV, jobject LOCK,                               struct state_table *TABLE,                               jint OBJECT_ID, void *STATE)  Associates STATE with OBJECT_ID, in TABLE.  STATE must not be  `NULL'.  On entering, a lock is obtained on LOCK.  On exiting, the  lock is released.Function: void * get_state_oid (JNIEnv *ENV, jobject LOCK,                                 struct state_table *TABLE,                                 jint OBJECT_ID)  Retrieves the state associated with OBJECT_ID, in TABLE.  Returns  `NULL' if no value is associated with OBJECT_ID.  On entering, a  lock is obtained on LOCK.  On exiting, the lock is released.Function: void * remove_state_oid (JNIEnv *ENV, jobject LOCK,                                    struct state_table *TABLE,                                    jint OBJECT_ID)  Removes the value associated with OBJECT_ID, in TABLE.  Returns a  pointer to the C state if a state was associated with OBJECT_ID,  otherwise, `NULL' is returned.  After `remove_state_oid' is called,  `get_state_oid' passing OBJECT_ID, will result in `NULL' being  returned.  On entering, a lock is obtained on LOCK.  On exiting, the  lock is released.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?