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
00032 #include "nsISupports.idl"
00033
00034 interface nsIArray;
00035 interface sbIMediaItem;
00036 interface sbIMediaList;
00037
00042 [scriptable, uuid(17c6e702-ea9d-46ed-98ed-0bd57d84b25c)]
00043 interface sbIChangeOperation : nsISupports
00044 {
00048 const unsigned long UNKNOWN = 0;
00049
00053 const unsigned long ADDED = 0x10;
00054
00058 const unsigned long MODIFIED = 0x20;
00059
00063 const unsigned long MOVED = 0x30;
00064
00068 const unsigned long DELETED = 0x40;
00069
00073 readonly attribute unsigned long operation;
00074 };
00075
00080 [scriptable, uuid(182106d3-a5eb-4c59-a161-766940c7c1da)]
00081 interface sbIPropertyChange : sbIChangeOperation
00082 {
00089 readonly attribute AString id;
00090
00094 readonly attribute AString oldValue;
00095
00099 readonly attribute AString newValue;
00100 };
00101
00106 [scriptable, uuid(e8db7394-2256-45b1-b079-28fbbcb7f5b9)]
00107 interface sbILibraryChange : sbIChangeOperation
00108 {
00114 readonly attribute unsigned long long timestamp;
00115
00123 readonly attribute sbIMediaItem sourceItem;
00124
00135 readonly attribute sbIMediaItem destinationItem;
00136
00145 readonly attribute boolean itemIsList;
00146
00155 readonly attribute nsIArray properties;
00156 };
00157
00158
00163 [scriptable, uuid(15ce0b86-4285-481b-8af4-751fc2357f7b)]
00164 interface sbILibraryChangeset : nsISupports
00165 {
00171 readonly attribute nsIArray sourceLists;
00172
00182 readonly attribute sbIMediaList destinationList;
00183
00192 readonly attribute nsIArray changes;
00193 };