comparison dbus-d-javatests/dsrc/DBusTests.d @ 0:a5576806d36d

recreate repository without any libs for lightweight repository
author Frank Benoit <benoit@tionex.de>
date Sat, 20 Oct 2007 18:07:18 +0200
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:a5576806d36d
1 module DBusTests;
2
3 import DBusTestsInterfaces;
4 import org.freedesktop.dbus.Variant;
5 import org.freedesktop.dbus.DBus;
6
7 import tango.core.Signal;
8 import tango.io.Stdout;
9
10 void main(char[][] args) {
11 if( args.length != 2 ){
12 Stderr.formatln( "there is not exaclty one argument" );
13 }
14 Stdout.formatln("... started D app ...");
15 DirectConnection dc = new DirectConnection( args[1] );
16 Stdout.formatln("Connected");
17 auto o = new Tests();
18 o.registerDBusObject( dc.conn );
19 Stdout.formatln("Export obj : {}", o.getDBusInstanceName() );
20 Stdout.flush();
21 dc.mainLoop();
22 Stdout.formatln("Disconnected");
23 Stdout.flush();
24 Stderr.flush();
25 }
26
27
28 class Tests : DBusObject, DBusInterface.dbustests.Tests {
29 public this(){
30 super();
31 signalVoid().attach( & detectSignalVoid );
32 signalInt().attach( & detectSignalInt );
33 signalStruct().attach( & detectSignalStruct );
34 signalArray().attach( & detectSignalArray );
35 }
36 public void identityVoid(){
37 }
38 public bool identityBool(in bool input ){
39 return input;
40 }
41 public byte identityByte(in byte input ){
42 return input;
43 }
44 public short identityShort(in short input ){
45 return input;
46 }
47 public ushort identityUShort(in ushort input ){
48 return input;
49 }
50 public int identityInt(in int input ){
51 return input;
52 }
53 public uint identityUInt(in uint input ){
54 return input;
55 }
56 public long identityLong(in long input ){
57 //Stdout.formatln( "D: identityLong {}", input ).flush();
58 return input;
59 }
60 public ulong identityULong(in ulong input ){
61 return input;
62 }
63 public double identityDouble(in double input ){
64 return input;
65 }
66 public char[] identityString(in char[] input ){
67 return input;
68 }
69 public DBusVariant identityVariant(in DBusVariant input ){
70 return input;
71 }
72
73 public bool[] identityArrayBool(in bool[] input ){
74 Stdout.formatln( "identityArrayBool length {}", input.length );
75 return input.dup;
76 }
77 public byte[] identityArrayByte(in byte[] input ){
78 return input;
79 }
80 public short[] identityArrayShort(in short[] input ){
81 return input;
82 }
83 public ushort[] identityArrayUShort(in ushort[] input ){
84 return input;
85 }
86 public int[] identityArrayInt(in int[] input ){
87 return input;
88 }
89 public uint[] identityArrayUInt(in uint[] input ){
90 return input;
91 }
92 public long[] identityArrayLong(in long[] input ){
93 return input;
94 }
95 public ulong[] identityArrayULong(in ulong[] input ){
96 return input;
97 }
98 public double[] identityArrayDouble(in double[] input ){
99 return input;
100 }
101 public char[][] identityArrayString(in char[][] input ){
102 return input;
103 }
104 public DBusVariant[] identityArrayVariant(in DBusVariant[] input ){
105 return input;
106 }
107 public long Sum(in int[] input ){
108 long res;
109 foreach( v; input ){
110 res += v;
111 }
112 return res;
113 }
114 public uint Sum(in byte[] input ){
115 long res;
116 foreach( v; input ){
117 res += v;
118 }
119 return res;
120 }
121 public char[][][ char[] ] InvertMapping(in char[][ char[] ] input ){
122 Stderr.formatln( "InvertMapping();" ).flush;
123 char[][][ char[] ] res;
124 foreach( k, v; input ){
125 if( v in res ){
126 char[][] data = res[ v ];
127 data ~= k.dup;
128 res[ v ] = data;
129 }
130 else{
131 res[ v.dup ] = [k.dup];
132 }
133 }
134 Stderr.formatln( "InvertMapping();" ).flush;
135 return res;
136 }
137 public void DeStruct(
138 in Struct!( char[], uint, short ) input,
139 out char[] res_1,
140 out uint res_2,
141 out short res_3 )
142 {
143 res_1 = input.t[0];
144 res_2 = input.t[1];
145 res_3 = input.t[2];
146 }
147
148 public DBusVariant[] Primitize(in DBusVariant input ){
149 DBusVariant[] res;
150 return null;
151 }
152 public bool Invert(in bool input ){
153 return !input;
154 }
155
156 // ------------------------------------------
157 Signal!() signalVoid_;
158 public Signal!()* signalVoid(){
159 return & signalVoid_;
160 }
161 private void detectSignalVoid(){
162 Stdout.formatln( "signalVoid();" );
163 }
164 // ------------------------------------------
165 Signal!( int ) signalInt_;
166 public Signal!( int )* signalInt(){
167 return & signalInt_;
168 }
169 private void detectSignalInt( int v ){
170 Stdout.formatln( "signalInt({});", v );
171 }
172 // ------------------------------------------
173 Signal!( Struct!( char[], uint, short ) ) signalStruct_;
174 public Signal!( Struct!( char[], uint, short ) )* signalStruct(){
175 return & signalStruct_;
176 }
177 private void detectSignalStruct( Struct!( char[], uint, short ) value ){
178 Stdout.formatln( "signalStruct( Struct!( {}, {}, {} ) );", value.t[0], value.t[1], value.t[2] );
179 }
180 // ------------------------------------------
181 Signal!( Struct!( char[], uint, short )[] ) signalArray_;
182 public Signal!( Struct!( char[], uint, short )[] )* signalArray(){
183 return & signalArray_;
184 }
185 private void detectSignalArray(Struct!( char[], uint, short )[] value ){
186 Stdout.formatln( "signalArray() with {} elements", value.length );
187 foreach( v; value ){
188 Stdout.formatln( " {} {} {}", v.t[0], v.t[1], v.t[2] );
189 }
190 Stdout.flush;
191 }
192 // ------------------------------------------
193 Signal!( DBusVariant ) signalVariant_;
194 public Signal!( DBusVariant )* signalVariant(){
195 return & signalVariant_;
196 }
197 // ------------------------------------------
198
199 }
200
201
202
203