dbus: Use new bus name, object and interface

The new interface is a more typical use of DBus, exposing multiple
methods for the functions that are available on the object. The legacy
interface by comparison exposed only one method whose arguments selected
sub-commands to be executed. The legacy approach is not terribly
discoverable and leads to a lack of clarity in the client code. The
legacy approach also obscured the implementation with its use of `struct
mbox_dbus_msg`. The new interface wraps around the existing helpers and
so also deals with `struct mbox_dbus_msg`, but this can at least be
removed in the future.

Change-Id: I7113ed8fd2324bf3fb049d8d20acb3fd7fba6de3
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
diff --git a/control_dbus.h b/control_dbus.h
new file mode 100644
index 0000000..4a3b2ff
--- /dev/null
+++ b/control_dbus.h
@@ -0,0 +1,22 @@
+#ifndef DBUS_CONTROL_H
+#define DBUS_CONTROL_H
+
+#include "mbox.h"
+
+int control_dbus_init(struct mbox_context *context);
+void control_dbus_free(struct mbox_context *context);
+
+int control_legacy_init(struct mbox_context *context);
+void control_legacy_free(struct mbox_context *context);
+
+/* Control actions */
+int control_ping(struct mbox_context *context);
+int control_daemon_state(struct mbox_context *context);
+int control_lpc_state(struct mbox_context *context);
+int control_reset(struct mbox_context *context);
+int control_kill(struct mbox_context *context);
+int control_modified(struct mbox_context *context);
+int control_suspend(struct mbox_context *context);
+int control_resume(struct mbox_context *context, bool modified);
+
+#endif