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
00033 #include "nsISupports.idl"
00034
00035 interface sbIMediaItem;
00036 interface sbIMediaList;
00037 interface sbIPropertyArray;
00038
00047 [scriptable, uuid(a99bcdbf-166d-409a-8375-f617944397c2)]
00048 interface sbIMediaListListener : nsISupports
00049 {
00059 boolean onItemAdded(in sbIMediaList aMediaList,
00060 in sbIMediaItem aMediaItem,
00061 in unsigned long aIndex);
00062
00072 boolean onBeforeItemRemoved(in sbIMediaList aMediaList,
00073 in sbIMediaItem aMediaItem,
00074 in unsigned long aIndex);
00075
00085 boolean onAfterItemRemoved(in sbIMediaList aMediaList,
00086 in sbIMediaItem aMediaItem,
00087 in unsigned long aIndex);
00088
00099 boolean onItemUpdated(in sbIMediaList aMediaList,
00100 in sbIMediaItem aMediaItem,
00101 in sbIPropertyArray aProperties);
00102
00112 boolean onItemMoved(in sbIMediaList aMediaList,
00113 in unsigned long aFromIndex,
00114 in unsigned long aToIndex);
00115
00122 boolean onListCleared(in sbIMediaList aMediaList);
00123
00134 void onBatchBegin(in sbIMediaList aMediaList);
00135
00146 void onBatchEnd(in sbIMediaList aMediaList);
00147 };
00148
00154 [scriptable, uuid(8060b316-1837-44df-a184-7f25c18ea4c0)]
00155 interface sbIMediaListEnumerationListener : nsISupports
00156 {
00157 const unsigned short CONTINUE = 0;
00158 const unsigned short CANCEL = 1;
00159
00169 unsigned short onEnumerationBegin(in sbIMediaList aMediaList);
00170
00181 unsigned short onEnumeratedItem(in sbIMediaList aMediaList,
00182 in sbIMediaItem aMediaItem);
00183
00190 void onEnumerationEnd(in sbIMediaList aMediaList,
00191 in nsresult aStatusCode);
00192 };
00193