michael@0: /* -*- Mode: IDL; 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 nsIRDFResource; michael@0: interface nsIRDFNode; michael@0: michael@0: /** michael@0: * Interface used in RDF to enumerate triples. michael@0: * Also used by rdfIDataSource::getAllSubjects, then aPredicate, michael@0: * aObject and aTruthValue are ignored. michael@0: * michael@0: * @status PLASMA michael@0: */ michael@0: michael@0: [scriptable, function, uuid(aafea151-c271-4505-9978-a100d292800c)] michael@0: interface rdfITripleVisitor : nsISupports michael@0: { michael@0: /** michael@0: * Callback function for returning query results. michael@0: * michael@0: * @param aSubject, aPredicate, aObject describe the (sub-)arc michael@0: * @returnCode NS_RDF_STOP_VISIT to stop iterating over the query result. michael@0: * Any error code will stop the iteration as well. michael@0: */ michael@0: void visit(in nsIRDFNode aSubject, in nsIRDFResource aPredicate, michael@0: in nsIRDFNode aObject, in boolean aTruthValue); michael@0: };