
git-svn-id: http://dev.openwengo.org/svn/openwengo/wengophone-ng/branches/wengophone-dbus-api/libs/dbus@7382 30a43799-04e7-0310-8b2b-ea0d24f86d0e
52 lines
856 B
C++
52 lines
856 B
C++
#include "server.h"
|
|
#include <signal.h>
|
|
|
|
|
|
class EchoServer :
|
|
public EchoInterface,
|
|
public DBus::IntrospectableAdaptor,
|
|
public DBus::ObjectAdaptor
|
|
{
|
|
public:
|
|
EchoServer( DBus::Connection& conn ) : DBus::ObjectAdaptor(conn, "/org/test/cbus/EchoServer")
|
|
{}
|
|
|
|
DBus::Message Echo( const DBus::CallMessage& msg )
|
|
{
|
|
DBus::MessageIter r = msg.r_iter();
|
|
|
|
DBus::ReturnMessage ret(msg);
|
|
DBus::MessageIter w = ret.w_iter();
|
|
|
|
const char* string = r.get_string();
|
|
|
|
w.append_string(string);
|
|
|
|
return ret;
|
|
}
|
|
};
|
|
|
|
|
|
DBus::BusDispatcher dispatcher;
|
|
|
|
void niam( int sig )
|
|
{
|
|
dispatcher.leave();
|
|
}
|
|
|
|
int main()
|
|
{
|
|
signal(SIGTERM, niam);
|
|
signal(SIGINT, niam);
|
|
|
|
DBus::default_dispatcher = &dispatcher;
|
|
|
|
DBus::Connection conn = DBus::Connection::SessionBus();
|
|
conn.request_name("org.test.cbus");
|
|
|
|
EchoServer server(conn);
|
|
|
|
dispatcher.enter();
|
|
|
|
return 0;
|
|
}
|