1<?xml version="1.0" encoding="UTF-8" ?>
2<node>
3  <interface name="org.freedesktop.DBus.Introspectable">
4    <method name="Introspect">
5      <arg type="s" name="data" direction="out"/>
6    </method>
7  </interface>
8  <!--
9	WARNING: This interface is subject to change
10    These methods shouldn't be used by any applications other than Pinot.
11	-->
12  <interface name="com.github.fabricecolin.Pinot">
13    <!--
14	Retrieves statistics.
15	 crawledCount: the number of documents crawled
16	 docsCount: the number of documents in the index
17	-->
18    <method name="GetStatistics">
19      <annotation name="com.github.fabricecolin.Pinot.GetStatistics" value="pinotDBus"/>
20      <arg type="u" name="crawledCount" direction="out"/>
21      <arg type="u" name="docsCount" direction="out"/>
22      <arg type="b" name="lowDiskSpace" direction="out" />
23      <arg type="b" name="onBattery" direction="out" />
24      <arg type="b" name="crawling" direction="out" />
25    </method>
26    <!--
27	Instructs the daemon program to reload the configuration file.
28	 reloading: TRUE if the configuration is being reloaded
29	-->
30    <method name="Reload">
31      <annotation name="com.github.fabricecolin.Pinot.Reload" value="pinotDBus"/>
32      <arg type="b" name="reloading" direction="out" />
33    </method>
34    <!--
35	Stops the daemon program.
36	 exitStatus: the daemon's exit status
37	-->
38    <method name="Stop">
39      <annotation name="com.github.fabricecolin.Pinot.Stop" value="pinotDBus"/>
40      <arg type="i" name="exitStatus" direction="out" />
41    </method>
42    <!--
43	Returns a document's properties.
44	 docId: the document's ID
45	 fields: array of (s name, s value) structures with name one of
46	 "caption", "url", "type", "language", "modtime", "size", "extract"
47	-->
48    <method name="GetDocumentInfo">
49      <annotation name="com.github.fabricecolin.Pinot.GetDocumentInfo" value="pinotDBus"/>
50      <arg type="u" name="docId" direction="in"/>
51      <arg type="a(ss)" name="fields" direction="out"/>
52    </method>
53    <!--
54	Returns a document's terms count.
55	 docId: the document's ID
56	 count: the terms count
57	-->
58    <method name="GetDocumentTermsCount">
59      <annotation name="com.github.fabricecolin.Pinot.GetDocumentTermsCount" value="pinotDBus"/>
60      <arg type="u" name="docId" direction="in"/>
61      <arg type="u" name="count" direction="out"/>
62    </method>
63    <!--
64	Returns a document's terms.
65	 docId: the document's ID
66	 terms: array of terms
67	-->
68    <method name="GetDocumentTerms">
69      <annotation name="com.github.fabricecolin.Pinot.GetDocumentTerms" value="pinotDBus"/>
70      <arg type="u" name="docId" direction="in"/>
71      <arg type="as" name="terms" direction="out"/>
72    </method>
73    <!--
74	Gets the list of known labels.
75	 labels: array of labels
76	-->
77    <method name="GetLabels">
78      <annotation name="com.github.fabricecolin.Pinot.GetLabels" value="pinotDBus"/>
79      <arg type="as" name="labels" direction="out"/>
80    </method>
81    <!--
82	Adds a label.
83	 label: the name of the new label
84	-->
85    <method name="AddLabel">
86      <annotation name="com.github.fabricecolin.Pinot.AddLabel" value="pinotDBus"/>
87      <arg type="s" name="label" direction="in"/>
88      <arg type="s" name="label" direction="out"/>
89    </method>
90    <!--
91	Deletes all references to a label.
92	 label: the name of the label to delete
93	-->
94    <method name="DeleteLabel">
95      <annotation name="com.github.fabricecolin.Pinot.DeleteLabel" value="pinotDBus"/>
96      <arg type="s" name="label" direction="in"/>
97      <arg type="s" name="label" direction="out"/>
98    </method>
99    <!--
100	Determines whether a document has a label.
101	 docId: the document's ID
102	 label: the label to check
103	-->
104    <method name="HasLabel">
105      <annotation name="com.github.fabricecolin.Pinot.HasLabel" value="pinotDBus"/>
106      <arg type="u" name="docId" direction="in"/>
107      <arg type="s" name="label" direction="in"/>
108      <arg type="u" name="docId" direction="out"/>
109    </method>
110    <!--
111	Returns a document's labels.
112	 docId: the document's ID
113	 labels: array of labels applied to the document
114	-->
115    <method name="GetDocumentLabels">
116      <annotation name="com.github.fabricecolin.Pinot.GetDocumentLabels" value="pinotDBus"/>
117      <arg type="u" name="docId" direction="in"/>
118      <arg type="as" name="labels" direction="out"/>
119    </method>
120    <!--
121	Sets a document's labels.
122	 docId: the document's ID
123	 labels: array of labels to apply to the document
124	 resetLabels: TRUE if existing labels should be unset
125	-->
126    <method name="SetDocumentLabels">
127      <annotation name="com.github.fabricecolin.Pinot.SetDocumentLabels" value="pinotDBus"/>
128      <arg type="u" name="docId" direction="in"/>
129      <arg type="as" name="labels" direction="in"/>
130      <arg type="b" name="resetLabels" direction="in"/>
131      <arg type="u" name="docId" direction="out"/>
132    </method>
133    <!--
134	Sets documents' labels.
135	 docIds: array of document IDs
136	 labels: array of labels to apply to the documents
137	 resetLabels: TRUE if existing labels should be unset
138	-->
139    <method name="SetDocumentsLabels">
140      <annotation name="com.github.fabricecolin.Pinot.SetDocumentsLabels" value="pinotDBus"/>
141      <arg type="as" name="docIds" direction="in"/>
142      <arg type="as" name="labels" direction="in"/>
143      <arg type="b" name="resetLabels" direction="in"/>
144      <arg type="b" name="status" direction="out"/>
145    </method>
146    <!--
147	Checks whether the given URL is in the index.
148	 docId: the document's ID
149	-->
150    <method name="HasDocument">
151      <annotation name="com.github.fabricecolin.Pinot.HasDocument" value="pinotDBus"/>
152      <arg type="s" name="url" direction="in"/>
153      <arg type="u" name="docId" direction="out"/>
154    </method>
155    <!--
156	Gets terms with the same root.
157	 term: the base term
158     terms: array of suggested terms
159	-->
160    <method name="GetCloseTerms">
161      <annotation name="com.github.fabricecolin.Pinot.GetCloseTerms" value="pinotDBus"/>
162      <arg type="s" name="term" direction="in"/>
163      <arg type="as" name="terms" direction="out"/>
164    </method>
165    <!--
166	Returns the number of documents.
167	 label: a label name
168	 count: the terms count
169	-->
170    <method name="GetDocumentsCount">
171      <annotation name="com.github.fabricecolin.Pinot.GetDocumentsCount" value="pinotDBus"/>
172      <arg type="s" name="label" direction="in"/>
173      <arg type="u" name="count" direction="out"/>
174    </method>
175    <!--
176	Lists documents.
177	 term: the term to optionally filter documents with
178	 termType: the term type
179	 maxCount: the maximum count
180     startOffset: the start offset
181	 docIds: array of document ID
182	-->
183    <method name="ListDocuments">
184      <annotation name="com.github.fabricecolin.Pinot.ListDocuments" value="pinotDBus"/>
185      <arg type="s" name="term" direction="in"/>
186      <arg type="u" name="termType" direction="in"/>
187      <arg type="u" name="maxCount" direction="in"/>
188      <arg type="u" name="startOffset" direction="in"/>
189      <arg type="as" name="docIds" direction="out"/>
190    </method>
191    <!--
192	Updates the given document.
193	 docId: the document's ID
194	-->
195    <method name="UpdateDocument">
196      <annotation name="com.github.fabricecolin.Pinot.UpdateDocument" value="pinotDBus"/>
197      <arg type="u" name="docId" direction="in"/>
198      <arg type="u" name="docId" direction="out"/>
199    </method>
200    <!--
201	Sets a document's properties.
202	 docId: the document's ID
203	 fields: array of (s name, s value) structures with name one of
204	 "caption", "url", "type", "language", "modtime", "size", "extract"
205	-->
206    <method name="SetDocumentInfo">
207      <annotation name="com.github.fabricecolin.Pinot.SetDocumentInfo" value="pinotDBus"/>
208      <arg type="u" name="docId" direction="in"/>
209      <arg type="a(ss)" name="fields" direction="in"/>
210      <arg type="u" name="docId" direction="out"/>
211    </method>
212    <!--
213	Queries the index.
214	 engineType : engine type (defaults to "xapian"). See pinot-search(1) for a list of supported types
215	 engineName : engine name (defaults to "~/.pinot/daemon"). See pinot-search(1) for examples
216	 searchText : search text, as would be entered in Pinot's live query field
217	 startDoc: the first result to return, starting from 0
218	 maxHits: the maximum number of hits desired
219	 estimatedHits: an estimate of the total number of hits
220	 hitsList: hit properties
221	-->
222    <method name="Query">
223      <annotation name="com.github.fabricecolin.Pinot.Query" value="pinotDBus"/>
224      <arg type="s" name="engineType" direction="in" />
225      <arg type="s" name="engineName" direction="in" />
226      <arg type="s" name="searchText" direction="in" />
227      <arg type="u" name="startDoc" direction="in" />
228      <arg type="u" name="maxHits" direction="in" />
229      <arg type="u" name="estimatedHits" direction="out" />
230      <arg type="aa(ss)" name="hitsList" direction="out" />
231    </method>
232    <!--
233	Queries the index.
234	 searchText : search text, as would be entered in Pinot's live query field
235	 maxHits: the maximum number of hits desired
236	 docIds: array of document IDs
237	 docIdsCount: the number of document IDs in the array
238        WARNING: this method is obsolete
239	-->
240    <method name="SimpleQuery">
241      <annotation name="com.github.fabricecolin.Pinot.SimpleQuery" value="pinotDBus"/>
242      <arg type="s" name="searchText" direction="in" />
243      <arg type="u" name="maxHits" direction="in" />
244      <arg type="as" name="docIds" direction="out" />
245    </method>
246    <!--
247    The daemon's version.
248	-->
249    <property name="DaemonVersion" type="s" access="read">
250    </property>
251    <!--
252    Epoch of the latest flush operation.
253	-->
254    <property name="IndexFlushEpoch" type="u" access="read">
255    </property>
256  </interface>
257  <interface name="org.gnome.Shell.SearchProvider2">
258
259    <!--
260        GetInitialResultSet:
261        @terms: Array of search terms, which the provider should treat as logical AND.
262        @results: An array of result identifier strings representing items which match the given search terms. Identifiers must be unique within the provider's domain, but other than that may be chosen freely by the provider.
263
264        Called when the user first begins a search.
265    -->
266    <method name="GetInitialResultSet">
267      <arg type="as" name="terms" direction="in" />
268      <arg type="as" name="results" direction="out" />
269    </method>
270
271    <!--
272        GetSubsearchResultSet:
273        @previous_results: Array of results previously returned by GetInitialResultSet().
274        @terms: Array of updated search terms, which the provider should treat as logical AND.
275        @results: An array of result identifier strings representing items which match the given search terms. Identifiers must be unique within the provider's domain, but other than that may be chosen freely by the provider.
276
277        Called when a search is performed which is a "subsearch" of
278        the previous search, e.g. the method may return less results, but
279        not more or different results.
280
281        This allows search providers to only search through the previous
282        result set, rather than possibly performing a full re-query.
283    -->
284    <method name="GetSubsearchResultSet">
285      <arg type="as" name="previous_results" direction="in" />
286      <arg type="as" name="terms" direction="in" />
287      <arg type="as" name="results" direction="out" />
288    </method>
289
290    <!--
291        GetResultMetas:
292        @identifiers: An array of result identifiers as returned by GetInitialResultSet() or GetSubsearchResultSet()
293        @metas: A dictionary describing the given search result, containing a human-readable 'name' (string), along with the result identifier this meta is for, 'id' (string). Optionally, 'icon' (a serialized GIcon as obtained by g_icon_serialize) can be specified if the result can be better served with a thumbnail of the content (such as with images). 'gicon' (a serialized GIcon as obtained by g_icon_to_string) or 'icon-data' (raw image data as (iiibiiay) - width, height, rowstride, has-alpha, bits per sample, channels, data) are deprecated values that can also be used for that purpose. A 'description' field (string) may also be specified if more context would help the user find the desired result.
294
295        Return an array of meta data used to display each given result
296    -->
297    <method name="GetResultMetas">
298      <arg type="as" name="identifiers" direction="in" />
299      <arg type="aa{sv}" name="metas" direction="out" />
300    </method>
301
302    <!--
303        ActivateResult:
304        @identifier: A result identifier as returned by GetInitialResultSet() or GetSubsearchResultSet()
305        @terms: Array of search terms, which the provider should treat as logical AND.
306        @timestamp: A timestamp of the user interaction that triggered this call
307
308        Called when the users chooses a given result. The result should
309        be displayed in the application associated with the corresponding
310        provider. The provided search terms can be used to allow launching a full search in
311        the application.
312    -->
313    <method name="ActivateResult">
314      <arg type="s" name="identifier" direction="in" />
315      <arg type="as" name="terms" direction="in" />
316      <arg type="u" name="timestamp" direction="in" />
317    </method>
318
319    <!--
320        LaunchSearch:
321        @terms: Array of search terms, which the provider should treat as logical AND.
322        @timestamp: A timestamp of the user interaction that triggered this call
323
324        Asks the search provider to launch a full search in the application for the provided terms.
325    -->
326    <method name="LaunchSearch">
327      <arg type="as" name="terms" direction="in" />
328      <arg type="u" name="timestamp" direction="in" />
329    </method>
330  </interface>
331</node>
332