Songbird / Development / Songbird Add-Ons API Documentation

components/feathers/public/sbIFeathersManager.idl

Go to the documentation of this file.
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 
00033 #include "nsISupports.idl"
00034 
00035 interface nsISimpleEnumerator;
00036 interface sbILayoutDescription;
00037 interface sbISkinDescription;
00038 
00039 interface sbIFeathersManagerListener;
00040 
00041 
00051 [scriptable, uuid(61c28aec-66a6-49f2-85df-9629c7e3d84f)]
00052 interface sbIFeathersManager : nsISupports
00053 {
00057   readonly attribute AString currentLayoutURL;
00058   
00062   readonly attribute AString currentSkinName;
00063 
00067   readonly attribute AString previousLayoutURL;
00068   
00072   readonly attribute AString previousSkinName;
00073 
00077   nsISimpleEnumerator getSkinDescriptions();
00078 
00079 
00083   readonly attribute unsigned long skinCount;
00084 
00085 
00089   nsISimpleEnumerator getLayoutDescriptions();
00090 
00091 
00095   readonly attribute unsigned long layoutCount;
00096 
00097 
00098 
00108   void registerSkin(in sbISkinDescription aSkin);
00109   
00114   void unregisterSkin(in sbISkinDescription aSkin);
00115 
00122   sbISkinDescription getSkinDescription(in AString aInternalName);
00123 
00124 
00125 
00135   void registerLayout(in sbILayoutDescription aLayout);
00136 
00141   void unregisterLayout(in sbILayoutDescription aLayout);
00142 
00149   sbILayoutDescription getLayoutDescription(in AString aLayoutURL);
00150 
00151 
00152 
00167   void assertCompatibility(in AString aLayoutURL,
00168                            in AString aInternalName,
00169                            in boolean aShowChrome,
00170                            in boolean onTop);
00171  
00172 
00173   
00184   void unassertCompatibility(in AString aLayoutURL,
00185                              in AString aInternalName);
00186  
00187   
00188   
00202   void setDefaultLayout(in AString aLayoutURL, in AString aInternalName);
00203   
00204   
00205   
00219   AString getDefaultLayout(in AString aInternalName);
00220   
00221 
00222   
00230   boolean isChromeEnabled(in AString aLayoutURL,
00231                           in AString aInternalName);
00232 
00233 
00234 
00242   boolean isOnTop(in AString aLayoutURL,
00243                   in AString aInternalName);
00244 
00245 
00253   void setOnTop(in AString aLayoutURL,
00254                 in AString aInternalName,
00255                 in boolean aOnTop);
00256 
00257 
00265   boolean canOnTop(in AString aLayoutURL,
00266                    in AString aInternalName);
00267 
00268 
00269 
00277   nsISimpleEnumerator getSkinsForLayout(in AString aLayoutURL);
00278 
00279 
00287   nsISimpleEnumerator getLayoutsForSkin(in AString aInternalName);
00288 
00289 
00303   void switchFeathers(in AString aLayoutURL, 
00304                       in AString aInternalName);
00305                       
00306 
00310   void switchToNextLayout();
00311 
00319   void openPlayerWindow();
00320 
00321 
00327   void addListener(in sbIFeathersManagerListener aListener);
00328 
00334   void removeListener(in sbIFeathersManagerListener aListener);
00335 };
00336 
00337 
00338 
00339 

Generated on Tue Mar 10 14:28:54 2009 for Songbird by  doxygen 1.5.2