core: drop dead/unused code
The daemon is a nice idea but needs a lot more thought. Let's just delete the unused code for now and come back to it later.
This commit is contained in:
1 parent
311493338e
commit
664e9b404d
3 files changed
-261
No files matched your search
@@ -36,161 +36,9 @@ static GDBusNodeInfo *introspection_data = NULL;
|
||||
static const gchar introspection_xml[] =
|
||||
"<node>"
|
||||
" <interface name='org.gnome.OSTree'>"
|
||||
" <method name='CancelOperation'>"
|
||||
" <arg type='u' name='id' direction='in'/>"
|
||||
" </method>"
|
||||
" <method name='AddBootRoot'>"
|
||||
" <arg type='s' name='revision' direction='in'/>"
|
||||
" <arg type='u' name='op_id' direction='out'/>"
|
||||
" </method>"
|
||||
" <method name='RemoveBootRoot'>"
|
||||
" <arg type='s' name='revision' direction='in'/>"
|
||||
" <arg type='u' name='op_id' direction='out'/>"
|
||||
" </method>"
|
||||
" <method name='SetBootRoot'>"
|
||||
" <arg type='s' name='revision' direction='in'/>"
|
||||
" <arg type='u' name='op_id' direction='out'/>"
|
||||
" </method>"
|
||||
" <method name='Overlay'>"
|
||||
" <arg type='s' name='dir' direction='in'/>"
|
||||
" <arg type='u' name='op_id' direction='out'/>"
|
||||
" </method>"
|
||||
" <method name='Diff'>"
|
||||
" <arg type='s' name='dir' direction='in'/>"
|
||||
" <arg type='h' name='handle' direction='out'/>"
|
||||
" </method>"
|
||||
" <signal name='OperationEnded'>"
|
||||
" <arg type='u' name='op_id' />"
|
||||
" <arg type='b' name='successful' />"
|
||||
" <arg type='s' name='result_str' />"
|
||||
" </signal>"
|
||||
" </interface>"
|
||||
"</node>";
|
||||
|
||||
static void
|
||||
operation_new (OstreeDaemon *self,
|
||||
const char *sender,
|
||||
guint *out_id,
|
||||
OstreeDaemonOperation **out_op)
|
||||
{
|
||||
|
||||
*out_id = ++self->op_id;
|
||||
*out_op = g_new0 (OstreeDaemonOperation, 1);
|
||||
(*out_op)->requestor_dbus_name = g_strdup (sender);
|
||||
(*out_op)->cancellable = g_cancellable_new ();
|
||||
}
|
||||
|
||||
static void
|
||||
operation_free (OstreeDaemonOperation *op)
|
||||
{
|
||||
g_free (op->requestor_dbus_name);
|
||||
g_object_unref (op->cancellable);
|
||||
g_free (op);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
op_return (OstreeDaemon *self,
|
||||
OstreeDaemonOperation *op,
|
||||
GError *error_return)
|
||||
{
|
||||
gboolean ret = FALSE;
|
||||
GVariant *args = NULL;
|
||||
|
||||
g_hash_table_remove (self->ops, GUINT_TO_POINTER (op->id));
|
||||
|
||||
if (error_return)
|
||||
args = g_variant_new ("(ubs)", op->id, FALSE, error_return->message);
|
||||
else
|
||||
args = g_variant_new ("(ubs)", op->id, TRUE, "Success");
|
||||
|
||||
g_dbus_connection_emit_signal (self->bus,
|
||||
op->requestor_dbus_name,
|
||||
OSTREE_DAEMON_PATH,
|
||||
OSTREE_DAEMON_IFACE,
|
||||
"OperationEnded",
|
||||
args,
|
||||
NULL);
|
||||
|
||||
ret = TRUE;
|
||||
operation_free (op);
|
||||
ot_clear_gvariant (&args);
|
||||
return ret;
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
OstreeDaemonOperation *op;
|
||||
GFile *dir;
|
||||
} OverlayDirThreadData;
|
||||
|
||||
typedef struct {
|
||||
OverlayDirThreadData *tdata;
|
||||
GError *error;
|
||||
} OverlayDirEmitInIdleData;
|
||||
|
||||
static gboolean
|
||||
overlay_dir_emit_in_idle (gpointer data)
|
||||
{
|
||||
OverlayDirEmitInIdleData *idledata = data;
|
||||
|
||||
op_return (idledata->tdata->op->daemon,
|
||||
idledata->tdata->op,
|
||||
idledata->error);
|
||||
|
||||
g_free (idledata);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gpointer
|
||||
overlay_dir_thread (gpointer data)
|
||||
{
|
||||
OverlayDirThreadData *tdata = data;
|
||||
GMainContext *context = NULL;
|
||||
GFile *sysroot_f = NULL;
|
||||
OverlayDirEmitInIdleData *idledata = g_new0 (OverlayDirEmitInIdleData, 1);
|
||||
|
||||
idledata->tdata = tdata;
|
||||
|
||||
context = g_main_context_new ();
|
||||
|
||||
sysroot_f = g_file_new_for_path ("/sysroot/ostree/current");
|
||||
|
||||
g_main_context_push_thread_default (context);
|
||||
|
||||
(void)ot_gfile_merge_dirs (sysroot_f,
|
||||
tdata->dir,
|
||||
tdata->op->cancellable,
|
||||
&(idledata->error));
|
||||
g_idle_add (overlay_dir_emit_in_idle, idledata);
|
||||
|
||||
g_main_context_pop_thread_default (context);
|
||||
|
||||
g_main_context_unref (context);
|
||||
|
||||
g_clear_object (&tdata->dir);
|
||||
g_free (tdata);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
do_op_overlay (OstreeDaemon *self,
|
||||
const char *dir,
|
||||
OstreeDaemonOperation *op)
|
||||
{
|
||||
OverlayDirThreadData *tdata = g_new0 (OverlayDirThreadData, 1);
|
||||
|
||||
tdata->op = op;
|
||||
tdata->dir = g_file_new_for_path (dir);
|
||||
|
||||
#if GLIB_CHECK_VERSION(2,32,0) && !defined(OSTREE_GLIB_TARGET_MIN)
|
||||
g_thread_new ("overlay-dir-thread", overlay_dir_thread, tdata);
|
||||
#else
|
||||
g_thread_create_full (overlay_dir_thread, tdata, 0, FALSE, FALSE,
|
||||
G_THREAD_PRIORITY_NORMAL, NULL);
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
handle_method_call (GDBusConnection *connection,
|
||||
const gchar *sender,
|
||||
@@ -201,23 +49,6 @@ handle_method_call (GDBusConnection *connection,
|
||||
GDBusMethodInvocation *invocation,
|
||||
gpointer user_data)
|
||||
{
|
||||
OstreeDaemon *self = user_data;
|
||||
guint32 op_id;
|
||||
OstreeDaemonOperation *op;
|
||||
|
||||
if (g_strcmp0 (method_name, "Overlay") == 0)
|
||||
{
|
||||
const gchar *dirpath;
|
||||
|
||||
g_variant_get (parameters, "(&s)", &dirpath);
|
||||
|
||||
operation_new (self, sender, &op_id, &op);
|
||||
|
||||
do_op_overlay (self, dirpath, op);
|
||||
|
||||
g_dbus_method_invocation_return_value (invocation,
|
||||
g_variant_new ("(u)", op_id));
|
||||
}
|
||||
}
|
||||
|
||||
static const GDBusInterfaceVTable interface_vtable =
|
||||
|
||||
Reference in new issue
Block a user