int main(void) { auto dbusConnection = CommonAPI::DBus::DBusConnection::getBus(CommonAPI::DBus::DBusType_t::SESSION); if (!dbusConnection->isConnected()) dbusConnection->connect(); assert(dbusConnection->isConnected()); const bool serviceNameAcquired = dbusConnection->requestServiceNameAndBlock( "org.genivi.CommonAPI.DBus.TestDBusInterfaceAdapter"); assert(serviceNameAcquired); auto testStub = std::make_shared<TestStub>(); auto testStubAdapter = std::make_shared<TestDBusStubAdapter>( "my:common.api:address.for.dbus", "org.genivi.CommonAPI.DBus.TestDBusInterfaceAdapter", "/common/api/dbus/TestDBusInterfaceAdapter", dbusConnection, testStub); testStubAdapter->init(testStubAdapter); auto dbusMessageCall = CommonAPI::DBus::DBusMessage::createMethodCall(CommonAPI::DBus::DBusAddress("org.genivi.CommonAPI.DBus.TestDBusInterfaceAdapter", testStubAdapter->getDBusAddress().getObjectPath().c_str(), testStubAdapter->getDBusAddress().getService().c_str()), "GetEmptyResponse"); const bool messageSent = dbusConnection->sendDBusMessage(dbusMessageCall); assert(messageSent); for (int i = 0; i < 10; i++) { dbusConnection->readWriteDispatch(100); } assert(dispatchedMessageCount > 0); testStubAdapter->deinit(); return 0; }
DBusMessage DBusProxyBase::createMethodCall(const std::string &_method, const std::string &_signature) const { return DBusMessage::createMethodCall(getDBusAddress(), _method, _signature); }