mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2025-12-31 20:36:25 +00:00
libsysprof: serialize dbus proxy settings
This commit is contained in:
@ -537,6 +537,45 @@ sysprof_proxy_source_modify_spawn (SysprofSource *source,
|
|||||||
sysprof_proxy_source_take_monitor (self, g_steal_pointer (&monitor));
|
sysprof_proxy_source_take_monitor (self, g_steal_pointer (&monitor));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
sysprof_proxy_source_serialize (SysprofSource *source,
|
||||||
|
GKeyFile *keyfile,
|
||||||
|
const gchar *group)
|
||||||
|
{
|
||||||
|
SysprofProxySource *self = (SysprofProxySource *)source;
|
||||||
|
|
||||||
|
g_assert (SYSPROF_IS_PROXY_SOURCE (self));
|
||||||
|
g_assert (keyfile != NULL);
|
||||||
|
g_assert (group != NULL);
|
||||||
|
|
||||||
|
g_key_file_set_string (keyfile, group, "bus-name", self->bus_name ?: "");
|
||||||
|
g_key_file_set_string (keyfile, group, "object-path", self->object_path ?: "");
|
||||||
|
g_key_file_set_integer (keyfile, group, "bus-type", self->bus_type);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
sysprof_proxy_source_deserialize (SysprofSource *source,
|
||||||
|
GKeyFile *keyfile,
|
||||||
|
const gchar *group)
|
||||||
|
{
|
||||||
|
SysprofProxySource *self = (SysprofProxySource *)source;
|
||||||
|
gint bus_type;
|
||||||
|
|
||||||
|
g_assert (SYSPROF_IS_PROXY_SOURCE (self));
|
||||||
|
g_assert (keyfile != NULL);
|
||||||
|
g_assert (group != NULL);
|
||||||
|
|
||||||
|
g_clear_pointer (&self->bus_name, g_free);
|
||||||
|
g_clear_pointer (&self->object_path, g_free);
|
||||||
|
|
||||||
|
self->bus_name = g_key_file_get_string (keyfile, group, "bus-name", NULL);
|
||||||
|
self->object_path = g_key_file_get_string (keyfile, group, "object-path", NULL);
|
||||||
|
|
||||||
|
bus_type = g_key_file_get_integer (keyfile, group, "bus-type", NULL);
|
||||||
|
if (bus_type == G_BUS_TYPE_SESSION || bus_type == G_BUS_TYPE_SYSTEM)
|
||||||
|
self->bus_type = bus_type;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
source_iface_init (SysprofSourceInterface *iface)
|
source_iface_init (SysprofSourceInterface *iface)
|
||||||
{
|
{
|
||||||
@ -547,6 +586,8 @@ source_iface_init (SysprofSourceInterface *iface)
|
|||||||
iface->stop = sysprof_proxy_source_stop;
|
iface->stop = sysprof_proxy_source_stop;
|
||||||
iface->start = sysprof_proxy_source_start;
|
iface->start = sysprof_proxy_source_start;
|
||||||
iface->modify_spawn = sysprof_proxy_source_modify_spawn;
|
iface->modify_spawn = sysprof_proxy_source_modify_spawn;
|
||||||
|
iface->serialize = sysprof_proxy_source_serialize;
|
||||||
|
iface->deserialize = sysprof_proxy_source_deserialize;
|
||||||
}
|
}
|
||||||
|
|
||||||
G_DEFINE_TYPE_WITH_CODE (SysprofProxySource, sysprof_proxy_source, G_TYPE_OBJECT,
|
G_DEFINE_TYPE_WITH_CODE (SysprofProxySource, sysprof_proxy_source, G_TYPE_OBJECT,
|
||||||
|
|||||||
Reference in New Issue
Block a user