toolkit/components/feeds/nsIFeed.idl

Fri, 16 Jan 2015 18:13:44 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 16 Jan 2015 18:13:44 +0100
branch
TOR_BUG_9701
changeset 14
925c144e1f1f
permissions
-rw-r--r--

Integrate suggestion from review to improve consistency with existing code.

     1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
     2 /* This Source Code Form is subject to the terms of the Mozilla Public
     3  * License, v. 2.0. If a copy of the MPL was not distributed with this
     4  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     6 #include "nsIFeedContainer.idl"
     8 interface nsIArray;
     9 interface nsIFeedGenerator;
    11 /**
    12  * An nsIFeed represents a single Atom or RSS feed.
    13  */
    14 [scriptable, uuid(3b8aae33-80e2-4efa-99c8-a6c5b99f76ea)]
    15 interface nsIFeed : nsIFeedContainer
    16 {
    17   /** 
    18   * Uses description, subtitle, and extensions
    19   * to generate a summary. 
    20   */
    21   attribute nsIFeedTextConstruct subtitle;
    23   // All content classifies as a "feed" - it is the transport.
    24   const unsigned long TYPE_FEED = 0;
    25   const unsigned long TYPE_AUDIO = 1;
    26   const unsigned long TYPE_IMAGE = 2;
    27   const unsigned long TYPE_VIDEO = 4;
    29   /**
    30   * The type of feed. For example, a podcast would be TYPE_AUDIO.
    31   */
    32   readonly attribute unsigned long type;
    34   /**
    35   * The total number of enclosures found in the feed.
    36   */
    37   attribute long enclosureCount;
    39   /**
    40   * The items or entries in feed.
    41   */
    42   attribute nsIArray items;
    44   /**
    45   * No one really knows what cloud is for.
    46   *
    47   * It supposedly enables some sort of interaction with an XML-RPC or
    48   * SOAP service.
    49   */
    50   attribute nsIWritablePropertyBag2 cloud;
    52   /**
    53   * Information about the software that produced the feed.
    54   */
    55   attribute nsIFeedGenerator generator;
    57   /**
    58   * An image url and some metadata (as defined by RSS2).
    59   *
    60   */
    61   attribute nsIWritablePropertyBag2 image;
    63   /**
    64   * No one really knows what textInput is for.
    65   *
    66   * See
    67   * <http://www.cadenhead.org/workbench/news/2894/rss-joy-textinput>
    68   * for more details.
    69   */
    70   attribute nsIWritablePropertyBag2 textInput;
    72   /**
    73   * Days to skip fetching. This field was supposed to designate
    74   * intervals for feed fetching. It's not generally implemented. For
    75   * example, if this array contained "Monday", aggregators should not
    76   * fetch the feed on Mondays.
    77   */
    78   attribute nsIArray skipDays;
    80  /**
    81   * Hours to skip fetching. This field was supposed to designate
    82   * intervals for feed fetching. It's not generally implemented. See
    83   * <http://blogs.law.harvard.edu/tech/rss> for more information.
    84   */
    85   attribute nsIArray skipHours;
    86 };

mercurial