/* 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 nsIMsgFolder;
interface nsIUrlListener;
interface nsIMsgWindow;

[scriptable, uuid(6839c636-41c2-11e3-b346-00269e4fddc1)]
interface nsINewsBlogFeedDownloader : nsISupports
{
  void downloadFeed(in string aUrl, in nsIMsgFolder aFolder,
                    in boolean aQuickMode, in wstring aTitle,
                    in nsIUrlListener aUrlListener, in nsIMsgWindow aMsgWindow);

  /**
   * A convient method to subscribe to feeds without going through the Subscribe
   * dialog; used by drag and drop and commandline.
   */
  void subscribeToFeed(in string aUrl, in nsIMsgFolder aFolder,
                       in nsIMsgWindow aMsgWindow);

  /**
   * Called when the RSS Incoming Server detects a change to an RSS folder name,
   * such as delete (move to trash), move/copy, or rename. We then need to update
   * the feeds.rdf subscriptions data source.
   */
  void updateSubscriptionsDS(in nsIMsgFolder aFolder, in nsIMsgFolder aOrigFolder);
};

