Using CNI on inner classes

Vaijayanthi Mala Suresh vaijayanthimalas@gmail.com
Thu Aug 13 07:18:00 GMT 2009


Hi,
I have an Test.java as shown below
public class Test {
 private native void natRegister(Inner obj);
 Inner myInnerClassObj;
 class Inner
 {
 private void printline()
 {
 System.out.printline("Prints from printline");
 }
 Inner()
 {
 }
 }
 public Test()
 {
 myInnerClassObj = new Inner();
 }
 public void register()
 {
	natRegister(myInnerClassObj);
 }
 public static void main(String [] args) {
 System.out.println("Hello from main");
 Test ht = new Test();
 ht.register();
 }
 }
I have the Test.cc defined as shown below
// This file is intended to give you a head start on implementing native
// methods using CNI.
// Be aware: running 'gcjh -stubs' once more for this class may
// overwrite any edits you have made to this file.
#include <gcj/cni.h>
#include <java/lang/UnsupportedOperationException.h>
#include "Test.h"
#include "Test$Inner.h"
void
Test::natRegister(::Test$Inner *innerObj)
{
 innerObj->printline();
}
I need to access the private method from the native code. This was
possible in JNI but it is not possible in CNI.
Can you please suggest me a solution for this using CNI.
Thanks
Mala


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /