C:/projects/songbird/components/medialibrary/public/sbIMediaLibrary.idl

Go to the documentation of this file.
00001 /*
00002 //
00003 // BEGIN SONGBIRD GPL
00004 // 
00005 // This file is part of the Songbird web player.
00006 //
00007 // Copyright© 2006 POTI, Inc.
00008 // http://songbirdnest.com
00009 // 
00010 // This file may be licensed under the terms of of the
00011 // GNU General Public License Version 2 (the “GPL”).
00012 // 
00013 // Software distributed under the License is distributed 
00014 // on an “AS IS” basis, WITHOUT WARRANTY OF ANY KIND, either 
00015 // express or implied. See the GPL for the specific language 
00016 // governing rights and limitations.
00017 //
00018 // You should have received a copy of the GPL along with this 
00019 // program. If not, go to http://www.gnu.org/licenses/gpl.html
00020 // or write to the Free Software Foundation, Inc., 
00021 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00022 // 
00023 // END SONGBIRD GPL
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   /*getMetadataFields*/
00270 /* This doesn't exist
00271   void getMetadataColumns(out PRUint32 metaColumnCount, 
00272     [array, size_is (metaColumnCount), retval] out wstring metaColumnNames); /**/
00273 
00282   /*addMetadataField*/
00283 /* This doesn't exist
00284   void addMetadataColumn(in AString columnName, 
00285     in AString columnType, 
00286     in PRBool willRunQueryLater); /**/
00287 
00295   /*deleteMetadataField*/
00296   /* This doesn't exist
00297   PRBool deleteMetadataColumn(in AString columnName, 
00298     in PRBool willRunQueryLater); /**/
00299 
00300   /*
00301   PRBool AddTagByIndex();
00302   PRBool AddTagByGUID();
00303 
00304 
00305 
00306   PRBool DeleteTag
00307   GetUniqueTags();
00308   GetUniqueTagsCount();
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 };

Generated on Mon Aug 21 21:01:55 2006 for Songbird by  doxygen 1.4.7