diff options
Diffstat (limited to 'Examples/ruby/java')
-rw-r--r-- | Examples/ruby/java/Example.java | 29 | ||||
-rw-r--r-- | Examples/ruby/java/Makefile | 26 | ||||
-rw-r--r-- | Examples/ruby/java/example.i | 9 | ||||
-rw-r--r-- | Examples/ruby/java/runme.rb | 18 |
4 files changed, 82 insertions, 0 deletions
diff --git a/Examples/ruby/java/Example.java b/Examples/ruby/java/Example.java new file mode 100644 index 0000000..91ddb1a --- /dev/null +++ b/Examples/ruby/java/Example.java @@ -0,0 +1,29 @@ +public class Example { + public int mPublicInt; + + public Example() { + mPublicInt = 0; + } + + public Example(int IntVal) { + mPublicInt = IntVal; + } + + + public int Add(int a, int b) { + return (a+b); + } + + public float Add(float a, float b) { + return (a+b); + } + + public String Add(String a, String b) { + return (a+b); + } + + public Example Add(Example a, Example b) { + return new Example(a.mPublicInt + b.mPublicInt); + } +} + diff --git a/Examples/ruby/java/Makefile b/Examples/ruby/java/Makefile new file mode 100644 index 0000000..e525d88 --- /dev/null +++ b/Examples/ruby/java/Makefile @@ -0,0 +1,26 @@ +TOP = ../.. +SWIG = $(TOP)/../preinst-swig +CXXSRCS = +TARGET = example +INTERFACE = example.i +LIBS = -lm + +all:: Example.class + $(MAKE) -f $(TOP)/Makefile CXXSRCS='$(CXXSRCS)' SWIG='$(SWIG)' \ + TARGET='$(TARGET)' INTERFACE='$(INTERFACE)' CXX="gcj" \ + CXXSHARED="gcj -fpic -shared Example.class" LIBS="-lstdc++" DEFS='' ruby_cpp + + +clean:: + $(MAKE) -f $(TOP)/Makefile python_clean + rm -f *.class Example.h + +check: all + +run: + ruby runme.rb + +Example.class: Example.java + gcj -fPIC -C -c -g Example.java + gcjh Example + diff --git a/Examples/ruby/java/example.i b/Examples/ruby/java/example.i new file mode 100644 index 0000000..13d5b5e --- /dev/null +++ b/Examples/ruby/java/example.i @@ -0,0 +1,9 @@ +%module example +%include <cni.i> + +%{ +#include "Example.h" +%} + + +%include Example.h diff --git a/Examples/ruby/java/runme.rb b/Examples/ruby/java/runme.rb new file mode 100644 index 0000000..fc018b7 --- /dev/null +++ b/Examples/ruby/java/runme.rb @@ -0,0 +1,18 @@ +require 'example' + +Example.JvCreateJavaVM(nil) +Example.JvAttachCurrentThread(nil, nil) + +e1 = Example::Example.new(1) +e2 = Example::Example.new(2) + +print e1.Add(1,2),"\n" +print e1.Add(1.0,2.0),"\n" +e3 = e1.Add(e1,e2) +print e3.mPublicInt,"\n" + + +print e1.Add("1","2"),"\n" + +Example.JvDetachCurrentThread() + |