X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;ds=sidebyside;f=dbus%2Fdbus-server.c;h=ba993d1bd03ee0f7f1d97f02ea270bd7702eafcf;hb=3ccb027c907f9ee2890028e83b60296204bbf478;hp=19d8590c962dc25b910896ff8b9643cc92db8e76;hpb=28f15d8b219877ac2dca771e823188d018db2db0;p=platform%2Fupstream%2Fdbus.git diff --git a/dbus/dbus-server.c b/dbus/dbus-server.c index 19d8590..ba993d1 100644 --- a/dbus/dbus-server.c +++ b/dbus/dbus-server.c @@ -183,6 +183,55 @@ _dbus_server_init_base (DBusServer *server, return FALSE; } +#ifdef ENABLE_KDBUS_TRANSPORT +static void mini_vtable_dummy_func(DBusServer *server) +{ + // Used to prevent assert errors. Pointer to function is passed to + // DBusServerVTable which is passed to server->vtable in + // dbus_server_init_mini function. +} + +DBusServer* +dbus_server_init_mini (char* address) +{ + DBusServer *server; + + static const DBusServerVTable dbus_server_init_mini_vtable = { + mini_vtable_dummy_func, + mini_vtable_dummy_func + }; + + server = dbus_new0(struct DBusServer, 1); + if(server == NULL) + return NULL; + + memset(server, 0, sizeof(struct DBusServer)); + _dbus_rmutex_new_at_location (&server->mutex); + if (server->mutex == NULL) + goto failed; + server->address = address; + + server->vtable = &dbus_server_init_mini_vtable; + + _dbus_atomic_inc (&server->refcount); + + server->watches = _dbus_watch_list_new (); + if (server->watches == NULL) + goto failed; + + server->timeouts = _dbus_timeout_list_new(); + if (server->timeouts == NULL) + goto failed; + + return server; + +failed: + dbus_free(server); + return NULL; +} +#endif + + /** * Finalizes the members of the DBusServer base class. * Chained up to by subclass finalizers.