michael@0: /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #include "nsISupports.idl" michael@0: interface nsIFeedContainer; michael@0: interface nsIProperties; michael@0: interface nsIURI; michael@0: michael@0: /** michael@0: * The nsIFeedResult interface provides access to HTTP and parsing michael@0: * metadata for a feed or entry. michael@0: */ michael@0: [scriptable, uuid(7a180b78-0f46-4569-8c22-f3d720ea1c57)] michael@0: interface nsIFeedResult : nsISupports { michael@0: michael@0: /** michael@0: * The Feed parser will set the bozo bit when a feed triggers a fatal michael@0: * error during XML parsing. There may be entries and feed metadata michael@0: * that were parsed before the error. Thanks to Tim Bray for michael@0: * suggesting this terminology. michael@0: * michael@0: */ michael@0: attribute boolean bozo; michael@0: michael@0: /** michael@0: * The parsed feed or entry. michael@0: * michael@0: * Will be null if a non-feed is processed. michael@0: */ michael@0: attribute nsIFeedContainer doc; michael@0: michael@0: /** michael@0: * The address from which the feed was fetched. michael@0: */ michael@0: attribute nsIURI uri; michael@0: michael@0: /** michael@0: * Feed Version: michael@0: * atom, rss2, rss09, rss091, rss091userland, rss092, rss1, atom03, michael@0: * atomEntry, rssItem michael@0: * michael@0: * Will be null if a non-feed is processed. michael@0: */ michael@0: attribute AString version; michael@0: michael@0: /** michael@0: * An XSLT stylesheet available to transform the source of the michael@0: * feed. Some feeds include this information in a processing michael@0: * instruction. It's generally intended for clients with specific michael@0: * feed capabilities. michael@0: */ michael@0: attribute nsIURI stylesheet; michael@0: michael@0: /** michael@0: * HTTP response headers that accompanied the feed. michael@0: */ michael@0: attribute nsIProperties headers; michael@0: michael@0: /** michael@0: * Registers a prefix used to access an extension in the feed/entry michael@0: */ michael@0: void registerExtensionPrefix(in AString aNamespace, in AString aPrefix); michael@0: };