Re: dot-oaf style questions
- From: Mark McLoughlin <mark skynet ie>
- To: Maciej Stachowiak <mjs noisehavoc org>
- Cc: Darin Adler <darin bentspoon com>, "Dirk-Jan C. Binnema" <bulkmeel yahoo co uk>, Gnome Components <gnome-components-list gnome org>
- Subject: Re: dot-oaf style questions
- Date: Thu, 29 Nov 2001 08:04:11 +0000 (GMT)
Hi Maciej,
On Wed, 28 Nov 2001, Maciej Stachowiak wrote:
> > You seem pretty sure of the semantics here. But I'm not. Exposing
> > Bonobo/Control, which derives from Bonobo/Unknown, does seem like it exposes
> > Bonobo/Unknown. But this is all beside the point for the current uses of
> > repo_ids anyway, so it's probably not worth debating.
>
> The list of repo_ids is the list of interfaces you can queryInterface
> for successfully. When you QI for Bonobo/Unknown on something that
> provides Bonobo/Control, it will succeed because of the
> inheritance. (Microsoft COM works the same way).
>
> So I think it is correct to list inherited interfaces in the repo_id
> field.
This is what I presumed the semantics to be when I as working
on the applets. It was actually extremely useful .. Every applet has
the following repo_ids attribute
<oaf_attribute name="repo_ids" type="stringv">
<item value="IDL:GNOME/PanelAppletShell:1.0"/>
<item value="IDL:Bonobo/Control:1.0"/>
<item value="IDL:Bonobo/Unknown:1.0"/>
</oaf_attribute>
and then to build the applets menu I use the following query
has_all (repo_ids, ['IDL:Bonobo/Control:1.0', 'IDL:GNOME/PanelAppletShell:1.0']) &&
defined (panel:icon) && defined (panel:category)
sorting by category, then name ...
There's some *serious* power in bonobo-activation :-)
Good Luck,
Mark.
Btw, the api-docs description of repo_ids don't mention that it should
be a list of interfaces QI-able. I've expanded and committed :
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/bonobo-activation/ChangeLog,v
retrieving revision 1.248
diff -u -p -r1.248 ChangeLog
--- ChangeLog 2001/11/26 02:08:19 1.248
+++ ChangeLog 2001/11/29 07:55:34
@@ -1,3 +1,8 @@
+2001-11-29 Mark McLoughlin <mark skynet ie>
+
+ * api-docs/server-xml-reference.sgml: expand desription of
+ repo_ids attribute.
+
2001-11-22 Michael Meeks <michael ximian com>
* server/activation-context-query-parser.y: remove
cvs server: Diffing api-docs
Index: api-docs/server-xml-reference.sgml
===================================================================
RCS file:
/cvs/gnome/bonobo-activation/api-docs/server-xml-reference.sgml,v
retrieving revision 1.1
diff -u -p -r1.1 server-xml-reference.sgml
--- api-docs/server-xml-reference.sgml 2001/08/07 08:49:57 1.1
+++ api-docs/server-xml-reference.sgml 2001/11/29 07:55:34
@@ -123,7 +123,7 @@ Their list follows.
<row>
<entry>repo_ids</entry>
<entry>stringv</entry>
- <entry>the list of all IDL interfaces this component implements</entry>
+ <entry>the list of all IDL interfaces this component implements. i.e. the list of interfaces for which a queryInterface operation on the component will succeed.</entry>
<entry>yes</entry>
</row>
<row>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]