00001 /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 00002 /* vim: set sw=2 :miv */ 00003 /* 00004 // 00005 // BEGIN SONGBIRD GPL 00006 // 00007 // This file is part of the Songbird web player. 00008 // 00009 // Copyright(c) 2005-2008 POTI, Inc. 00010 // http://songbirdnest.com 00011 // 00012 // This file may be licensed under the terms of of the 00013 // GNU General Public License Version 2 (the "GPL"). 00014 // 00015 // Software distributed under the License is distributed 00016 // on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either 00017 // express or implied. See the GPL for the specific language 00018 // governing rights and limitations. 00019 // 00020 // You should have received a copy of the GPL along with this 00021 // program. If not, go to http://www.gnu.org/licenses/gpl.html 00022 // or write to the Free Software Foundation, Inc., 00023 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00024 // 00025 // END SONGBIRD GPL 00026 // 00027 */ 00028 00029 //------------------------------------------------------------------------------ 00030 //------------------------------------------------------------------------------ 00031 // 00032 // Interface description for the album art service interface. 00033 // 00034 //------------------------------------------------------------------------------ 00035 //------------------------------------------------------------------------------ 00036 00037 #include "nsISupports.idl" 00038 00039 interface nsIArray; 00040 interface nsIFileURL; 00041 00042 00050 [scriptable, uuid(f88948f8-1dd1-11b2-a38a-e6bf821b07e4)] 00051 interface sbIAlbumArtService : nsISupports 00052 { 00063 nsIArray getFetcherList(in unsigned long type); 00064 00065 00078 boolean imageIsValidAlbumArt 00079 (in AUTF8String aMimeType, 00080 [const, array, size_is(aDataLen)] in octet aData, 00081 in unsigned long aDataLen); 00082 00083 00096 nsIFileURL cacheImage(in AUTF8String aMimeType, 00097 [const, array, size_is(aDataLen)] in octet aData, 00098 in unsigned long aDataLen); 00099 00100 00114 void cacheTemporaryData(in AString aKey, in nsISupports aData); 00115 00116 00125 nsISupports retrieveTemporaryData(in AString aKey); 00126 }; 00127 00128 00129 // 00130 // C++ defs. 00131 // 00132 00133 %{C++ 00134 #define SB_ALBUMARTSERVICE_CONTRACTID \ 00135 "@songbirdnest.com/Songbird/album-art-service;1" 00136 %}C++ 00137