2006/11/29, Jamie McCracken <<a href="mailto:jamiemcc@blueyonder.co.uk">jamiemcc@blueyonder.co.uk</a>>:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Mikkel Kamstrup Erlandsen wrote:<br><br>><br>> Why is it that you are against a dbus object per query? That way you<br>> listen to signal on the object directly and avoid message filtering (and<br>> possible flooding of the bus). More over a a dedicated object is also
<br>> easier to bind in the toolkits (as far as I can see atleast).<br><br>the bus is shared so if you have a separate object dbus is effectively<br>filtering on that object - its no different from setting up a manual<br>
match rule to filter on a QueryID<br><br><br><br>><br>><br>> Heres my suggested spec for Wasabi:<br>><br>> ServiceTypes is an array of service names like "Files", "Emails" etc<br>
> need to define full list)<br>><br>><br>> method PrepareQuery (ServiceTypes as, query s) return ID i<br>><br>> method ExecuteQuery (int ID, offset i, limit i) return as (array of<br>> uri's)
<br>><br>> method QueryHitCount (int ID) return i<br>><br>><br>> signal QueryHitAdd (ID i, uri s)<br>> signal QueryHitRemove (ID i, uri s)<br>><br>> The above is easy to implement and should cover the simple ground
<br>><br>><br>><br>> Do I understand correctly in that you mean to use this interface<br>> directly with no toolkit bindings? (I'm not objecting - just inquiring).<br><br>yes - toolkits already integrate with dbus unless I misuderstood what
<br>you mean?<br><br>toolkits can further abstract and avoid dbus'isms like libtracker but<br>they are not strictly necessary</blockquote><div><br><br>You understood correctly. You mean to let apps use that interface directly. I was asking if you intended to wrap that api in a toolkit dependent client (which you didn't).
<br><br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">><br>> What about snippets and file/object properties?<br><br>yes true - we can add those
<br><br>><br>><br>> For nautilus also needed is extra methods for searching files by mime<br>> types and/or location - these can be separate methods as tracker<br>> implements them (mime and location dont have a meaning with non-file
<br>> entities)<br>><br>><br>><br>> What about Konq? Does it have any special needs?<br><br>right we need to get all the *simple* requirements from apps so that the<br>initial searech interface is useful (if not all powerful). If it can
<br>address 90%+ of needs then it will succeed.</blockquote><div><br><br>Ok. My opinion is this:<br><br>Create a simple api for direct use. No live queries, just batch deliverance and support for paging (much like the current spec on WasabiSearchSimple). The question on whether to standardize on a simple query (non-xml, maybe beagle-like syntax) language as well remains open.
<br></div><br><br>When we have the simple interface in place, create a "live" (or "full") interface to support live queries and what not. This includes a XML query language. This interface is intended for toolkit bindings (think native Client objects in QT/Gobject), but should be usable without these.
<br><br><br>Cheers,<br>Mikkel<br></div>