|
1 /* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ |
|
2 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
3 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
5 |
|
6 #include "nsISupports.idl" |
|
7 |
|
8 interface rdfITripleVisitor; |
|
9 |
|
10 /** |
|
11 * Interface used in RDF to describe data sources. |
|
12 * |
|
13 * @status PLASMA |
|
14 */ |
|
15 |
|
16 [scriptable, uuid(ebce86bd-1568-4a34-a808-9ccf9cde8087)] |
|
17 interface rdfIDataSource : nsISupports |
|
18 { |
|
19 /** |
|
20 * Visit all the subject resources in the datasource. The order is |
|
21 * intederminate and may change from one invocation to the next. |
|
22 * The subjects will be in the aSubject argument in calls into |
|
23 * aVisitor, aPredicate and aObject will be null. |
|
24 * @note Implementations may throw NS_ERROR_NOT_IMPLEMENTED for |
|
25 * this method, but in this case RDF serializations of this |
|
26 * datasource will not be possible. |
|
27 */ |
|
28 void visitAllSubjects(in rdfITripleVisitor aVisitor); |
|
29 |
|
30 /** |
|
31 * Visit all the triples in the datasource. The order is |
|
32 * intederminate and may change from one invocation to the next. |
|
33 * @note Implementations may throw NS_ERROR_NOT_IMPLEMENTED for |
|
34 * this method, but in this case RDF serializations of this |
|
35 * datasource will not be possible. |
|
36 */ |
|
37 void visitAllTriples(in rdfITripleVisitor aVisitor); |
|
38 }; |