/* -*- 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 nsIDOMWindow;

/**
 * Instances of this component write UI into the display page. This component
 * is trusted so can access preferences etc, but page content isn't and so
 * cannot.
 */
[scriptable, uuid(67003393-018c-4e96-af10-c6c51a049fad)]
interface nsIFeedWriter : nsISupports
{
  /**
   * Initializes the feed writer and loads the feed subscription UI.
   * @param  aWindow
   *         The DOMWindow of the preview page.
   *         window.location.href == the URI of the feed.
   */
  void init(in nsIDOMWindow aWindow);

  /**
   * Writes the feed content, assumes that the feed writer is initialized.
   */
  void writeContent();

  /**
   * Uninitialize the feed writer.
   */
  void close();
};
