12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- /* -*- 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 "nsIStreamListener.idl"
- interface nsIURI;
- interface nsIFeedResultListener;
- interface nsIInputStream;
- /**
- * An nsIFeedProcessor parses feeds, triggering callbacks based on
- * their contents.
- */
- [scriptable, uuid(8a0b2908-21b0-45d7-b14d-30df0f92afc7)]
- interface nsIFeedProcessor : nsIStreamListener {
- /**
- * The listener that will respond to feed events.
- */
- attribute nsIFeedResultListener listener;
- // Level is where to listen for the extension, a constant: FEED,
- // ENTRY, BOTH.
- //
- // XXX todo void registerExtensionHandler(in
- // nsIFeedExtensionHandler, in long level);
-
- /**
- * Parse a feed from an nsIInputStream.
- *
- * @param stream The input stream.
- * @param uri The base URI.
- */
- void parseFromStream(in nsIInputStream stream, in nsIURI uri);
- /**
- * Parse a feed from a string.
- *
- * @param str The string to parse.
- * @param uri The base URI.
- */
- void parseFromString(in AString str, in nsIURI uri);
- /**
- * Parse a feed asynchronously. The caller must then call the
- * nsIFeedProcessor's nsIStreamListener methods to drive the
- * parse. Do not call the other parse methods during an asynchronous
- * parse.
- *
- * @param requestObserver The observer to notify on start/stop. This
- * argument can be null.
- * @param uri The base URI.
- */
- void parseAsync(in nsIRequestObserver requestObserver, in nsIURI uri);
- };
|