aboutsummaryrefslogtreecommitdiff
path: root/Examples/java/funcptr/main.java
blob: cf81f92b4409f86120f938df4fa0d49c37793e38 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

public class main {

  static {
    try {
	System.loadLibrary("example");
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e);
      System.exit(1);
    }
  }

  public static void main(String argv[]) {


    int a = 37;
    int b = 42;

    // Now call our C function with a bunch of callbacks

    System.out.println( "Trying some C callback functions" );
    System.out.println( "    a        = " + a );
    System.out.println( "    b        = " + b );
    System.out.println( "    ADD(a,b) = " + example.do_op(a,b,example.ADD) );
    System.out.println( "    SUB(a,b) = " + example.do_op(a,b,example.SUB) );
    System.out.println( "    MUL(a,b) = " + example.do_op(a,b,example.MUL) );

    System.out.println( "Here is what the C callback function classes are called in Java" );
    System.out.println( "    ADD      = " + example.ADD.getClass().getName() );
    System.out.println( "    SUB      = " + example.SUB.getClass().getName() );
    System.out.println( "    MUL      = " + example.MUL.getClass().getName() );
  }
}