DON'T USE THIS REPO: IT'S OBSOLETE.
[versaplex.git] / api.xml
blob6afb538aabf05d943ea8c80c46440fbe1ae089e4
1 <!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
2 <node name="/db">
3     <interface name="vx.db">
4         <method name="ExecNoResult">
5             <arg name="query" type="s" direction="in"/>
6         </method>
8         <method name="ExecScalar">
9             <arg name="query" type="s" direction="in"/>
10             <arg name="result" type="v" direction="out"/>
11         </method>
13         <method name="ExecRecordset">
14             <arg name="query" type="s" direction="in"/>
15             <arg name="colinfo" type="a(issnny)" direction="out"/>
16             <!-- Returned data is:
17                 int32 column size
18                 string column name
19                 string column type
20                 int16 numeric precision
21                 int16 numeric scale
22                 uint8 nullability
23                     - a bitfield, with only one bit currently defined,
24                       0x1 = is nullable
25             -->
26             <arg name="data" type="v" direction="out"/>
27             <!-- row-major order; the variant's signature is an array type
28                  of the form a(...) where ... are the columns -->
29             <arg name="nullity" type="aay" direction="out"/>
30             <!-- 0 for not null, 1 for null -->
31         </method>
32         <method name="ExecChunkRecordset">
33             <arg name="query" type="s" direction="in"/>
34             <!-- Returns signals of the same type as responses to
35                 ExecRecordset above, except also suffixed with:
36                 uint32 serial number of ExecChunkRecordset request
38                 Signals are called "ChunkRecordsetSig".  See below.
40                 The final bit of data (< 1 MB trailing) will be sent
41                 via the response to this message.  After the response,
42                 you know there's no more data coming.
43             -->
44             <arg name="colinfo" type="a(issnny)" direction="out"/>
45             <!-- Returned data is:
46                 int32 column size
47                 string column name
48                 string column type
49                 int16 numeric precision
50                 int16 numeric scale
51                 uint8 nullability
52                     - a bitfield, with only one bit currently defined,
53                       0x1 = is nullable
54             -->
55             <arg name="data" type="v" direction="out"/>
56             <!-- row-major order; the variant's signature is an array type
57                  of the form a(...) where ... are the columns -->
58             <arg name="nullity" type="aay" direction="out"/>
59             <!-- 0 for not null, 1 for null -->
60         </method>
61         <signal name="ChunkRecordsetSig">
62             <arg name="colinfo" type="a(issnny)"/>
63             <!-- Returned data is:
64                 int32 column size
65                 string column name
66                 string column type
67                 int16 numeric precision
68                 int16 numeric scale
69                 uint8 nullability
70                     - a bitfield, with only one bit currently defined,
71                       0x1 = is nullable
72             -->
73             <arg name="data" type="v"/>
74             <!-- row-major order; the variant's signature is an array type
75                  of the form a(...) where ... are the columns -->
76             <arg name="nullity" type="aay"/>
77             <!-- 0 for not null, 1 for null -->
78             <arg name="reply_serial" type="u"/>
79             <!-- serial # of query this is in response to -->
80         </signal>
81         <method name="Test">
82             <arg name="colinfo" type="a(issnny)" direction="out"/>
83             <arg name="data" type="v" direction="out"/>
84             <arg name="nullity" type="aay" direction="out"/>
85         </method>
87         <method name="CancelQuery">
88             <arg name="kill_msg_id" type="u" direction="in"/>
89             <arg name="pointless_return" type="s" direction="out"/>
90             <!-- just returns "Cancel" so that you're happy -->
91         </method>
93         <!-- Any of these can throw:
94              vx.db.sqlerror - SQL statement error (text
95                      parameter will include actual error)
96              vx.db.toomuchdata - Scalar or Recordset result
97                      is too large to transmit in a single d-bus message. Will
98                      need to use a different API (not yet defined). text
99                      parameter will indicate what the problem is
100              vx.db.badschema - Schema returned by the query
101                      contains features not supported (such as sql_variant).
102                      text parameter will indicate what the problem is
103              vx.db.exception - Method threw an exception
104                      other than those listed above. Text parameter will contain
105                      the normal .NET exception description and backtrace
106         -->
108         <!-- Future:
109              - Transaction support
110              - Execute particular procedures, not just SQL
111         -->
112     </interface>
113 </node>