File: DelayedScript.java

package info (click to toggle)
kross-interpreters 4%3A22.12.3-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,488 kB
  • sloc: cpp: 12,206; java: 560; python: 375; ruby: 323; xml: 53; ansic: 38; makefile: 7
file content (35 lines) | stat: -rw-r--r-- 1,096 bytes parent folder | download | duplicates (6)
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
import org.kde.kdebindings.java.krossjava.*;
import java.io.*;

/**
* This script sleeps for a random time between 0 and 5 seconds, then calls emitUpdate.
*/
public class DelayedScript {

    private TestWindow obj;
    private int id;

    public DelayedScript() throws Exception {
        id = (int)(10000 * Math.random());
        obj = (TestWindow)(KrossQExtension.importModule("TestWindow"));
        obj.connect("scriptHook()",this,this.getClass().getMethod("scriptHook"));

        Thread t = new Thread(){
            public void run(){
                try {
                    int sleepTime = (int)(5000 * Math.random());
                    System.out.println("[" + id + "]" + " registered update and sleeping for " + sleepTime + " ms.");
                    sleep(sleepTime);
                } catch(InterruptedException e) {
                    e.printStackTrace();
                }
                obj.emitScriptHook();
            }
        };
        t.start();
    }

    public void scriptHook(){
        System.out.println("[" + id + "]" + " got scriptHook signal.");
    }
}