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
00027 #include "nsISupports.idl"
00028
00029 interface sbIDatabaseQuery;
00030
00031 [scriptable, uuid(7B2945F6-6A00-4489-AD2F-95BA25F4D1EA)]
00032 interface sbISimplePlaylist : nsISupports
00033 {
00034 void setQueryObject(in sbIDatabaseQuery queryObj);
00035
00036 sbIDatabaseQuery getQueryObject();
00037
00038 void addByURL(in AString strURL,
00039 in PRUint32 nColumnCount,
00040 [array, size_is(nColumnCount)] in wstring aColumns,
00041 in PRUint32 nValueCount,
00042 [array, size_is(nValueCount)] in wstring aValues,
00043 in PRBool bWillRunLater);
00044
00045 PRBool removeByURL(in AString strURL,
00046 in PRBool bWillRunLater);
00047
00048 PRBool removeByIndex(in PRInt32 nIndex,
00049 in PRBool bWillRunLater);
00050
00051 PRBool removeByGUID(in AString mediaGUID,
00052 in PRBool bWillRunLater);
00053
00054 PRInt32 findByURL(in AString strURL);
00055
00056 AString findByIndex(in PRInt32 nIndex);
00057
00058 void getColumnInfo();
00059
00060 void setColumnInfo(in AString columnName,
00061 in AString columnReadableName,
00062 in PRBool isColumnEverVisible,
00063 in PRBool isColumnVisibleByDefault,
00064 in PRBool isMetadataColumn,
00065 in PRInt32 columnSortWeight,
00066 in PRInt32 columnDefaultUIWidth,
00067 in AString columnDataType,
00068 in PRBool isColumnReadOnly,
00069 in PRBool willRunQueryLater);
00070
00071 void getTableInfo();
00072
00073 void addColumn(in AString strColumn,
00074 in AString strDataType);
00075
00076 void deleteColumn(in AString strColumn);
00077
00078 PRInt32 getNumEntries();
00079
00080 PRInt32 getEntry(in PRInt32 nEntry);
00081
00082 PRInt32 getAllEntries();
00083
00084 AString getColumnValueByIndex(in PRInt32 mediaIndex,
00085 in AString strColumn);
00086
00087 AString getColumnValueByURL(in AString mediaURL,
00088 in AString strColumn);
00089
00090 void getColumnValuesByIndex(in PRInt32 mediaIndex,
00091 in PRUint32 nColumnCount,
00092 [array, size_is(nColumnCount)] in wstring aColumns,
00093 out PRUint32 nValueCount,
00094 [array, size_is(nValueCount), retval] out wstring aValues);
00095
00096 void getColumnValuesByURL(in AString mediaURL,
00097 in PRUint32 nColumnCount,
00098 [array, size_is(nColumnCount)] in wstring aColumns,
00099 out PRUint32 nValueCount,
00100 [array, size_is(nValueCount), retval] out wstring aValues);
00101
00102 void setColumnValueByIndex(in PRInt32 mediaIndex,
00103 in AString strColumn,
00104 in AString strValue,
00105 in PRBool bWillRunLater);
00106
00107 void setColumnValueByURL(in AString mediaURL,
00108 in AString strColumn,
00109 in AString strValue,
00110 in PRBool bWillRunLater);
00111
00112 void setColumnValuesByIndex(in PRInt32 mediaIndex,
00113 in PRUint32 nColumnCount,
00114 [array, size_is(nColumnCount)] in wstring aColumns,
00115 in PRUint32 nValueCount,
00116 [array, size_is(nValueCount)] in wstring aValues,
00117 in PRBool bWillRunLater);
00118
00119 void setColumnValuesByURL(in AString mediaURL,
00120 in PRUint32 nColumnCount,
00121 [array, size_is(nColumnCount)] in wstring aColumns,
00122 in PRUint32 nValueCount,
00123 [array, size_is(nValueCount)] in wstring aValues,
00124 in PRBool bWillRunLater);
00125
00126 void setName(in AString strName);
00127
00128 AString getName();
00129
00130 void setReadableName(in AString strReadableName);
00131
00132 AString getReadableName();
00133 };
00134
00135 [scriptable, uuid(C2B560D7-A145-4dd3-9040-F1682F17BCA6)]
00136 interface sbIPlaylist : nsISupports
00137 {
00138 void setQueryObject(in sbIDatabaseQuery queryObj);
00139
00140 sbIDatabaseQuery getQueryObject();
00141
00142 PRBool addByGUID(in AString mediaGUID,
00143 in AString serviceGUID,
00144 in PRInt32 nPosition,
00145 in PRBool bReplace,
00146 in PRBool bWillRunLater);
00147
00148 PRBool removeByGUID(in AString mediaGUID);
00149
00150 PRBool removeByIndex(in PRInt32 mediaIndex);
00151
00152 PRBool moveByGUID(in AString mediaGUID,
00153 in PRInt32 nPosition);
00154
00155 PRBool moveByIndex(in PRInt32 mediaIndex,
00156 in PRInt32 nPosition);
00157
00158 PRInt32 findByGUID(in AString mediaGUID);
00159
00160 AString findByIndex(in PRInt32 mediaIndex);
00161
00162 void getColumnInfo();
00163
00164 void setColumnInfo(in AString columnName,
00165 in AString columnReadableName,
00166 in PRBool isColumnEverVisible,
00167 in PRBool isColumnVisibleByDefault,
00168 in PRBool isMetadataColumn,
00169 in PRInt32 columnSortWeight,
00170 in PRInt32 columnDefaultUIWidth,
00171 in AString columnDataType,
00172 in PRBool isColumnReadOnly,
00173 in PRBool willRunQueryLater);
00174
00175 void getTableInfo();
00176
00177 void addColumn(in AString strColumn);
00178
00179 void deleteColumn(in AString strColumn);
00180
00181 PRInt32 getNumEntries();
00182
00183 PRInt32 getEntry(in PRInt32 nEntry);
00184
00185 PRInt32 getAllEntries();
00186
00187 AString getColumnValueByIndex(in PRInt32 mediaIndex,
00188 in AString strColumn);
00189
00190 AString getColumnValueByGUID(in AString mediaGUID,
00191 in AString strColumn);
00192
00193 void getColumnValuesByIndex(in PRInt32 mediaIndex,
00194 in PRUint32 nColumnCount,
00195 [array, size_is(nColumnCount)] in wstring aColumns,
00196 out PRUint32 nValueCount,
00197 [array, size_is(nValueCount), retval] out wstring aValues);
00198
00199 void getColumnValuesByGUID(in AString mediaGUID,
00200 in PRUint32 nColumnCount,
00201 [array, size_is(nColumnCount)] in wstring aColumns,
00202 out PRUint32 nValueCount,
00203 [array, size_is(nValueCount), retval] out wstring aValues);
00204
00205 void setColumnValueByIndex(in PRInt32 mediaIndex,
00206 in AString strColumn,
00207 in AString strValue);
00208
00209 void setColumnValueByGUID(in AString mediaGUID,
00210 in AString strColumn,
00211 in AString strValue);
00212
00213 void setColumnValuesByIndex(in PRInt32 mediaIndex,
00214 in PRUint32 nColumnCount,
00215 [array, size_is(nColumnCount)] in wstring aColumns,
00216 in PRUint32 nValueCount,
00217 [array, size_is(nValueCount)] in wstring aValues);
00218
00219 void setColumnValuesByGUID(in AString mediaGUID,
00220 in PRUint32 nColumnCount,
00221 [array, size_is(nColumnCount)] in wstring aColumns,
00222 in PRUint32 nValueCount,
00223 [array, size_is(nValueCount)] in wstring aValues);
00224
00225 void setName(in AString strName);
00226
00227 AString getName();
00228
00229 void setReadableName(in AString strReadableName);
00230
00231 AString getReadableName();
00232 };
00233
00234 [scriptable, uuid(8A1A3D68-E3A4-484b-B9A5-4088ADEDA5B3)]
00235 interface sbIDynamicPlaylist : sbIPlaylist
00236 {
00237 void setPeriodicity(in PRUint32 nPeriodicity,
00238 in PRBool bWillRunLater);
00239
00240 PRUint32 getPeriodicity();
00241
00242 void setURL(in AString strURL,
00243 in PRBool bWillRunLater);
00244 AString getURL();
00245
00246 void setLastUpdateTime();
00247
00248 PRInt64 getLastUpdateTime();
00249 };
00250
00251 [scriptable, uuid(07BC8B9F-FB08-4fd6-92A4-9D5CDFE2D823)]
00252 interface sbISmartPlaylist : sbIPlaylist
00253 {
00254 void setLibrary(in AString strLibrary,
00255 in PRBool bWillRunLater);
00256
00257 AString getLibrary();
00258
00259 void setLimitAndType(in PRUint32 nLimit,
00260 in AString strLimitType,
00261 in PRBool bWillRunLater);
00262
00263 PRUint32 getLimit();
00264
00265 AString getLimitType();
00266
00267 void getLimitAndType(out PRUint32 nLimit,
00268 out AString strLimitType);
00269
00270 void setSelectedBy(in AString strSelectedBy);
00271
00272 AString getSelectedBy();
00273
00274 void setMatch(in AString strMatchOn);
00275
00276 AString getMatch();
00277
00278 void addConstraint(in AString strMetadata,
00279 in AString strConstraint,
00280 in AString strConstraintValue,
00281 in PRBool bWillRunLater);
00282
00283 PRUint32 getConstraintCount();
00284
00285 PRUint32 getAllConstraints();
00286
00287 PRBool getConstraint(in PRUint32 nIndex);
00288
00289 void replaceConstraint(in PRUint32 nIndex,
00290 in AString strMetadata,
00291 in AString strConstraint,
00292 in AString strConstraintValue,
00293 in PRBool bWillRunLater);
00294
00295 void removeConstraint(in PRUint32 nIndex,
00296 in PRBool bWillRunLater);
00297
00298 void removeAllConstraints(in PRBool bWillRunLater);
00299
00300
00301
00302 void setQuery(in AString strQuery,
00303 in PRBool bWillRunLater);
00304
00305
00306 AString getQuery();
00307
00308 PRBool rebuildPlaylist();
00309 };
00310
00311 [scriptable, uuid(0BE3A41A-6673-494a-A53E-9740A98ACFF7)]
00312 interface sbIPlaylistManager : nsISupports
00313 {
00314 void createDefaultPlaylistManager(in sbIDatabaseQuery queryObj);
00315
00316 sbISimplePlaylist createSimplePlaylist(in AString strName,
00317 in AString strReadableName,
00318 in AString strDescription,
00319 in AString strType,
00320 in PRUint32 nColumnCount,
00321 [array, size_is(nColumnCount)] in wstring aColumns,
00322 in sbIDatabaseQuery queryObj);
00323
00324 sbIPlaylist createPlaylist(in AString strName,
00325 in AString strReadableName,
00326 in AString strDescription,
00327 in AString strType,
00328 in sbIDatabaseQuery queryObj);
00329
00330 sbIDynamicPlaylist createDynamicPlaylist(in AString strName,
00331 in AString strReadableName,
00332 in AString strDescription,
00333 in AString strType,
00334 in AString strURL,
00335 in PRUint32 nPeriodicity,
00336 in sbIDatabaseQuery queryObj);
00337
00338 sbISmartPlaylist createSmartPlaylist(in AString strName,
00339 in AString strReadableName,
00340 in AString strDescription,
00341 in AString strType,
00342 in AString strLibrary,
00343 in PRUint32 nLimit,
00344 in AString strLimitType,
00345 in AString strSelectedBy,
00346 in AString strMatchOn,
00347 in sbIDatabaseQuery queryObj);
00348
00349 sbIPlaylist copyPlaylist(in AString strSourceDB,
00350 in AString strSourceName,
00351 in AString strDestDB,
00352 in AString strDestName,
00353 in AString strReadableName,
00354 in AString strDescription,
00355 in AString strType,
00356 in sbIDatabaseQuery queryObj);
00357
00358 sbISimplePlaylist copySimplePlaylist(in AString strSourceDB,
00359 in AString strSourceName,
00360 in AString strSourceFilterColumn,
00361 in PRUint32 nSourceFilterValueCount,
00362 [array, size_is(nSourceFilterValueCount)] in wstring aSourceFilterValues,
00363 in AString strDestDB,
00364 in AString strDestName,
00365 in AString strReadableName,
00366 in AString strDescription,
00367 in AString strType,
00368 in sbIDatabaseQuery queryObj);
00369
00370 PRInt32 deleteSimplePlaylist(in AString strName,
00371 in sbIDatabaseQuery queryObj);
00372
00373 PRInt32 deletePlaylist(in AString strName,
00374 in sbIDatabaseQuery queryObj);
00375
00376 PRInt32 deleteDynamicPlaylist(in AString strName,
00377 in sbIDatabaseQuery queryObj);
00378
00379 PRInt32 deleteSmartPlaylist(in AString strName,
00380 in sbIDatabaseQuery queryObj);
00381
00382 void getAllPlaylistList(in sbIDatabaseQuery queryObj);
00383
00384 void getSimplePlaylistList(in sbIDatabaseQuery queryObj);
00385
00386 void getPlaylistList(in sbIDatabaseQuery queryObj);
00387
00388 void getDynamicPlaylistList(in sbIDatabaseQuery queryObj);
00389
00390 void getSmartPlaylistList(in sbIDatabaseQuery queryObj);
00391
00392 sbISimplePlaylist getSimplePlaylist(in AString strName,
00393 in sbIDatabaseQuery queryObj);
00394
00395 sbIPlaylist getPlaylist(in AString strName,
00396 in sbIDatabaseQuery queryObj);
00397
00398 sbIDynamicPlaylist getDynamicPlaylist(in AString strName,
00399 in sbIDatabaseQuery queryObj);
00400
00401 sbISmartPlaylist getSmartPlaylist(in AString strName,
00402 in sbIDatabaseQuery queryObj);
00403
00404 PRUint32 getDynamicPlaylistsForUpdate(in sbIDatabaseQuery queryObj);
00405
00406 PRBool setDynamicPlaylistLastUpdate(in AString strName,
00407 in sbIDatabaseQuery queryObj);
00408
00409 void purgeTrackByGUIDFromPlaylists(in AString mediaGUID,
00410 in AString strDBGUID);
00411 };