diff options
Diffstat (limited to 'src/nm-manager.c')
-rw-r--r-- | src/nm-manager.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/nm-manager.c b/src/nm-manager.c index 2766e86aed..5e6dedcf82 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -220,6 +220,7 @@ NM_GOBJECT_PROPERTIES_DEFINE (NMManager, PROP_METERED, PROP_GLOBAL_DNS_CONFIGURATION, PROP_ALL_DEVICES, + PROP_CHECKPOINTS, /* Not exported */ PROP_SLEEPING, @@ -5709,7 +5710,7 @@ _checkpoint_mgr_get (NMManager *self, gboolean create_as_needed) NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self); if (G_UNLIKELY (!priv->checkpoint_mgr) && create_as_needed) - priv->checkpoint_mgr = nm_checkpoint_manager_new (self); + priv->checkpoint_mgr = nm_checkpoint_manager_new (self, obj_properties[PROP_CHECKPOINTS]); return priv->checkpoint_mgr; } @@ -6251,6 +6252,7 @@ get_property (GObject *object, guint prop_id, const NMGlobalDnsConfig *dns_config; const char *type; NMConnectivity *connectivity; + char **strv; switch (prop_id) { case PROP_VERSION: @@ -6337,6 +6339,12 @@ get_property (GObject *object, guint prop_id, case PROP_ALL_DEVICES: nm_utils_g_value_set_object_path_array (value, priv->devices, NULL, NULL); break; + case PROP_CHECKPOINTS: + strv = NULL; + if (priv->checkpoint_mgr) + strv = nm_checkpoint_manager_get_checkpoint_paths (priv->checkpoint_mgr); + g_value_take_boxed (value, strv); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -6691,6 +6699,12 @@ nm_manager_class_init (NMManagerClass *manager_class) G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + obj_properties[PROP_CHECKPOINTS] = + g_param_spec_boxed (NM_MANAGER_CHECKPOINTS, "", "", + G_TYPE_STRV, + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS); + g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties); /* signals */ |