#include "xml_jni.h" #include "xmlobj_jni.h" #include |
/*
* Class: xml
* Method: xml_create
* Signature: (Ljava/lang/String;)Lxml;
*/
static XML * _get_native (JNIEnv *env, jobject this);
static void _set_native (JNIEnv *env, jobject this, XML * xml);
static jstring _to_jstring (JNIEnv *env, char * str);
JNIEXPORT void JNICALL Java_org_wftk_xml_xml_1create (JNIEnv *env, jobject this, jstring name_j)
{
const char *name;
XML * xml;
// 1. Unpack string into UTF-8-encoded buffer (the Java string is of course in Unicode).
name = (*env)->GetStringUTFChars (env, name_j, 0);
// 2. Create the XML, then release the string buffer.
xml = xml_create (name);
(*env)->ReleaseStringUTFChars(env, name_j, name);
// 3. Put new XML into object.
_set_native (env, this, xml);
}
/*
* Class: xml
* Method: xml_free
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_org_wftk_xml_xml_1free (JNIEnv *env, jobject this)
{
xml_free (_get_native (env, this));
}
/*
* Class: xml
* Method: string
* Signature: ()Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_org_wftk_xml_string (JNIEnv *env, jobject this)
{
return (_to_jstring (env, xml_string (_get_native (env, this))));
}
|
static XML * _get_native (JNIEnv *env, jobject this)
{
jclass xml_class;
jfieldID fid;
jint nx;
xml_class = (*env)->GetObjectClass (env, this);
fid = (*env)->GetFieldID (env, xml_class, "_native_xml", "I");
nx = (*env)->GetIntField (env, this, fid);
return ((XML *) nx);
}
static void _set_native (JNIEnv *env, jobject this, XML * xml)
{
jclass xml_class;
jfieldID fid;
xml_class = (*env)->GetObjectClass (env, this);
fid = (*env)->GetFieldID (env, xml_class, "_native_xml", "I");
(*env)->SetIntField (env, this, fid, (long) xml);
}
static jstring _to_jstring (JNIEnv *env, char * str)
{
jstring jstr = (*env)->NewStringUTF(env, str);
xml_strfree (str); /* NOTE: using "free" here invokes the wrong heap's free, apparently. Muy importante: use the right free! */
return jstr;
}
|
JNIEXPORT jstring JNICALL Java_org_wftk_xml_stringhtml (JNIEnv *env, jobject this)
{
return (_to_jstring (env, xml_stringhtml (_get_native (env, this))));
}
JNIEXPORT jstring JNICALL Java_org_wftk_xml_stringcontent (JNIEnv *env, jobject this)
{
return (_to_jstring (env, xml_stringcontent (_get_native (env, this))));
}
JNIEXPORT jstring JNICALL Java_org_wftk_xml_stringcontenthtml (JNIEnv *env, jobject this)
{
return (_to_jstring (env, xml_stringcontenthtml (_get_native (env, this))));
}
|
/*
* Class: xml
* Method: attrval
* Signature: (Ljava/lang/String;)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_org_wftk_xml_attrval (JNIEnv *env, jobject this, jstring key_j)
{
const char *key;
jstring value;
key = (*env)->GetStringUTFChars (env, key_j, 0);
value = (*env)->NewStringUTF(env, xml_attrval (_get_native (env, this), key));
(*env)->ReleaseStringUTFChars(env, key_j, key);
return value;
}
/*
* Class: xml
* Method: set
* Signature: (Ljava/lang/String;Ljava/lang/String;)V
*/
JNIEXPORT void JNICALL Java_org_wftk_xml_set (JNIEnv *env, jobject this, jstring key_j, jstring value_j)
{
const char * key;
const char * value;
key = (*env)->GetStringUTFChars (env, key_j, 0);
value = (*env)->GetStringUTFChars (env, value_j, 0);
xml_set (_get_native (env, this), key, value);
(*env)->ReleaseStringUTFChars(env, key_j, key);
(*env)->ReleaseStringUTFChars(env, value_j, value);
}
|
JNIEXPORT void JNICALL Java_org_wftk_xml_unset (JNIEnv *env, jobject this, jstring key_j)
{
const char *key;
key = (*env)->GetStringUTFChars (env, key_j, 0);
xml_unset (_get_native (env, this), key);
(*env)->ReleaseStringUTFChars(env, key_j, key);
}
|
JNIEXPORT void JNICALL Java_org_wftk_xml_createtext (JNIEnv *env, jobject this, jstring content_j)
{
XML * xml;
const char * content = (*env)->GetStringUTFChars (env, content_j, 0);
xml = xml_createtext (content);
(*env)->ReleaseStringUTFChars(env, content_j, content);
_set_native (env, this, xml);
}
|
JNIEXPORT void JNICALL Java_org_wftk_xml_textcat (JNIEnv *env, jobject this, jstring content_j)
{
const char *content;
content = (*env)->GetStringUTFChars (env, content_j, 0);
xml_textcat (_get_native (env, this), content);
(*env)->ReleaseStringUTFChars(env, content_j, content);
}
|
JNIEXPORT void JNICALL Java_org_wftk_xml_xml_1prepend (JNIEnv *env, jobject this, jobject other)
{
xml_prepend (_get_native (env, this), _get_native (env, other));
}
JNIEXPORT void JNICALL Java_org_wftk_xml_xml_1prepend_1pretty (JNIEnv *env, jobject this, jobject other)
{
xml_prepend_pretty (_get_native (env, this), _get_native (env, other));
}
JNIEXPORT void JNICALL Java_org_wftk_xml_xml_1append (JNIEnv *env, jobject this, jobject other)
{
xml_append (_get_native (env, this), _get_native (env, other));
}
JNIEXPORT void JNICALL Java_org_wftk_xml_xml_1append_1pretty (JNIEnv *env, jobject this, jobject other)
{
xml_append_pretty (_get_native (env, this), _get_native (env, other));
}
|
JNIEXPORT jint JNICALL Java_org_wftk_xml_xml_1parent (JNIEnv *env, jobject this)
{
return ((jint) xml_parent (_get_native (env, this)));
}
|
JNIEXPORT void JNICALL Java_org_wftk_xml_attrcat (JNIEnv *env, jobject this, jstring key_j, jstring value_j)
{
const char * key;
const char * value;
key = (*env)->GetStringUTFChars (env, key_j, 0);
value = (*env)->GetStringUTFChars (env, value_j, 0);
xml_attrcat (_get_native (env, this), key, value);
(*env)->ReleaseStringUTFChars(env, key_j, key);
(*env)->ReleaseStringUTFChars(env, value_j, value);
}
JNIEXPORT jstring JNICALL Java_org_wftk_xml_name (JNIEnv *env, jobject this)
{
return (*env)->NewStringUTF(env, xml_name (_get_native (env, this)));
}
JNIEXPORT jboolean JNICALL Java_org_wftk_xml_is_1element (JNIEnv *env, jobject this)
{
return ((jboolean) xml_is_element (_get_native (env, this)));
}
JNIEXPORT jboolean JNICALL Java_org_wftk_xml_is_1a (JNIEnv *env, jobject this, jstring name_j)
{
const char *name;
jboolean value;
name = (*env)->GetStringUTFChars (env, name_j, 0);
value = (jboolean) xml_is (_get_native (env, this), name);
(*env)->ReleaseStringUTFChars(env, name_j, name);
return value;
}
|
JNIEXPORT jint JNICALL Java_org_wftk_xml_xml_1first (JNIEnv *env, jobject this) { return ((jint) xml_first (_get_native (env, this))); }
JNIEXPORT jint JNICALL Java_org_wftk_xml_xml_1firstelem (JNIEnv *env, jobject this) { return ((jint) xml_firstelem (_get_native (env, this))); }
JNIEXPORT jint JNICALL Java_org_wftk_xml_xml_1next (JNIEnv *env, jobject this) { return ((jint) xml_next (_get_native (env, this))); }
JNIEXPORT jint JNICALL Java_org_wftk_xml_xml_1nextelem (JNIEnv *env, jobject this) { return ((jint) xml_nextelem (_get_native (env, this))); }
JNIEXPORT jint JNICALL Java_org_wftk_xml_xml_1last (JNIEnv *env, jobject this) { return ((jint) xml_last (_get_native (env, this))); }
JNIEXPORT jint JNICALL Java_org_wftk_xml_xml_1lastelem (JNIEnv *env, jobject this) { return ((jint) xml_lastelem (_get_native (env, this))); }
JNIEXPORT jint JNICALL Java_org_wftk_xml_xml_1prev (JNIEnv *env, jobject this) { return ((jint) xml_prev (_get_native (env, this))); }
JNIEXPORT jint JNICALL Java_org_wftk_xml_xml_1prevelem (JNIEnv *env, jobject this) { return ((jint) xml_prevelem (_get_native (env, this))); }
|
JNIEXPORT jint JNICALL Java_org_wftk_xml_xml_1loc (JNIEnv *env, jobject this, jstring str)
{
const char *locator;
jint ret;
locator = (*env)->GetStringUTFChars (env, str, 0);
ret = (jint) xml_loc (_get_native (env, this), locator);
(*env)->ReleaseStringUTFChars (env, str, locator);
return ret;
}
|
JNIEXPORT void JNICALL Java_org_wftk_xml_xml_1copy (JNIEnv *env, jobject this, jobject other)
{
_set_native (env, this, xml_copy (_get_native (env, other)));
}
JNIEXPORT void JNICALL Java_org_wftk_xml_copyinto (JNIEnv *env, jobject this, jobject other)
{
xml_copyinto (_get_native (env, this), _get_native (env, other));
}
JNIEXPORT void JNICALL Java_org_wftk_xml_copyattrs (JNIEnv *env, jobject this, jobject other)
{
xml_copyattrs (_get_native (env, this), _get_native (env, other));
}
JNIEXPORT void JNICALL Java_org_wftk_xml_xml_1replace (JNIEnv *env, jobject this, jobject other)
{
xml_replace (_get_native (env, this), _get_native (env, other));
}
JNIEXPORT void JNICALL Java_org_wftk_xml_xml_1replacecontent (JNIEnv *env, jobject this, jobject other)
{
xml_replacecontent (_get_native (env, this), _get_native (env, other));
}
|
JNIEXPORT void JNICALL Java_org_wftk_xml_xml_1assemble (JNIEnv *env, jobject this, jobject start, jobject src)
{
_set_native (env, this, xml_assemble (_get_native (env, start), _get_native (env, src)));
}
|
/*
* Class: xml
* Method: attrlist
* Signature: ()[Ljava/lang/String;
*/
JNIEXPORT jobjectArray JNICALL Java_org_wftk_xml_attrlist (JNIEnv *env, jobject this)
{
}
/*
* Class: xml
* Method: elements
* Signature: ()[Lxml;
*/
JNIEXPORT jobjectArray JNICALL Java_org_wftk_xml_elements (JNIEnv *env, jobject this)
{
}
/*
* Class: xml
* Method: delete
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_org_wftk_xml_delete (JNIEnv *env, jobject this)
{
}
/*
* Class: xml
* Method: delete_pretty
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_org_wftk_xml_delete_1pretty (JNIEnv *env, jobject this)
{
}
/*
* Class: xml
* Method: replacewithcontent
* Signature: (Lxml;)V
*/
JNIEXPORT void JNICALL Java_org_wftk_xml_replacewithcontent (JNIEnv *env, jobject this, jobject other)
{
}
/*
* Class: xml
* Method: xml_insertafter
* Signature: (Lxml;)Lxml;
*/
JNIEXPORT jobject JNICALL Java_org_wftk_xml_xml_1insertafter (JNIEnv *env, jobject this, jobject other)
{
}
/*
* Class: xml
* Method: xml_insertbefore
* Signature: (Lxml;)Lxml;
*/
JNIEXPORT jobject JNICALL Java_org_wftk_xml_xml_1insertbefore (JNIEnv *env, jobject this, jobject other)
{
}
/*
* Class: xml
* Method: getloc
* Signature: ()Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_org_wftk_xml_getloc (JNIEnv *env, jobject this)
{
}
/*
* Class: xml
* Method: search
* Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lxml;
*/
JNIEXPORT jobject JNICALL Java_org_wftk_xml_search (JNIEnv *env, jobject this, jstring elem, jstring attr, jstring val)
{
}
/*
* Class: xml
* Method: search_all
* Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Lxml;
*/
JNIEXPORT jobjectArray JNICALL Java_org_wftk_xml_search_1all (JNIEnv *env, jobject this, jstring elem, jstring attr, jstring val)
{
}
/*
* Class: xmlobj
* Method: get
* Signature: (Ljava/lang/String;)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_org_wftk_xmlobj_get (JNIEnv *env, jobject this, jstring key)
{
}
/*
* Class: xmlobj
* Method: key
* Signature: ()Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_org_wftk_xmlobj_key (JNIEnv *env, jobject this)
{
}
/*
* Class: xmlobj
* Method: format
* Signature: ()Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_org_wftk_xmlobj_format (JNIEnv *env, jobject this, jstring format)
{
}
/*
* Class: xmlobj
* Method: set
* Signature: (Ljava/lang/String;Ljava/lang/String;)V
*/
JNIEXPORT void JNICALL Java_org_wftk_xmlobj_set (JNIEnv *env, jobject this, jstring key, jstring value)
{
}
/*
* Class: xmlobj
* Method: set_elem
* Signature: (Ljava/lang/String;Ljava/lang/String;)V
*/
JNIEXPORT void JNICALL Java_org_wftk_xmlobj_set_1elem (JNIEnv *env, jobject this, jstring key, jstring value)
{
}
/*
* Class: xmlobj
* Method: diff
* Signature: (Lxmlobj;)Lxmlobj;
*/
JNIEXPORT jobject JNICALL Java_org_wftk_xmlobj_diff (JNIEnv *env, jobject this, jobject other)
{
}
/*
* Class: xmlobj
* Method: undiff
* Signature: (Lxmlobj;)Lxmlobj;
*/
JNIEXPORT jobject JNICALL Java_org_wftk_xmlobj_undiff (JNIEnv *env, jobject this, jobject other)
{
}
/*
* Class: xmlobj
* Method: patch
* Signature: (Lxmlobj;)Lxmlobj;
*/
JNIEXPORT jobject JNICALL Java_org_wftk_xmlobj_patch (JNIEnv *env, jobject this, jobject other)
{
}
/*
* Class: xmlobj
* Method: list_sort
* Signature: ([Lxml;Lxml;Ljava/lang/String;)Lxml;
*/
JNIEXPORT jobject JNICALL Java_org_wftk_xmlobj_list_1sort (JNIEnv *env, jclass cl, jobjectArray list, jobject defn, jstring order)
{
}
|
| This code and documentation are released under the terms of the GNU license. They are copyright (c) 2001-2003, Vivtek. All rights reserved except those explicitly granted under the terms of the GNU license. This presentation was prepared with LPML. Try literate programming. You'll like it. |