annotate audioDBws.h @ 350:8ff9d4d83222 serializedQuery

serialized shingle query added to WS, compiles but not tested
author mas01mc
date Thu, 06 Nov 2008 08:54:40 +0000
parents 75a59f58319e
children a22b18005853
rev   line source
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
mas01mc@334 43 struct adb__lisztResult {
mas01mc@334 44 int __sizeRkey;
mas01mc@334 45 char **Rkey;
mas01mc@334 46 int __sizeRlen;
mas01mc@334 47 unsigned int *Rlen;
mas01mc@334 48 };
mas01mc@334 49
mas01mc@348 50 struct adb__queryVector {
mas01mc@350 51 int __sizeQvector; // l x d :
mas01mc@350 52 double *Qvector; // pointer to query data
mas01mc@350 53 int dim; // dimensionality of the feature (d)
mas01mc@348 54 };
mas01mc@348 55
mas01mc@334 56 struct adb__lisztResponse {
mas01mc@334 57 struct adb__lisztResult result;
mas01mc@334 58 };
mas01mc@334 59
mas01cr@0 60 // Print the status of an existing adb database
mas01cr@133 61 int adb__status(xsd__string dbName, struct adb__statusResponse &adbStatusResponse);
mas01cr@0 62
mas01mc@348 63 // List the contents of an audioDB database
mas01mc@334 64 int adb__liszt(xsd__string dbName, xsd__int lisztOffset, xsd__int lisztLength, struct adb__lisztResponse &adbLisztResponse);
mas01mc@334 65
mas01mc@348 66 // Query an adb database
mas01cr@333 67 int adb__query(xsd__string dbName, xsd__string qKey, xsd__string keyList, xsd__string timesFileName, xsd__string powerFileName, xsd__int qType, xsd__int qPos, xsd__int pointNN, xsd__int segNN, xsd__int segLen, xsd__double radius, xsd__double absolute_threshold, xsd__double relative_threshold, xsd__int exhaustive, xsd__int lsh_exact, struct adb__queryResponse &adbQueryResponse);
mas01cr@193 68
mas01mc@348 69 // Query an adb database by key
mas01mc@328 70 int adb__sequenceQueryByKey(xsd__string dbName,xsd__string trackKey, xsd__string featureFileName, xsd__int queryType,xsd__string trackFileName,xsd__string timesFileName,xsd__int queryPoint,xsd__int pointNN,xsd__int trackNN,xsd__int sequenceLength,xsd__double radius,xsd__double absolute_threshold,xsd__int usingQueryPoint,xsd__int lsh_exact,struct adb__queryResponse &adbQueryResponse);
mas01mc@348 71
mas01mc@348 72 // Query an audioDB database by vector (serialized)
mas01mc@348 73 int adb__shingleQuery(xsd__string dbName, struct adb__queryVector qVector, xsd__int queryType, xsd__int pointNN, xsd__int trackNN, xsd__int sequenceLength, xsd__double radius, xsd__double absolute_threshold, xsd__int lsh_exact, struct adb__queryResponse &adbQueryResponse);