/* -*- Mode: C++; tab-width: 8; 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" interface nsIURI; interface nsIRequest; interface nsIFeedResult; /** * nsIFeedResultService provides a globally-accessible object for retrieving * the results of feed processing. */ [scriptable, uuid(950a829e-c20e-4dc3-b447-f8b753ae54da)] interface nsIFeedResultService : nsISupports { /** * When set to true, forces the preview page to be displayed, regardless * of the user's preferences. */ attribute boolean forcePreviewPage; /** * Adds a URI to the user's specified external feed handler, or live * bookmarks. * @param uri * The uri of the feed to add. * @param title * The title of the feed to add. * @param subtitle * The subtitle of the feed to add. * @param feedType * The nsIFeed type of the feed. See nsIFeed.idl */ void addToClientReader(in AUTF8String uri, in AString title, in AString subtitle, in unsigned long feedType); /** * Registers a Feed Result object with a globally accessible service * so that it can be accessed by a singleton method outside the usual * flow of control in document loading. * * @param feedResult * An object implementing nsIFeedResult representing the feed. */ void addFeedResult(in nsIFeedResult feedResult); /** * Gets a Feed Handler object registered using addFeedResult. * * @param uri * The URI of the feed a handler is being requested for */ nsIFeedResult getFeedResult(in nsIURI uri); /** * Unregisters a Feed Handler object registered using addFeedResult. * @param uri * The feed URI the handler was registered under. This must be * the same *instance* the feed was registered under. */ void removeFeedResult(in nsIURI uri); };