• Post Reply Bookmark Topic Watch Topic
  • New Topic

how to invoke HttpRequest from a C code?  RSS feed

 
Arun Boraiah
Ranch Hand
Posts: 233
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
how to invoke HttpRequest from a C code?
 
Cindy Glass
"The Hood"
Sheriff
Posts: 8521
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Using some JNI.
See:
Lesson: Interacting with Java from the Native Side
The JNI offers a set of standard interface functions. Using these interface functions, you can call JNI functions from your native method code to do such things as access and manipulate Java objects, release Java objects, create new objects, call Java methods, and so on.
This section shows you how to use JNI functions from a native method. Each example consists of a program written in Java that calls various native methods implemented in the C programming language. The native methods, in turn, may call JNI functions to access the Java objects.
 
Vijayakumar Arya
Ranch Hand
Posts: 76
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
Do you have JNI experience, just go through the tutorial available with the API documentation of JDK.
See the sample code that illustrates how to invoke static method test(int a) in the Main class.
You have to Find the class and instantiate and then invoke any methods of it.
--------------------------------------------------
Code:
-----
#include <jni.h> /* where everything is defined */

...

JavaVM *jvm; /* denotes a Java VM */
JNIEnv *env; /* pointer to native method interface */

JDK1_1InitArgs vm_args; /* JDK 1.1 VM initialization arguments */

vm_args.version = 0x00010001; /* New in 1.1.2: VM version */
/* Get the default initialization arguments and set the class
* path */
JNI_GetDefaultJavaVMInitArgs(&vm_args);
vm_args.classpath = ...;

/* load and initialize a Java VM, return a JNI interface
* pointer in env */
JNI_CreateJavaVM(&jvm, &env, &vm_args);

/* invoke the Main.test method using the JNI */
jclass cls = env->FindClass("Main");
jmethodID mid = env->GetStaticMethodID(cls, "test", "(I)V");
env->CallStaticVoidMethod(cls, mid, 100);

/* We are done. */
jvm->DestroyJavaVM();
--------------------------------------------------
Hope this helps.
regards,
vijay.
 
Consider Paul's rocket mass heater.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!