-static int cjni_read_one_plugin (JNIEnv *jvm_env, java_plugin_t *jp) /* {{{ */
-{
- int status;
-
- if ((jp == NULL)
- || ((jp->flags & CJNI_FLAG_ENABLED) == 0)
- || (jp->m_read == NULL))
- return (0);
-
- DEBUG ("java plugin: Calling: %s.Read()", jp->class_name);
-
- status = (*jvm_env)->CallIntMethod (jvm_env, jp->object_ptr,
- jp->m_read);
- if (status != 0)
- {
- ERROR ("java plugin: cjni_read_one_plugin: "
- "Calling `Read' on an `%s' object failed with status %i.",
- jp->class_name, status);
- return (-1);
- }
-
- return (0);
-} /* }}} int cjni_read_one_plugin */
-
-static int cjni_read_plugins (JNIEnv *jvm_env) /* {{{ */
-{
- size_t j;
-
- for (j = 0; j < java_plugins_num; j++)
- cjni_read_one_plugin (jvm_env, &java_plugins[j]);
-
- return (0);
-} /* }}} int cjni_read_plugins */
-
-static int cjni_read (void) /* {{{ */
-{
- JNIEnv *jvm_env;
- int status;
-
- if (jvm == NULL)
- {
- ERROR ("java plugin: cjni_read: jvm == NULL");
- return (-1);
- }
-
- jvm_env = cjni_thread_attach ();
- if (jvm_env == NULL)
- return (-1);
-
- cjni_read_plugins (jvm_env);
-
- status = cjni_thread_detach ();
- if (status != 0)
- return (-1);
-
- return (0);
-} /* }}} int cjni_read */
-