/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "nsISupports.idl" /** * WARNING: * * This interface is deprecated and will be removed in a future release. * Use the mozIAsyncLivemarks interface instead. */ interface nsIURI; interface nsINavBookmarksService; [scriptable, uuid(62a5fe00-d85c-4a63-aef7-176d8f1b189d)] interface nsILivemarkService : nsISupports { /** * Starts the livemark refresh timer. * Being able to manually control this allows activity such * as bookmarks import to occur without kicking off HTTP traffic. * * @note This is a no-op and exists just as a compatibility shim. * * @deprecated use the mozIAsyncLivemarks interface instead. */ void start(); /** * Stop the livemark refresh timer. * * @note This is a no-op and exists just as a compatibility shim. * * @deprecated use the mozIAsyncLivemarks interface instead. */ void stopUpdateLivemarks(); /** * Creates a new livemark * @param folder The id of the parent folder * @param name The name to show when displaying the livemark * @param siteURI The URI of the site the livemark was created from * @param feedURI The URI of the actual RSS feed * @param index The index to insert at, or * nsINavBookmarksService.DEFAULT_INDEX to append. * @returns the ID of the folder for the livemark * * @deprecated use the mozIAsyncLivemarks interface instead. */ long long createLivemark(in long long folder, in AString name, in nsIURI siteURI, in nsIURI feedURI, in long index); /** * Same as above, use during startup to avoid HTTP traffic */ long long createLivemarkFolderOnly(in long long folder, in AString name, in nsIURI siteURI, in nsIURI feedURI, in long index); /** * Determines whether the folder with the given folder ID identifies * a livemark container. * * @param folder A folder ID * * @returns true if the given folder is a livemark folder, or * false otherwise * * @throws NS_ERROR_INVALID_ARG if the folder ID isn't known * * @deprecated use the mozIAsyncLivemarks interface instead. */ boolean isLivemark(in long long folder); /** * Determines whether the feed URI is a currently registered livemark. * * @param aFeedURI * Feed URI to look for. * * @returns the found livemark folder id, or -1 if nothing was found. * * @deprecated use the mozIAsyncLivemarks interface instead. */ long long getLivemarkIdForFeedURI(in nsIURI aFeedURI); /** * Gets the URI of the website associated with a livemark container. * * @param container The folder ID of a livemark container * * @returns nsIURI representing the URI of the website; if the livemark * container doesn't have a valid site URI, null will be returned * * @throws NS_ERROR_INVALID_ARG if the folder ID isn't known or identifies * a folder that isn't a livemark container * @throws NS_ERROR_MALFORMED_URI if the site URI annotation has * somehow been corrupted (and can't be turned into an nsIURI) * * @deprecated use the mozIAsyncLivemarks interface instead. */ nsIURI getSiteURI(in long long container); /** * Sets the URI of the website associated with a livemark container. * * @param container The folder ID of a livemark container * @param siteURI nsIURI object representing the site URI, or null * to clear the site URI for this livemark container * * @throws NS_ERROR_INVALID_ARG if the folder ID isn't known or identifies * a folder that isn't a livemark container; also if the siteURI * argument isn't a valid nsIURI object (or null) * * @note This is a no-op and exists just as a compatibility shim. * * @deprecated use the mozIAsyncLivemarks interface instead. */ void setSiteURI(in long long container, in nsIURI siteURI); /** * Gets the URI of the syndication feed associated with a livemark container. * * @param container The folder ID of a livemark container * * @returns nsIURI representing the URI of the feed; if the livemark * container doesn't have a valid feed URI, null will be returned * of the nsIURI object returned will be the empty string. * * @throws NS_ERROR_INVALID_ARG if the folder ID isn't known or identifies * a folder that isn't a livemark container * @throws NS_ERROR_MALFORMED_URI if the site URI annotation has * somehow been corrupted (and can't be turned into an nsIURI) * * @deprecated use the mozIAsyncLivemarks interface instead. */ nsIURI getFeedURI(in long long container); /** * Sets the URI of the feed associated with a livemark container. * * NOTE: The caller is responsible for reloading the livemark after * changing its feed URI (since the contents are likely to be different * given a different feed). * * @param container The folder ID of a livemark container * @param feedURI nsIURI object representing the syndication feed URI * * @throws NS_ERROR_INVALID_ARG if the folder ID isn't known or identifies * a folder that isn't a livemark container; also if the feedURI * argument isn't a valid nsIURI object * * @note This is a no-op and exists just as a compatibility shim. * * @deprecated use the mozIAsyncLivemarks interface instead. */ void setFeedURI(in long long container, in nsIURI feedURI); /** * Reloads all livemark subscriptions, whether or not they've expired. * * @deprecated use the mozIAsyncLivemarks interface instead. */ void reloadAllLivemarks(); /** * Reloads the livemark with this folder ID, whether or not it's expired. * @param folderID The ID of the folder to be reloaded * * @deprecated use the mozIAsyncLivemarks interface instead. */ void reloadLivemarkFolder(in long long folderID); }; %{C++ #define LMANNO_FEEDURI "livemark/feedURI" %}