annotate audioDBws.h @ 279:dee55886eca0 sampling

make the RNG a part of the audioDB object. Easier to deal with memory discipline and initialization (though note the FIXME comment in audioDB::initTables()). Also initialize the RNG from the current time. A mature implementation would use a proper source of entropy...
author mas01cr
date Wed, 02 Jul 2008 13:53:23 +0000
parents f9d16137e704
children d1b8b2dec37e
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
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@193 48
mas01cr@193 49 struct adb__sequenceQueryParms {
mas01cr@193 50 xsd__string keyList;
mas01cr@193 51 xsd__string timesFileName;
mas01cr@193 52 xsd__string powerFileName;
mas01cr@193 53 xsd__int qPos;
mas01cr@193 54 xsd__int pointNN;
mas01cr@193 55 xsd__int segNN;
mas01cr@193 56 xsd__int segLen;
mas01cr@193 57 xsd__double relative_threshold;
mas01cr@193 58 xsd__double absolute_threshold;
mas01cr@193 59 };
mas01cr@193 60
mas01cr@193 61 // Perform a sequence query
mas01cr@193 62 int adb__sequenceQuery(xsd__string dbName, xsd__string qKey,
mas01cr@193 63 struct adb__sequenceQueryParms *parms,
mas01cr@193 64 struct adb__queryResponse &adbQueryResponse);