Using CNI on inner classes

Vaijayanthi Mala Suresh <[email protected]>
Newsgroups gmane.comp.gcc.java.devel
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.