summaryrefslogtreecommitdiffstats
path: root/network/server.c
diff options
context:
space:
mode:
Diffstat (limited to 'network/server.c')
-rw-r--r--network/server.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/network/server.c b/network/server.c
index 8695aeaa..e88b8090 100644
--- a/network/server.c
+++ b/network/server.c
@@ -161,3 +161,28 @@ static const DBusObjectPathVTable server_table = {
.message_function = server_message,
.unregister_function = server_unregister,
};
+
+int server_register(DBusConnection *conn, const char *path)
+{
+ struct network_server *ns;
+
+ if (!conn)
+ return -1;
+
+ ns = g_new0(struct network_server, 1);
+
+ /* register path */
+ if (!dbus_connection_register_object_path(conn, path,
+ &server_table, ns)) {
+ error("D-Bus failed to register %s path", path);
+ goto fail;
+ }
+
+ ns->path = g_strdup(path);
+ info("Registered server path:%s", path);
+
+ return 0;
+fail:
+ server_free(ns);
+ return -1;
+}