00001 /* vim: ts=2 sw=2 expandtab 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 00032 #include "nsISupports.idl" 00033 00034 interface sbIServicePaneNode; 00035 00043 [scriptable, uuid(12526a6a-3edd-4853-97a9-2a729d883178)] 00044 00045 interface sbIBookmarks : nsISupports { 00046 /* \brief Add a bookmark 00047 * Add a bookmark to the service pane. It will be added in the default 00048 * folder. The bookmark's node object will be returned. 00049 * If a bookmark for the given URL already exists then null will be 00050 * returned. 00051 * \param aURL The URL of the page to bookmark 00052 * \param aTitle The title of the bookmark 00053 * \param aIconURL The url of the icon to associate with the bookmark 00054 * \return a new bookmark node or null if the bookmark already exists 00055 */ 00056 sbIServicePaneNode addBookmark (in AString aURL, 00057 in AString aTitle, 00058 in AString aIconURL); 00059 00060 /* \brief Add a bookmark to a specific service pane node (folder) 00061 * Given a folder, add a bookmark to that folder. The bookmark's node 00062 * object will be returned. The folder node can be the node returned 00063 * by addFolder() or getNode() 00064 * If a bookmark for the given URL already exists then null will be 00065 * returned. 00066 * \param aURL The URL of the page to bookmark 00067 * \param aTitle The title of the bookmark 00068 * \param aIconURL The URL of the icon to associate with the bookmark 00069 * \param aParent The parent node (folder) to add the bookmark to 00070 * \param aBefore The node (bookmark) to insert this bookmark before 00071 * \return a new bookmark node or null if the bookmark already exists 00072 * \see addBookmark() 00073 */ 00074 sbIServicePaneNode addBookmarkAt (in AString aURL, 00075 in AString aTitle, 00076 in AString aIconURL, 00077 in sbIServicePaneNode aParent, 00078 in sbIServicePaneNode aBefore); 00079 00080 /* \brief Add a folder 00081 * Add a bookmark folder in the service pane. 00082 * \param aTitle The title of the folder 00083 * \return a new folder node 00084 */ 00085 sbIServicePaneNode addFolder (in AString aTitle); 00086 00087 /* \brief Test if a bookmark exists for the given URL 00088 * \param aURL the URL to test 00089 * \return true if the bookmark exists, false if it does not 00090 */ 00091 boolean bookmarkExists (in AString aURL); 00092 };