mas01cr@0
|
1 // audioDBws.h -- web services interface to audioDB
|
mas01cr@0
|
2 //
|
mas01cr@22
|
3 //FIXME: this hard-coding of the service location might be right for
|
mas01cr@22
|
4 //its internal use at Goldsmiths (for now) but really isn't in
|
mas01cr@22
|
5 //general. Find a way to bind this later (at install time? Or maybe
|
mas01cr@22
|
6 //just require that the installer edit the resulting wsdl file?)
|
mas01cr@0
|
7 //
|
mas01cr@22
|
8 //gsoap adb service location: http://gibbons.doc.gold.ac.uk:20703/
|
mas01cr@0
|
9
|
mas01cr@0
|
10 typedef int xsd__int;
|
mas01cr@0
|
11 typedef double xsd__double;
|
mas01cr@0
|
12 typedef char* xsd__string;
|
mas01cr@0
|
13
|
mas01cr@0
|
14 // Supports result lists of arbitrary length
|
mas01cr@133
|
15 struct adb__queryResult{
|
mas01cr@0
|
16 int __sizeRlist;
|
mas01cr@0
|
17 char **Rlist; // Maximum size of result list
|
mas01cr@0
|
18 int __sizeDist;
|
mas01cr@0
|
19 double *Dist;
|
mas01cr@0
|
20 int __sizeQpos;
|
mas01cr@86
|
21 unsigned int *Qpos;
|
mas01cr@0
|
22 int __sizeSpos;
|
mas01cr@86
|
23 unsigned int *Spos;
|
mas01cr@0
|
24 };
|
mas01cr@0
|
25
|
mas01cr@133
|
26 struct adb__statusResult {
|
mas01cr@76
|
27 unsigned numFiles;
|
mas01cr@76
|
28 unsigned dim;
|
mas01cr@76
|
29 unsigned length;
|
mas01cr@76
|
30 unsigned dudCount;
|
mas01cr@76
|
31 unsigned nullCount;
|
mas01cr@76
|
32 unsigned flags;
|
mas01cr@76
|
33 };
|
mas01cr@133
|
34
|
mas01cr@133
|
35 struct adb__statusResponse {
|
mas01cr@133
|
36 struct adb__statusResult result;
|
mas01cr@133
|
37 };
|
mas01cr@133
|
38
|
mas01cr@133
|
39 struct adb__queryResponse {
|
mas01cr@133
|
40 struct adb__queryResult result;
|
mas01cr@133
|
41 };
|
mas01cr@133
|
42
|
mas01cr@0
|
43 // Print the status of an existing adb database
|
mas01cr@133
|
44 int adb__status(xsd__string dbName, struct adb__statusResponse &adbStatusResponse);
|
mas01cr@0
|
45
|
mas01cr@0
|
46 // Query an existing adb database
|
mas01cr@133
|
47 int adb__query(xsd__string dbName, xsd__string qKey, xsd__string keyList, xsd__string timesFileName, xsd__int qType, xsd__int qPos, xsd__int pointNN, xsd__int segNN, xsd__int segLen, struct adb__queryResponse &adbQueryResponse);
|
mas01cr@171
|
48
|
mas01cr@171
|
49 struct adb__sequenceQueryParms {
|
mas01cr@171
|
50 xsd__string keyList;
|
mas01cr@171
|
51 xsd__string timesFileName;
|
mas01cr@171
|
52 xsd__string powerFileName;
|
mas01cr@171
|
53 xsd__int qPos;
|
mas01cr@171
|
54 xsd__int pointNN;
|
mas01cr@171
|
55 xsd__int segNN;
|
mas01cr@171
|
56 xsd__int segLen;
|
mas01cr@171
|
57 xsd__double relative_threshold;
|
mas01cr@171
|
58 xsd__double absolute_threshold;
|
mas01cr@171
|
59 };
|
mas01cr@171
|
60
|
mas01cr@171
|
61 // Perform a sequence query
|
mas01cr@171
|
62 int adb__sequenceQuery(xsd__string dbName, xsd__string qKey,
|
mas01cr@171
|
63 struct adb__sequenceQueryParms *parms,
|
mas01cr@171
|
64 struct adb__queryResponse &adbQueryResponse);
|