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 nsIStringEnumerator;
00035 interface nsIURI;
00036 interface sbILocalDatabasePropertyCache;
00037 interface sbIPropertyArray;
00038
00043 [scriptable, uuid(d76560b0-b2e7-4935-9d51-1c53a0cfb1a0)]
00044 interface sbILocalDatabaseGUIDArrayListener : nsISupports
00045 {
00046 void onBeforeInvalidate();
00047 };
00048
00053 [scriptable, uuid(7ecb8720-5499-11dd-ae16-0800200c9a66)]
00054 interface sbILocalDatabaseGUIDArray : nsISupports
00055 {
00056 attribute AString databaseGUID;
00057
00058 attribute nsIURI databaseLocation;
00059
00060 attribute AString baseTable;
00061
00062 attribute AString baseConstraintColumn;
00063
00064 attribute unsigned long baseConstraintValue;
00065
00066 attribute unsigned long fetchSize;
00067
00068 attribute boolean isDistinct;
00069
00070 readonly attribute unsigned long length;
00071
00072 attribute sbILocalDatabaseGUIDArrayListener listener;
00073
00074 attribute sbILocalDatabasePropertyCache propertyCache;
00075
00076 void addSort(in AString aProperty,
00077 in boolean aAscending);
00078
00079 void clearSorts();
00080
00081 readonly attribute sbIPropertyArray currentSort;
00082
00083 void addFilter(in AString aProperty,
00084 in nsIStringEnumerator aValues,
00085 in boolean aIsSearch);
00086
00087 void clearFilters();
00088
00089 boolean isIndexCached(in unsigned long aIndex);
00090
00097 AString getSortPropertyValueByIndex(in unsigned long aIndex);
00098
00105 unsigned long getMediaItemIdByIndex(in unsigned long aIndex);
00106
00113 AString getOrdinalByIndex(in unsigned long aIndex);
00114
00121 AString getGuidByIndex(in unsigned long aIndex);
00122
00129 unsigned long long getRowidByIndex(in unsigned long aIndex);
00130
00131 void invalidate();
00132
00133 sbILocalDatabaseGUIDArray clone();
00134
00135 void cloneInto(in sbILocalDatabaseGUIDArray aDest);
00136
00137 void removeByIndex(in unsigned long aIndex);
00138
00139 unsigned long getFirstIndexByPrefix(in AString aPrefix);
00140
00141 unsigned long getFirstIndexByGuid(in AString aGuid);
00142
00143 unsigned long getIndexByRowid(in unsigned long long aRowid);
00144
00149 boolean containsGuid(in AString aGuid);
00150 };
00151