annotate dbus-d-javatests/jsrc/dbustest/DBusTester.java @ 6:963d271f7c25

disabled event stuff, to have working example
author Frank Benoit <benoit@tionex.de>
date Sun, 28 Oct 2007 19:35:38 +0100
parents 7c2c75740370
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
1 package dbustest;
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
2
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
3 import org.freedesktop.dbus.DirectConnection;
5
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
4 import org.freedesktop.dbus.UInt16;
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
5 import org.freedesktop.dbus.UInt32;
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
6 import org.freedesktop.dbus.UInt64;
4
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
7
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
8 import dbus_d_javahelper.DBusDLoader;
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
9
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
10 public class DBusTester {
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
11
5
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
12 static int handledCounter;
4
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
13
5
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
14 private static void ensure( boolean cond, String msg ){
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
15 if( !cond ){
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
16 throw new RuntimeException( msg );
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
17 }
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
18 }
6
963d271f7c25 disabled event stuff, to have working example
Frank Benoit <benoit@tionex.de>
parents: 5
diff changeset
19
963d271f7c25 disabled event stuff, to have working example
Frank Benoit <benoit@tionex.de>
parents: 5
diff changeset
20 // private static void ensureEqualLists( List<String> list1, String[] list2 ){
963d271f7c25 disabled event stuff, to have working example
Frank Benoit <benoit@tionex.de>
parents: 5
diff changeset
21 // Collections.sort(list1);
963d271f7c25 disabled event stuff, to have working example
Frank Benoit <benoit@tionex.de>
parents: 5
diff changeset
22 // ensure( list1.size() == list2.length, "List sizes are not equal" );
963d271f7c25 disabled event stuff, to have working example
Frank Benoit <benoit@tionex.de>
parents: 5
diff changeset
23 // for( int i = 0; i < list1.size(); i++ ){
963d271f7c25 disabled event stuff, to have working example
Frank Benoit <benoit@tionex.de>
parents: 5
diff changeset
24 // ensure( list1.get(i).equals(list2[i]), "List content is not equal" );
963d271f7c25 disabled event stuff, to have working example
Frank Benoit <benoit@tionex.de>
parents: 5
diff changeset
25 // }
963d271f7c25 disabled event stuff, to have working example
Frank Benoit <benoit@tionex.de>
parents: 5
diff changeset
26 // }
5
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
27
4
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
28 public static void main(String[] args) {
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
29
5
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
30 // instantiate the DBusDLoader and give the path to the D executable.
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
31 // In case you want to run from a jar, the executable can be placed in
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
32 // the jar and an optional resource path can be given.
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
33 DBusDLoader busDLoader = new DBusDLoader( "dsrc/DBusTesting" );
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
34
4
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
35 try{
5
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
36
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
37 // Start the D app and use the returned connection
4
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
38 System.err.println("Java App: start D");
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
39 DirectConnection dc = busDLoader.startup();
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
40
5
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
41 // e.g. get an Object that is exported by the D app.
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
42 DImpl rem = (DImpl) dc.getRemoteObject(
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
43 "/DBusTesting/Dimpl/0", DImpl.class);
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
44
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
45
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
46 // Test calling D
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
47
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
48 // 1. void func(void)
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
49 rem.testV_V();
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
50
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
51 // 2. int func( int )
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
52 {
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
53 int res = rem.testI_I( 4321 );
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
54 System.out.printf( "testI_I( 4321 ) => %d\n", res );
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
55 }
4
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
56
5
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
57 // 3. more simple arguments
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
58 {
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
59 NTuple10<Boolean, Byte, Short, UInt16, Integer, UInt32, Long, UInt64, Double, String> res =
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
60 rem.testParamAllSimpleTyes(
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
61 true,
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
62 (byte)100,
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
63 (short)1000,
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
64 new UInt16( 20000 ),
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
65 2000000000,
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
66 new UInt32( 4000000000l ),
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
67 9223372036854775806L,
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
68 new UInt64( "18446744073709551614" ),
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
69 1.0,
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
70 "ABCabc" );
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
71 ensure( res.a == false, "bool" );
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
72 ensure( res.b == 101, "byte" );
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
73 ensure( res.c == 1001, "short" );
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
74 ensure( res.d.equals( new UInt16( 20001 )), "ushort" );
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
75 ensure( res.e == 2000000001, "int" );
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
76 ensure( res.f.equals( new UInt32( 4000000001L )), "uint" );
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
77 ensure( res.g == 9223372036854775807L, "long" );
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
78 ensure( res.h.equals( new UInt64( "18446744073709551615" )), "ulong" );
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
79 ensure( res.i == 1.0, "double" );
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
80 ensure( res.j.equals( "cbaCBA" ), "string" );
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
81 }
6
963d271f7c25 disabled event stuff, to have working example
Frank Benoit <benoit@tionex.de>
parents: 5
diff changeset
82
963d271f7c25 disabled event stuff, to have working example
Frank Benoit <benoit@tionex.de>
parents: 5
diff changeset
83 // // 4. cause the test object to generate signal
963d271f7c25 disabled event stuff, to have working example
Frank Benoit <benoit@tionex.de>
parents: 5
diff changeset
84 // DBusSigHandler<testSigI> handler = new DBusSigHandler<DImpl.testSigI>(){
963d271f7c25 disabled event stuff, to have working example
Frank Benoit <benoit@tionex.de>
parents: 5
diff changeset
85 // public void handle(testSigI s) {
963d271f7c25 disabled event stuff, to have working example
Frank Benoit <benoit@tionex.de>
parents: 5
diff changeset
86 // handledCounter++;
963d271f7c25 disabled event stuff, to have working example
Frank Benoit <benoit@tionex.de>
parents: 5
diff changeset
87 // }
963d271f7c25 disabled event stuff, to have working example
Frank Benoit <benoit@tionex.de>
parents: 5
diff changeset
88 // };
963d271f7c25 disabled event stuff, to have working example
Frank Benoit <benoit@tionex.de>
parents: 5
diff changeset
89 // dc.addSigHandler( DImpl.testSigI.class, handler );
963d271f7c25 disabled event stuff, to have working example
Frank Benoit <benoit@tionex.de>
parents: 5
diff changeset
90 //
963d271f7c25 disabled event stuff, to have working example
Frank Benoit <benoit@tionex.de>
parents: 5
diff changeset
91 // rem.triggerSignal( 10 );
5
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
92
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
93 Thread.sleep(100);
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
94 System.out.printf( "HandledCounter: %d\n", handledCounter );
4
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
95 System.err.println("Java App: startup complete");
5
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
96 } catch (Exception e) {
7c2c75740370 code generation for signals
Frank Benoit <benoit@tionex.de>
parents: 4
diff changeset
97 e.printStackTrace();
4
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
98 }
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
99 finally{
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
100 busDLoader.disconnect();
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
101 }
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
102 }
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
103 }
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
104
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
105
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
106
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
107
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
108
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
109
427c0332a111 work on DBusTesting
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
110