Re: dbus example

David Sommerseth <[email protected]>
Newsgroups gmane.comp.freedesktop.dbus
Message-ID <[email protected]>
On 01/08/17 09:53, Yubin Ruan wrote:
> 2017-08-01 15:44 GMT+08:00 Thiago Macieira <[email protected]>:
>> On terça-feira, 1 de agosto de 2017 00:34:05 PDT Yubin Ruan wrote:
>>> 2017-08-01 15:23 GMT+08:00 Thiago Macieira <[email protected]>:
>>>> On terça-feira, 1 de agosto de 2017 00:11:33 PDT Yubin Ruan wrote:
>>>>> Hi,
>>>>> I am wondering whether anyone can offer me a simple workable
>>>>> client-server example. I have finished reading the tutorials at dbus's
>>>>> website but cannot figure out how to use dbus in practice. All the
>>>>> examples there are too abstract and only describe interface and design
>>>>> pattern behind it.
>>>>>
>>>>> So it would be more easier for me to get start if anyone in this list
>>>>> can offer me an client-server example where client send messages to
>>>>> server using dbus as a communication tunnel.
>>>>
>>>> Do you have a preference for a D-Bus binding?
>>>
>>> Sorry I should have mentioned that a C/C++ binding would be
>>> preferable. But if you have examples in other bindings it is also OK.
>>
>> Any C++ binding will work? Then I can give you examples using QtDBus.
> 
> Yes. But please offer a workable example. Many thanks!

I learnt a lot by diving into the QtDBus API docs and examples there.
Pluss I tried the dbus-c++ library (which seems no longer maintained).

For my own C++ implementation requirements, I actually ended up wrapping
gdbus (from glib2) into a C++ wrapping.  The reason is that the Qt
versions officially supported on the platforms I was aiming at have very
limited C++11 support.  Qt is in many ways a reasonable framework to
work with.  But it drags along a lot of solutions to issues which have
been resolved in the C++11 and C++14 specs.  As I have a strict minimum
C++11 implementation requirement from my project lead, Qt was less ideal.

The D-Bus documentation is truly scarce.  The QtDBus docs are really
good though, and the glib2/gdbus docs are reasonable.

But I advice you to get a reasonable grip how D-Bus works first through
a simpler API (such as Python or perhaps Perl) and then look at how to
do this in C++.

And by all means, get to know both the qdbus and gdbus command line
tools.  They can be helpful when trying to get a confirmation you the
D-Bus service got implemented how you wanted it.  Other nice tools are
d-feet, qdbusviewer and dbus-send.


-- 
kind regards,

David Sommerseth
_______________________________________________
dbus mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dbus
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.