MCS design proposal
Jannis Pohlmann
jannis at xfce.org
Sun Jul 8 22:48:40 CEST 2007
Am Sun, 08 Jul 2007 21:32:23 +0200
schrieb Bo Lorentsen <bl at lue.dk>:
> Jannis Pohlmann wrote:
>
> > The easiest way to explain the MCS model is this: Imagine all
> > properties are identified by an URI. AFAIK, GConf uses absolute URIs
> > for all properties while the MCS model makes it possible to define a
> > base URI (a "channel") which is then used for all property queries.
> Ahh, that makes sense too ...
>
> But, are channel names organized as a path, like an URL ?
>
> How about signaling, will it follow a tree like structure, like this
> example :
>
> root -> my_group -> my_first_app
> -> my_second_app
>
> Will I be able to listen to :
>
> /root/my_group/my_first_app for a specifik app setting changes
>
> /root/my_group for a group of app's setting changes
>
> /root for all groups
Yes. See the client example on
http://www.foo-projects.org/~jannis/xfce4-mcs-design.html#client-example
All you would have to do is monitor all three channels or just
"/root" (and in the latter case do the filtering on your own) by
connecting to the "property-changed" signal of the XfceMcsChannel
objects.
> > The MCS concept makes it possible to apply restrictions (e.g. in
> > kiosk mode) to certain channels.
> Ok, nice ... does this reflect on the D-Bus interface ?
Not yet, but except some kind of org.xfce.MCS#IsReadonly function I
don't see the need for additions to the API and the D-Bus interface.
Most of the kiosk mode would be implemented inside the MCS daemon (e.g.
based on a kiosk mode flag in the MCS daemon config and readonly flags
for all properties affected by the kiosk mode).
> One last thing, have anyone been thinking about some kind of channel
> naming convention so all have a good idea of where to look or put
> settings ?
As long as we have not made a decision about whether to implement this
design or not there's really no need for naming conventions. We could
use anything from a Java-packages-like scheme
org.xfce.panel.plugins.Verve.Width
to an URL-like scheme
/xfce/panel/plugins/verve-plugin/width
Let's decide about the MCS future first, before starting to discuss
less important details.
> Ps: I have not been able to find some general doc. about the old MCS
> system, except for API doc.
Use the source, Luke. There's no good MCS documentation that I know of.
- Jannis
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.xfce.org/pipermail/xfce4-dev/attachments/20070708/60ac32e7/attachment.pgp>
More information about the Xfce4-dev
mailing list