00001 /* 00002 // 00003 // BEGIN SONGBIRD GPL 00004 // 00005 // This file is part of the Songbird web player. 00006 // 00007 // Copyright(c) 2005-2008 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 00033 #include "nsISupports.idl" 00034 00035 interface sbILocalDatabaseLibrary; 00036 interface sbIMediaItem; 00037 interface sbIMediaList; 00038 interface sbIPropertyArray; 00039 00044 [scriptable, uuid(feca42a6-f060-4041-8f97-5b750074432f)] 00045 interface sbILocalDatabaseMediaListCopyListener : nsISupports 00046 { 00047 void onItemCopied(in sbIMediaItem aSourceItem, 00048 in sbIMediaItem aDestItem); 00049 }; 00050 00060 [scriptable, uuid(a9045766-28a3-455f-a5fc-2a2eb7c863a3)] 00061 interface sbILocalDatabaseSimpleMediaList : nsISupports 00062 { 00063 attribute sbILocalDatabaseMediaListCopyListener copyListener; 00064 00070 unsigned long getIndexByOrdinal(in AString aOrdinal); 00071 00075 void invalidate(); 00076 00081 void notifyListenersItemUpdated(in sbIMediaItem aItem, 00082 in unsigned long aIndex, 00083 in sbIPropertyArray aProperties); 00084 00089 void notifyListenersBeforeItemRemoved(in sbIMediaList aList, 00090 in sbIMediaItem aItem, 00091 in unsigned long aIndex); 00092 00097 void notifyListenersAfterItemRemoved(in sbIMediaList aList, 00098 in sbIMediaItem aItem, 00099 in unsigned long aIndex); 00100 00104 void notifyListenersListCleared(in sbIMediaList aList); 00105 00109 void notifyListenersBatchBegin(in sbIMediaList aList); 00110 00114 void notifyListenersBatchEnd(in sbIMediaList aList); 00115 00120 void notifyContentChanged(); 00121 }; 00122