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"); } }