diff -r 000000000000 -r 6474c204b198 netwerk/streamconv/public/nsIDirIndexListener.idl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netwerk/streamconv/public/nsIDirIndexListener.idl Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,79 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* 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 nsIDirIndex; + +/** + * This interface is used to receive contents of directory index listings + * from a protocol. They can then be transformed into an output format + * (such as rdf, html, etc) + */ +[scriptable, uuid(fae4e9a8-1dd1-11b2-b53c-8f3aa1bbf8f5)] +interface nsIDirIndexListener : nsISupports { + /** + * Called for each directory entry + * + * @param request - the request + * @param ctxt - opaque parameter + * @param index - new index to add + */ + void onIndexAvailable(in nsIRequest aRequest, + in nsISupports aCtxt, + in nsIDirIndex aIndex); + + /** + * Called for each information line + * + * @param request - the request + * @param ctxt - opaque parameter + * @param info - new info to add + */ + void onInformationAvailable(in nsIRequest aRequest, + in nsISupports aCtxt, + in AString aInfo); + +}; + +%{C++ +#define NS_IDIRINDEXLISTENER_KEY "@mozilla.org/dirIndexListener;1" +%} + +/** + * A parser for application/http-index-format + */ +[scriptable, uuid(38e3066c-1dd2-11b2-9b59-8be515c1ee3f)] +interface nsIDirIndexParser : nsIStreamListener { + /** + * The interface to use as a callback for new entries + */ + attribute nsIDirIndexListener listener; + + /** + * The comment given, if any + * This result is only valid _after_ OnStopRequest has occurred, + * because it can occur anywhere in the datastream + */ + readonly attribute string comment; + + /** + * The encoding to use + */ + attribute string encoding; +}; + +%{C++ +#define NS_DIRINDEXPARSER_CID \ +{ /* a0d6ad32-1dd1-11b2-aa55-a40187b54036 */ \ + 0xa0d6ad32, \ + 0x1dd1, \ + 0x11b2, \ + { 0xaa, 0x55, 0xa4, 0x01, 0x87, 0xb5, 0x40, 0x36 } \ +} + +#define NS_DIRINDEXPARSER_CONTRACTID "@mozilla.org/dirIndexParser;1" + +%}