Самое противное для dbus это не сколько написание биндингов сколько
интеграция опроса в главный цикл программы. Собстенно dbus-qt
интегрируется в QApplication, а dbus-glib в gmainloop.

А тут куда интегрируемся?

On Fri, Sep 16, 2005 at 12:39:23PM +0400, Anton Farygin wrote:
> 
> On Tue, 09 Aug 2005 14:06:01 +0200, David Eriksson wrote:
> 
> > Hi,
> > 
> > As Paul Durante were also doing his own C++ bindings for D-BUS instead of
> > using the Freedesktop-sponsored C++ bindings [1], I might just as well
> > confess I was hit my by the NIH syndrome [2] and also wrote a C++ wrapper
> > for the D-BUS API. It's not finished yet but it contains enough for my
> > needs at the moment.
> > 
> > Comments are welcome!
> > 
> > 
> > Example code for a method call:
> > 
> >   dbus::Connection_ptr dbus_connection(
> >       dbus::Bus::Get(DBUS_BUS_SYSTEM));
> > 
> >   dbus::Message_ptr method_call(
> >       dbus::Message::NewMethodCall(
> >         "service",
> >         "path",
> >         "interface",
> >         "method")
> >       );
> > 
> >   DBusMessageIter iter;
> >   method_call->IterInit(iter);
> > 
> >   // [Adding parameters to iterator]
> > 
> >   dbus::Message_ptr reply(
> >       dbus_connection->SendWithReplyAndBlock(method_call) );
> > 
> >   DBusMessageIter reply_iter;
> >   reply->IterInit(reply_iter);
> > 
> >   // [Getting return values from reply iterator]
> > 
> > 
> > 
> > Implementation notes:
> > 
> > - Written for D-BUS 0.23 (Using D-BUS 0.23.4 on Ubuntu 5.04)
> > 
> > - Any C++ users who for various reasons are not using Boost [3] might not
> > like my bindings because I depend on boost::shared_ptr.
> > 
> > - Many API calls are not wrapped; most notably iterators.
> > 
> > - I plan to write an iostream-like wrapper for iterators
> > 
> > - Poorly documented
> > 
> > - No unit tests
> > 
> > 
> > View the source code at the URLs below. (Remove .html from the URLs above
> > to get the plain text files.)
> > 
> > http://www.2good.nu/blandat/dbus-wrapper.hh.html
> > http://www.2good.nu/blandat/dbus-wrapper.cc.html
> > http://www.2good.nu/blandat/dbus-filter.hh.html
> > http://www.2good.nu/blandat/dbus-object.hh.html
> > 
> > If anyone wants to use my C++ wrapper, I hereby release it according to
> > the the MIT license [4].
> > 
> > 
> > [1] http://freedesktop.org/wiki/Software_2fdbus_2dcpp
> > 
> > [2] http://en.wikipedia.org/wiki/Not_Invented_Here
> > 
> > [3] http://boost.org
> > 
> > [4] http://opensource.org/licenses/mit-license.php
> 

> _______________________________________________
> Devel-conf mailing list
> [email protected]
> https://lists.altlinux.ru/mailman/listinfo/devel-conf

_______________________________________________
Devel-conf mailing list
[email protected]
https://lists.altlinux.ru/mailman/listinfo/devel-conf

Ответить