if (conn->request_name("dbuscxx.quickstart_0.server", DBUSCXX_NAME_FLAG_REPLACE_EXISTING) != DBus::RequestNameResponse::PrimaryOwner) return1;
// create an object on us std::shared_ptr<DBus::Object> object = conn->create_object("/dbuscxx/quickstart_0", DBus::ThreadForCalling::DispatcherThread);
// add a method that can be called over the dbus object->create_method<double(double, double)>("dbuscxx.Quickstart", "add", sigc::ptr_fun(add));
// create an object proxy, which stands in for a real object. // a proxy exists over the dbus std::shared_ptr<DBus::ObjectProxy> object; object = connection->create_object_proxy("dbuscxx.quickstart_0.server", "/dbuscxx/quickstart_0");
// a method proxy acts like a real method, but will go over the dbus // to do its work. DBus::MethodProxy<double(double, double)> &add_proxy = *(object->create_method<double(double, double)>("dbuscxx.Quickstart", "add"));