00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00042 #include "nsISupports.idl"
00043
00044 interface sbIDatabaseQuery;
00045
00056 [scriptable, uuid(ca5c9b2c-e061-4c98-8333-9c839efc0d7f)]
00057 interface sbIMediaLibrary : nsISupports
00058 {
00066 void setQueryObject(in sbIDatabaseQuery queryObj);
00067
00075 sbIDatabaseQuery getQueryObject();
00076
00085 void createDefaultLibrary();
00086
00111 AString addMedia(in AString mediaURL,
00112 in PRUint32 metaColumnCount,
00113 [array, size_is (metaColumnCount)] in wstring metaColumnNames,
00114 in PRUint32 metaValueCount,
00115 [array, size_is (metaValueCount)] in wstring metaValues,
00116 in PRBool checkForUniqueFilename,
00117 in PRBool willRunQueryLater);
00118
00127 PRBool removeMediaByURL(in AString mediaURL,
00128 in PRBool willRunQueryLater);
00129
00138 PRBool removeMediaByGUID(in AString mediaGUID,
00139 in PRBool willRunQueryLater);
00140
00148 PRBool purgeDefaultLibrary(in PRBool willRunQueryLater);
00149
00157 AString findByGUID(in AString mediaGUID);
00158
00168 AString findByURL(in AString mediaURL);
00169
00177 void addColumn(in AString columnName,
00178 in AString columnType);
00179
00187 void deleteColumn(in AString columnName);
00188
00234 void getColumnInfo();
00235
00251 void setColumnInfo(in AString columnName,
00252 in AString columnReadableName,
00253 in PRBool isColumnEverVisible,
00254 in PRBool isColumnVisibleByDefault,
00255 in PRBool isMetadataColumn,
00256 in PRInt32 columnSortWeight,
00257 in PRInt32 columnDefaultUIWidth,
00258 in AString columnDataType,
00259 in PRBool isColumnReadOnly,
00260 in PRBool willRunQueryLater);
00261
00269
00270
00271
00272
00273
00282
00283
00284
00285
00286
00287
00295
00296
00297
00298
00299
00300
00301
00302
00303
00304
00305
00306
00307
00308
00309
00310
00321 void getUniqueValuesByColumn(in AString columnName,
00322 out PRUint32 columnUniqueValCount,
00323 [array, size_is (columnUniqueValCount), retval] out wstring columnUniqueValues);
00324
00336 PRBool setValueByIndex(in PRInt32 mediaIndex,
00337 in AString columnName,
00338 in AString columnValue,
00339 in PRBool willRunQueryLater);
00340
00354 PRBool setValuesByIndex(in PRInt32 mediaIndex,
00355 in PRUint32 metaColumnCount,
00356 [array, size_is(metaColumnCount)] in wstring metaColumnNames,
00357 in PRUint32 metaValueCount,
00358 [array, size_is(metaValueCount)] in wstring metaValues,
00359 in PRBool willRunQueryLater);
00360
00370 AString getValueByIndex(in PRInt32 mediaIndex,
00371 in AString columnName);
00372
00384 void getValuesByIndex(in PRInt32 mediaIndex,
00385 in PRUint32 metaColumnCount,
00386 [array, size_is(metaColumnCount)] in wstring metaColumnNames,
00387 out PRUint32 metaValueCount,
00388 [array, size_is (metaValueCount), retval] out wstring metaValues);
00389
00400 PRBool setValueByGUID(in AString mediaGUID,
00401 in AString columnName,
00402 in AString columnValue,
00403 in PRBool willRunQueryLater);
00404
00417 PRBool setValuesByGUID(in AString mediaGUID,
00418 in PRUint32 metaColumnCount,
00419 [array, size_is(metaColumnCount)] in wstring metaColumnNames,
00420 in PRUint32 metaValueCount,
00421 [array, size_is(metaValueCount)] in wstring metaValues,
00422 in PRBool willRunQueryLater);
00423
00432 AString getValueByGUID(in AString mediaGUID,
00433 in AString columnName);
00434
00445 void getValuesByGUID(in AString mediaGUID,
00446 in PRUint32 metaColumnCount,
00447 [array, size_is (metaColumnCount)] in wstring metaColumnNames,
00448 out PRUint32 metaValueCount,
00449 [array, size_is (metaValueCount), retval] out wstring metaValues);
00450 };
00451
00466 [scriptable, uuid(0F75EA33-A1FD-4bf6-8D13-DBAC96CAA668)]
00467 interface sbIMediaScanCallback : nsISupports
00468 {
00474 void onMediaScanStart();
00475
00483 void onMediaScanFile(in AString filePath,
00484 in PRInt32 fileCount);
00485
00491 void onMediaScanEnd();
00492 };
00493
00526 [scriptable, uuid(32CD5811-77BF-4800-A4A8-FE764B8DDFD1)]
00527 interface sbIMediaScanQuery : nsISupports
00528 {
00535 void setDirectory(in AString strDirectory);
00536
00543 AString getDirectory();
00544
00551 void setRecurse(in PRBool bRecurse);
00552
00559 PRBool getRecurse();
00560
00567 void setCallback(in sbIMediaScanCallback pCallback);
00568
00575 sbIMediaScanCallback getCallback();
00576
00583 PRUint32 getFileCount();
00584
00588 void addFilePath(in AString strFilePath);
00589
00598 AString getFilePath(in PRUint32 nIndex);
00599
00606 PRBool isScanning();
00607
00611 void setIsScanning(in PRBool bIsScanning);
00612
00622 AString getLastFileFound();
00623
00633 AString getCurrentScanPath();
00634
00638 void setCurrentScanPath(in AString strScanPath);
00639 };
00640
00654 [scriptable, uuid(12BC75D3-8FD4-4b19-8F5B-CEF353E5168D)]
00655 interface sbIMediaScan : nsISupports
00656 {
00663 void submitQuery(in sbIMediaScanQuery pQuery);
00664
00673 PRInt32 scanDirectory(in AString strDirectory,
00674 in PRBool bRecurse,
00675 in sbIMediaScanCallback pCallback);
00676 };