<!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>> Doesnn't the fact that this service is required show a flaw in dbus itself.<br>
> Is there a way to ask dbus all the running client that provides a given<br>
> 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>