/*
 * BEGIN FLOCK GPL
 *
 * Copyright Flock Inc. 2005-2008
 * 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"
#include "nsISimpleEnumerator.idl"
#include "nsIURL.idl"

#include "flockIFeedItem.idl"
#include "flockIFeedFolderItem.idl"
#include "flockIFeedContext.idl"

[scriptable, uuid(a19f2f4a-58e8-4898-ba51-22bccfdc883e)]
interface flockIFeed : flockIFeedFolderItem {
    nsIURL getURL();
    nsIURL getLink();

    AString getType();

    AString getSubtitle();

    nsIURL getImage();
    nsIURL getFavicon();

    AString getAuthor();

    PRTime getPubDate();

    nsIURL getFinalURL();

    PRUint32 getItemCount();
    flockIFeedItem getItem(in PRUint32 index);
    nsISimpleEnumerator getItems();

    void refresh();

    flockIFeedContext getContext();

    nsISimpleEnumerator getUnreadItems();
    nsISimpleEnumerator getFlaggedItems();
};
