2 #include "wvglibwrapper.h"
3 #include "wvistreamlist.h"
9 static void myfilter(WvDBus
&conn
, const WvDBus::Msg
&msg
)
12 dbus_message_is_method_call(msg
, "ca.nit.dbustest", "StupidMember");
13 wvcon
->print("filter_func: %s (matches=%s)\n ",
14 (int)(void *)msg
, match
);
18 WvStringList::Iter
i(l
);
19 for (i
.rewind(); i
.next(); )
20 wvcon
->print("'%s' ", *i
);
25 WvDBus::ReplyMsg
reply(msg
);
26 dbus_message_append_args(reply
,
27 DBUS_TYPE_DOUBLE
, 42.6,
28 DBUS_TYPE_STRING
, "rstring1",
29 DBUS_TYPE_STRING
, "rstring2",
32 wvcon
->print("sent reply.\n");
39 // link glib mainloop into WvStreams
40 WvIStreamList
&list(WvIStreamList::globallist
);
41 WvGlibWrapper
glib(NULL
);
42 list
.append(&glib
, false);
44 // running connection between wvcon and uniconf daemon, just for fun
45 WvTCPConn
tcp("127.0.0.1", 4111);
46 list
.append(&tcp
, false);
47 list
.append(wvcon
, false);
48 tcp
.autoforward(*wvcon
);
49 wvcon
->autoforward(tcp
);
52 conn
.setcallback(myfilter
);
53 conn
.request_name("ca.nit.dbustest");
55 WvDBus::CallMsg
msg("ca.nit.dbustest", "/ca/nit/dbustest",
56 "ca.nit.dbustest", "StupidMember");
57 msg
.append("yes", "hello", "world");
58 dbus_message_append_args(msg
,
59 DBUS_TYPE_DOUBLE
, 42.6,
60 DBUS_TYPE_STRING
, "string1",
61 DBUS_TYPE_STRING
, "string2",
63 dbus_message_append_args(msg
,
64 DBUS_TYPE_DOUBLE
, 42.6,
65 DBUS_TYPE_STRING
, "string1",
66 DBUS_TYPE_STRING
, "string2",
70 WvDBus::Msg
reply(conn
.sendsync(msg
, 1000));
71 wvcon
->print("reply: %s\n", (int)(DBusMessage
*)reply
);
74 while (tcp
.isok() && wvcon
->isok())