-
Notifications
You must be signed in to change notification settings - Fork 2
/
api.xml
113 lines (106 loc) · 4.76 KB
/
api.xml
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node name="/db">
<interface name="vx.db">
<method name="ExecNoResult">
<arg name="query" type="s" direction="in"/>
</method>
<method name="ExecScalar">
<arg name="query" type="s" direction="in"/>
<arg name="result" type="v" direction="out"/>
</method>
<method name="ExecRecordset">
<arg name="query" type="s" direction="in"/>
<arg name="colinfo" type="a(issnny)" direction="out"/>
<!-- Returned data is:
int32 column size
string column name
string column type
int16 numeric precision
int16 numeric scale
uint8 nullability
- a bitfield, with only one bit currently defined,
0x1 = is nullable
-->
<arg name="data" type="v" direction="out"/>
<!-- row-major order; the variant's signature is an array type
of the form a(...) where ... are the columns -->
<arg name="nullity" type="aay" direction="out"/>
<!-- 0 for not null, 1 for null -->
</method>
<method name="ExecChunkRecordset">
<arg name="query" type="s" direction="in"/>
<!-- Returns signals of the same type as responses to
ExecRecordset above, except also suffixed with:
uint32 serial number of ExecChunkRecordset request
Signals are called "ChunkRecordsetSig". See below.
The final bit of data (< 1 MB trailing) will be sent
via the response to this message. After the response,
you know there's no more data coming.
-->
<arg name="colinfo" type="a(issnny)" direction="out"/>
<!-- Returned data is:
int32 column size
string column name
string column type
int16 numeric precision
int16 numeric scale
uint8 nullability
- a bitfield, with only one bit currently defined,
0x1 = is nullable
-->
<arg name="data" type="v" direction="out"/>
<!-- row-major order; the variant's signature is an array type
of the form a(...) where ... are the columns -->
<arg name="nullity" type="aay" direction="out"/>
<!-- 0 for not null, 1 for null -->
</method>
<signal name="ChunkRecordsetSig">
<arg name="colinfo" type="a(issnny)"/>
<!-- Returned data is:
int32 column size
string column name
string column type
int16 numeric precision
int16 numeric scale
uint8 nullability
- a bitfield, with only one bit currently defined,
0x1 = is nullable
-->
<arg name="data" type="v"/>
<!-- row-major order; the variant's signature is an array type
of the form a(...) where ... are the columns -->
<arg name="nullity" type="aay"/>
<!-- 0 for not null, 1 for null -->
<arg name="reply_serial" type="u"/>
<!-- serial # of query this is in response to -->
</signal>
<method name="Test">
<arg name="colinfo" type="a(issnny)" direction="out"/>
<arg name="data" type="v" direction="out"/>
<arg name="nullity" type="aay" direction="out"/>
</method>
<method name="CancelQuery">
<arg name="kill_msg_id" type="u" direction="in"/>
<arg name="pointless_return" type="s" direction="out"/>
<!-- just returns "Cancel" so that you're happy -->
</method>
<!-- Any of these can throw:
vx.db.sqlerror - SQL statement error (text
parameter will include actual error)
vx.db.toomuchdata - Scalar or Recordset result
is too large to transmit in a single d-bus message. Will
need to use a different API (not yet defined). text
parameter will indicate what the problem is
vx.db.badschema - Schema returned by the query
contains features not supported (such as sql_variant).
text parameter will indicate what the problem is
vx.db.exception - Method threw an exception
other than those listed above. Text parameter will contain
the normal .NET exception description and backtrace
-->
<!-- Future:
- Transaction support
- Execute particular procedures, not just SQL
-->
</interface>
</node>