<font color='black' size='2' face='arial'>
<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">Hi Simon,</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"> </div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">Thanks for detailed reply.  I tried couple of options, still no luck. Let me first give you more detailed description of the requirement:</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"> </div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">In my main application: there are multiple apps (nodes) communication via dbus, with signals (messages) - both broadcast messages and peer-to-peer messages. This is all working fine. Also, the applications(nodes) are duplicated, to form two logical set of applications.</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"> Set 1 -> Node A ----communicate -----Node X</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"> Set 2 -> Node B ----communicate -----Node Y</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"> </div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">Here, the message names and node names are same while registering on to dbus. So, Still Node X and Y, both has subscribed to same message which Node A and B will emit. What I want to achieve is, a possibility of 2 Private Bus, </div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">on PrivateBus -1 , Only Node A and Node X exists</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">and on PrivateBus-2 , Only Node B and Node Y exists. Something similar to what you have expalined in last paragraph of your reply.</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"> </div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"> What I have done till now:</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">1) Created private1.conf and private2.conf under /etc/dbus-1/ folder.</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">2) changed path for both the conf files like: unix:abstract=/tmp/private_1 and unix:abstract=/tmp/private_2</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">3) Generated unique uuid and Set machine-id-1 and machine-id-2 under /var/run/dbus and /var/lib/dbus.</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">4) created private1 and private2 folders under /root/.dbus/ folder.</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">5) Started dbus-daemon for both private configuration :</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">dbus-daemon --fork --print-address --config-file=/etc/dbus-1/private-1.conf</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">6) Set the DBUS_PRIVATE_1_BUS_ADDRESS with /tmp/private_1 content</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">7) Source code changes (added DBUS_BUS_PRIVATE in dbus_shared.h and modified the enum N_BUS_TYPE 5 in dbus-bus.c</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"> </div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">All the above mentioned steps were executed successfully, no issues till now. Now in my source I tried to get on to my Private Bus i.e dbus_bus_get(DBUS_BUS_PRIVATE, &error) and this also worked fine. Now, I am not sure if all the above mentioned steps are in right directions or not but my nodes (sender and receiver) are running and able to communicate on Private BUS(which i hope i have set it up correctly :) ).</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"> </div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">The Current issue:</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">I have added 1 Sender node and 2 receiver nodes on to bus(private), just to check if private bus configuration is working fine. Out of 2 receiver nodes, one is on SESSION BUS and another is on PRIVATE BUS and both registered for the same message from same sender. When I am sending the message, it is been received by both the receiver node. This is quite strange behaviour and looks like both are<SPAN class=Apple-converted-space> </SPAN> still on one bus and my private bus is just an alias of original session bus.</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"> </div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">I did recompiled the dbus source(for one change in dbus-bus.c file) and copied the new binaries in appropriate place. Faced some expected behaviour (system crash) and recovered from there.</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"> </div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">I need help on following points:</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">1) Am  i going in right direction? or anything i am missing in here..</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">2) Alternate approaches, mentioned by you looks bit complex (though can be attempted in order to become DBus expert :) ) and I am looking for some simple solution.</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">3) I have no clue on these steps and most of experiments are from my learning by working with Dbus in last 6 months. So, I am desperately looking for some help here.</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"> </div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">The DbusServer based approach can be one possible solution but its something I will try if I don't have any alternate left. Reason: Where ever possible, I am trying not to touch DBus Source and try with setting config n similar stuff to get my work done. I do agree that my requirement is strange and out of the box, but I would like to achieve this as it looks like possible.</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"> <SPAN class=Apple-converted-space> </SPAN><br>
Thanks,</div>


<div style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); TEXT-INDENT: 0px; FONT: small arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(34,34,34); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">Manoj Singh</div>


<div style="FONT-FAMILY: arial,helvetica; COLOR: black; FONT-SIZE: 10pt">-----Original Message-----<br>
From: Simon McVittie <simon.mcvittie@collabora.co.uk><br>
To: dbus <dbus@lists.freedesktop.org><br>
Sent: Fri, Dec 7, 2012 5:19 pm<br>
Subject: Re: DBUS - Is it possible to have 2 instance of session bus or something similar?‏<br>
<br>


<div style="BACKGROUND-COLOR: #fff; MARGIN: 0px; FONT-FAMILY: Tahoma, Verdana, Arial, Sans-Serif; COLOR: #000; FONT-SIZE: 12px" id=AOLMsgPart_0_5c09af6f-e172-410b-af93-5884054d0d96><PRE style="FONT-SIZE: 9pt"><TT>On 07/12/12 06:09, Manoj.Sing wrote:
> (For ex) Node-A and Node-B both emits SIGNAL-1 and Node-X and Node-Y
> both would like to receive SIGNAL-1 (they have registered for SIGNAL-1
> by dbus_add_match() call), 
> Now, if <FONT size=2>once</FONT> the signal-1 gets emitted, the dbus daemon will deliver it
> to both Node-X and Node-Y. 
> Where as my requirement is Node-A's signal-1 should be received by
> Node-X and Node-B's SINGAL-1 should be receieved by Node-B

That's all pretty vague. Without knowing what you want to achieve, I
can't give very good advice.
<FONT size=2></FONT><FONT size=2></FONT>
Would you be equally happy with A's signal being received by Y and B's
signal being received by X (i.e. each signal goes to an arbitrarily
chosen recipient), or is there something specific that ties together
(A,X) and (B,Y)?
<FONT size=2></FONT>
If there is something special about the pairs (A,X) and (B,Y), then A
and B could use different well-known bus names, and X and Y should each
AddMatch() for their corresponding service.
<FONT size=2></FONT><FONT size=2></FONT>
Using a private bus or private connection for each pair is only
desirable if you're doing something quite strange (either not
conceptually part of "the session" or "the system", or sufficiently
high-data-rate that doing it on the session bus would be a problem - but
if your task is that high-data-rate, then D-Bus is not really designed
for it).

> 1. dbus_connection_open_private() - Not much help, not sure on usage
> part as limited documentation is available.

Using an out-of-band connection is not recommended unless you're
(willing to become) a D-Bus expert; but if it's what you need, here is
an outline of how to do it:
<FONT size=2></FONT>
* in A and B, use DBusServer to listen on a "vague" address, probably
  unix:tmpdir=/tmp or nonce-<FONT size=2>tcp</FONT>:host=127.0.0.1

* get the "connectable" address of that DBusServer from
  dbus_server_get_address()

* in X and Y, connect to it with dbus_connection_open_private()

* it's a direct peer-to-peer connection, not a bus connection,
  so there is no name ownership and there are no broadcasts

(Some of the libdbus regression tests do this.)

Another way to do similarly is to have a private session-like bus by
running a dbus-daemon with your own configuration (--config
/etc/dbus-1/something.conf, where something.conf is provided by you and
resembles session.conf, instead of --session), capturing its address
using a pipe and the --print-address parameter, and connecting to that
with dbus_connection_open_private() followed by dbus_bus_register(). I
think this is how AT-SPI, as used in current GNOME, works.

    S
_______________________________________________
dbus mailing list
<A __removedLink__532083094__href="mailto:dbus@lists.freedesktop.org">dbus@lists.freedesktop.org</A>
<A target=_blank __removedLink__532083094__href="http://lists.freedesktop.org/mailman/listinfo/dbus">http://lists.freedesktop.org/mailman/listinfo/dbus</A>
</TT></PRE></div>
<!-- end of AOLMsgPart_0_5c09af6f-e172-410b-af93-5884054d0d96 --></div>
</font>