summaryrefslogtreecommitdiffstats
path: root/dcopjava/binding/org/trinitydesktop/DCOP/Client.java
blob: f8e87f7206fc54acef39208da7de62138c538446 (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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package org.trinitydesktop.DCOP;


public class Client
{
    // attach to DCOP server as 'anonymous'
    public native boolean attach();

    // attach to DCOP server using appName as key
    public native String registerAs(String appName);

    // report if we are registered at the server
    public native boolean isRegistered();

    // return the registered application id
    public native String appId();

    // suspend DCOP processing
    public native void suspend();

    // resume DCOP processing
    public native void resume();

    // detach from the DCOP server
    public native boolean detach();

    // report if we are attached to DCOP server
    public native boolean isAttached();

    // send a command to the server
    public native boolean send(String remApp, String remObj, String remFun, byte[] data);

    // send a command string to the server
    public native boolean send(String remApp, String remObj, String remFun, String data);

    // call a function and get the result
    public native Response call(String remApp, String remObj, String remFun, byte[] data, boolean eventLoop);

	// Checks whether remApp is registered with the DCOP server.
	public native boolean isApplicationRegistered ( String remApp);

    public static void main(String[] args)
    {
	Client client = new Client();

	System.out.println("Registering as: " + client.registerAs("Java-App"));
	if (client.isAttached())
	    System.out.println("Attached!");

	client.send("kdesktop", "KDesktopIface", "selectAll()", "");

	java.io.ByteArrayOutputStream bs = new java.io.ByteArrayOutputStream();
	Response res = client.call("kdesktop", "KDesktopIface", "selectedURLs()", bs.toByteArray(), false);
	System.out.println("Result type: " + res.returnType);
    }

    static
    {
	System.loadLibrary("javadcop");
    }

}