michael@0: /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 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: michael@0: interface nsIFile; michael@0: michael@0: /** michael@0: * This interface provides a means for enumerating the contents of a directory. michael@0: * It is similar to nsISimpleEnumerator except the retrieved entries are QI'ed michael@0: * to nsIFile, and there is a mechanism for closing the directory when the michael@0: * enumeration is complete. michael@0: */ michael@0: [scriptable, uuid(31f7f4ae-6916-4f2d-a81e-926a4e3022ee)] michael@0: interface nsIDirectoryEnumerator : nsISupports michael@0: { michael@0: /** michael@0: * Retrieves the next file in the sequence. The "nextFile" element is the michael@0: * first element upon the first call. This attribute is null if there is no michael@0: * next element. michael@0: */ michael@0: readonly attribute nsIFile nextFile; michael@0: michael@0: /** michael@0: * Closes the directory being enumerated, releasing the system resource. michael@0: * @throws NS_OK if the call succeeded and the directory was closed. michael@0: * NS_ERROR_FAILURE if the directory close failed. michael@0: * It is safe to call this function many times. michael@0: */ michael@0: void close(); michael@0: }; michael@0: