/*
 * BEGIN FLOCK GPL
 *
 * Copyright Flock Inc. 2005-2009
 * http://flock.com
 *
 * This file may be used under the terms of the
 * GNU General Public License Version 2 or later (the "GPL"),
 * http://www.gnu.org/licenses/gpl.html
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 *
 * END FLOCK GPL
 */

#include "nsISupports.idl"

interface nsISimpleEnumerator;
interface nsIURI;

interface flockIFeed;
interface flockIFeedFolder;
interface flockIFeedContextObserver;

[scriptable, uuid(6522637e-8e3b-4d98-8d8c-fd29272e9110)]
interface flockIFeedContext : nsISupports {
  AString getName();

  flockIFeedFolder getRoot();

  flockIFeed getSubscription(in nsIURI aFeedURI);
  nsISimpleEnumerator getSubscriptions();

  boolean existsSubscription(in nsIURI aFeedURI);

  void refresh();

  PRInt32 getRefreshInterval();
  void setRefreshInterval(in PRInt32 aMinutes);

  PRInt32 getFeedItemCap();
  void setFeedItemCap(in PRInt32 aMaxItems);
    
  void addObserver(in flockIFeedContextObserver aObserver);
  void removeObserver(in flockIFeedContextObserver aObserver);
};
