[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: KNotificationAreaItem
From:       Thomas =?iso-8859-15?q?L=FCbking?= <thomas.luebking () web ! de>
Date:       2009-04-20 21:48:18
Message-ID: 200904202348.18987.thomas.luebking () web ! de
[Download RAW message or body]

Am Monday 20 April 2009 schrieb Olivier Goffart:

> Doesnn't the fact that this service is required show a flaw in dbus itself.
> Is there a way to ask dbus all the running client that provides a given
> interface?
qt:qdbusconnectioninterface

the problem is that obviously the services are per bus exclusive (i.e. there 
cannot be two plasma services on the session bus, one carrying KDE's plasma 
and the other one the controls for your fusion reactor)

of course you could check all services whether they provide certain objects 
providing certain functions, but that's
a) heuristic
b) not necessarily efficient...

so if you want a "multiserver-multiclient" architecture (i understand this 
feature as the idea to have a systray in plasma, one in konqueror, one in 
gwenview, one wherever you think it's usefull) you'll need some mediation, 
i.e. one central cerver that manages the client server relationships for one 
task only (if the dbus server would take this job, you could then just get 
collisions on the "task" tag level)

Thomas

[Attachment #3 (text/html)]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" \
"http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" \
content="1" /><style type="text/css">p, li { white-space: pre-wrap; \
}</style></head><body style=" font-family:'Segoe'; font-size:10pt; font-weight:400; \
font-style:normal;">Am Monday 20 April 2009 schrieb Olivier Goffart:<br> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;"><br></p>&gt; Doesnn't the fact that this service is required show \
a flaw in dbus itself.<br> &gt; Is there a way to ask dbus all the running client \
that provides a given<br> &gt; interface?<br>
qt:qdbusconnectioninterface<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;"><br></p>the problem is that obviously the services are per bus \
exclusive (i.e. there cannot be two plasma services on the session bus, one carrying \
KDE's plasma and the other one the controls for your fusion reactor)<br> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>of \
course you could check all services whether they provide certain objects providing \
certain functions, but that's<br> a) heuristic<br>
b) not necessarily efficient...<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;"><br></p>so if you want a "multiserver-multiclient" architecture (i \
understand this feature as the idea to have a systray in plasma, one in konqueror, \
one in gwenview, one wherever you think it's usefull) you'll need some mediation, \
i.e. one central cerver that manages the client server relationships for one task \
only (if the dbus server would take this job, you could then just get collisions on \
the "task" tag level)<br> <p style="-qt-paragraph-type:empty; margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0;"><br></p>Thomas</p></body></html>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic