00001 /* 00002 // 00003 // BEGIN SONGBIRD GPL 00004 // 00005 // This file is part of the Songbird web player. 00006 // 00007 // Copyright(c) 2005-2008 POTI, Inc. 00008 // http://songbirdnest.com 00009 // 00010 // This file may be licensed under the terms of of the 00011 // GNU General Public License Version 2 (the "GPL"). 00012 // 00013 // Software distributed under the License is distributed 00014 // on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either 00015 // express or implied. See the GPL for the specific language 00016 // governing rights and limitations. 00017 // 00018 // You should have received a copy of the GPL along with this 00019 // program. If not, go to http://www.gnu.org/licenses/gpl.html 00020 // or write to the Free Software Foundation, Inc., 00021 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00022 // 00023 // END SONGBIRD GPL 00024 // 00025 */ 00026 00027 #include "nsISupports.idl" 00028 00029 interface sbIMediaList; 00030 interface sbIMediaPageInfo; 00031 interface sbIMediaListMatch; 00032 interface nsISimpleEnumerator; 00033 00039 [scriptable, uuid(c41af2f6-8716-4e9e-bc5a-cf8dd8d67a41)] 00040 interface sbIMediaPageManager : nsISupports 00041 { 00050 sbIMediaPageInfo registerPage(in AString aName, in AString aURL, in sbIMediaListMatch aMatch); 00051 00057 void unregisterPage(in sbIMediaPageInfo aPageInfo); 00058 00066 nsISimpleEnumerator getAvailablePages([optional] in sbIMediaList aList); 00067 00086 sbIMediaPageInfo getPage(in sbIMediaList aList); 00087 00094 void setPage(in sbIMediaList aList, in sbIMediaPageInfo aPageInfo); 00095 }; 00096 00097 00102 [scriptable, uuid(c9673d60-d36b-11dc-95ff-0800200c9a66)] 00103 interface sbIMediaPageInfo: nsISupports 00104 { 00108 readonly attribute AString contentTitle; 00109 00113 readonly attribute AString contentUrl; 00114 00118 readonly attribute sbIMediaListMatch matchInterface; 00119 }; 00120 00121 00133 [scriptable, function, uuid(2d185072-2dd1-40bc-a3fd-5599ca873503)] 00134 interface sbIMediaListMatch: nsISupports 00135 { 00139 PRBool match(in sbIMediaList aList); 00140 }; 00141