summaryrefslogtreecommitdiffstats
path: root/README
blob: cb8adc24554218238a0573480f7eaa0b9bd8ed97 (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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
General
-------

A transfer packet starts with '@' and ends with '@\n'.

    @sample text@\n

Fields are separated by ':'.

    @sample text:field1:field2@\n

Fields must not be empty.

To include the characters ':' and '@' in texts these have to be escaped with an additional same character.
':' becomes "::" and '@' becomes "@@".

    @sample text:some::value:some@@value@\n

Will be parsed to

    sample text
    some:value
    some@value

Packets must not be handled until they are complete.

Commands
---------

Commands can be issued by QtCreator.

@start:<binary>[:<arg>]@\n

Starts the given process. All running apps will be stopped.
The binary has to be an absolute path.
Arguments have to be provided as fields. Multiple fields are possible.

@stop@\n

Kill the running app.

@debug[:<binary>][:<arg>]@\n

Starts debugging. If no binary given it attaches to the running app.
Otherwise it starts a new app as described in '@start'.

@stdin:<text>@\n

A line to be sent to the apps stdin.

@env:<key>[:<value>]@\n

Set an environment variable.

<key>=<value>

If value is missing <key> will be removed from environment.

Notifications
-------------

Notifications are sent to QtCreator.

@started:<PID>@\n

An app was started successfully.

@stopped:<PID>:<exitstatus>:<exitcode>@\n

An app was/had stopped.
exitstatus: 0=NormalExit; 1=CrashExit
exitcode: Exitcode in case the program exits normally. Otherwise undefined.

@stdout:<PID>:<text>@\n

A line of the apps stdout

@stderr:<PID>:<text>@\n
A line of the apps stderr

@debugging:<PID>:<port>@\n

A debugger started on port.

@error:<text>@\n

Last command failed.