summary refs log tree commit diff
path: root/src/core/settings/nm-settings.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/settings/nm-settings.h')
-rw-r--r--src/core/settings/nm-settings.h130
1 files changed, 130 insertions, 0 deletions
diff --git a/src/core/settings/nm-settings.h b/src/core/settings/nm-settings.h
new file mode 100644
index 00000000..09a0af57
--- /dev/null
+++ b/src/core/settings/nm-settings.h
@@ -0,0 +1,130 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Søren Sandmann <sandmann@daimi.au.dk>
+ * Dan Williams <dcbw@redhat.com>
+ * Tambet Ingo <tambet@gmail.com>
+ * Copyright (C) 2007 - 2011 Red Hat, Inc.
+ * Copyright (C) 2008 Novell, Inc.
+ */
+
+#ifndef __NM_SETTINGS_H__
+#define __NM_SETTINGS_H__
+
+#include "nm-connection.h"
+
+#include "nm-settings-connection.h"
+
+#define NM_TYPE_SETTINGS (nm_settings_get_type())
+#define NM_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_SETTINGS, NMSettings))
+#define NM_SETTINGS_CLASS(klass) \
+    (G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_SETTINGS, NMSettingsClass))
+#define NM_IS_SETTINGS(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), NM_TYPE_SETTINGS))
+#define NM_IS_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), NM_TYPE_SETTINGS))
+#define NM_SETTINGS_GET_CLASS(obj) \
+    (G_TYPE_INSTANCE_GET_CLASS((obj), NM_TYPE_SETTINGS, NMSettingsClass))
+
+#define NM_SETTINGS_UNMANAGED_SPECS  "unmanaged-specs"
+#define NM_SETTINGS_HOSTNAME         "hostname"
+#define NM_SETTINGS_CAN_MODIFY       "can-modify"
+#define NM_SETTINGS_CONNECTIONS      "connections"
+#define NM_SETTINGS_STARTUP_COMPLETE "startup-complete"
+#define NM_SETTINGS_MANAGER          "manager"
+
+#define NM_SETTINGS_SIGNAL_CONNECTION_ADDED         "connection-added"
+#define NM_SETTINGS_SIGNAL_CONNECTION_UPDATED       "connection-updated"
+#define NM_SETTINGS_SIGNAL_CONNECTION_REMOVED       "connection-removed"
+#define NM_SETTINGS_SIGNAL_CONNECTION_FLAGS_CHANGED "connection-flags-changed"
+
+/**
+ * NMConnectionFilterFunc:
+ * @settings: The #NMSettings requesting the filtering
+ * @connection: the connection to be filtered
+ * @func_data: the caller-provided data pointer
+ *
+ * Returns: %TRUE to allow the connection, %FALSE to ignore it
+ */
+typedef gboolean (*NMSettingsConnectionFilterFunc)(NMSettings *          settings,
+                                                   NMSettingsConnection *connection,
+                                                   gpointer              func_data);
+
+typedef struct _NMSettingsClass NMSettingsClass;
+
+typedef void (*NMSettingsSetHostnameCb)(const char *name, gboolean result, gpointer user_data);
+
+GType nm_settings_get_type(void);
+
+NMSettings *nm_settings_get(void);
+#define NM_SETTINGS_GET (nm_settings_get())
+
+NMSettings *nm_settings_new(NMManager *manager);
+
+gboolean nm_settings_start(NMSettings *self, GError **error);
+
+typedef void (*NMSettingsAddCallback)(NMSettings *           settings,
+                                      NMSettingsConnection * connection,
+                                      GError *               error,
+                                      GDBusMethodInvocation *context,
+                                      NMAuthSubject *        subject,
+                                      gpointer               user_data);
+
+void nm_settings_add_connection_dbus(NMSettings *                    self,
+                                     NMConnection *                  connection,
+                                     NMSettingsConnectionPersistMode persist_mode,
+                                     NMSettingsConnectionAddReason   add_reason,
+                                     NMSettingsConnectionIntFlags    sett_flags,
+                                     NMAuthSubject *                 subject,
+                                     GDBusMethodInvocation *         context,
+                                     NMSettingsAddCallback           callback,
+                                     gpointer                        user_data);
+
+NMSettingsConnection *const *nm_settings_get_connections(NMSettings *settings, guint *out_len);
+
+NMSettingsConnection **nm_settings_get_connections_clone(NMSettings *                   self,
+                                                         guint *                        out_len,
+                                                         NMSettingsConnectionFilterFunc func,
+                                                         gpointer                       func_data,
+                                                         GCompareDataFunc sort_compare_func,
+                                                         gpointer         sort_data);
+
+gboolean nm_settings_add_connection(NMSettings *                    settings,
+                                    NMConnection *                  connection,
+                                    NMSettingsConnectionPersistMode persist_mode,
+                                    NMSettingsConnectionAddReason   add_reason,
+                                    NMSettingsConnectionIntFlags    sett_flags,
+                                    NMSettingsConnection **         out_sett_conn,
+                                    GError **                       error);
+
+gboolean nm_settings_update_connection(NMSettings *                     self,
+                                       NMSettingsConnection *           sett_conn,
+                                       NMConnection *                   new_connection,
+                                       NMSettingsConnectionPersistMode  persist_mode,
+                                       NMSettingsConnectionIntFlags     sett_flags,
+                                       NMSettingsConnectionIntFlags     sett_mask,
+                                       NMSettingsConnectionUpdateReason update_reason,
+                                       const char *                     log_context_name,
+                                       GError **                        error);
+
+void nm_settings_delete_connection(NMSettings *          self,
+                                   NMSettingsConnection *sett_conn,
+                                   gboolean              allow_add_to_no_auto_default);
+
+NMSettingsConnection *nm_settings_get_connection_by_path(NMSettings *settings, const char *path);
+
+NMSettingsConnection *nm_settings_get_connection_by_uuid(NMSettings *settings, const char *uuid);
+
+const char *nm_settings_get_dbus_path_for_uuid(NMSettings *self, const char *uuid);
+
+gboolean nm_settings_has_connection(NMSettings *self, NMSettingsConnection *connection);
+
+const GSList *nm_settings_get_unmanaged_specs(NMSettings *self);
+
+void nm_settings_device_added(NMSettings *self, NMDevice *device);
+
+void nm_settings_device_removed(NMSettings *self, NMDevice *device, gboolean quitting);
+
+const char *nm_settings_get_startup_complete_blocked_reason(NMSettings *self,
+                                                            gboolean    force_reload);
+
+void nm_settings_kf_db_write(NMSettings *settings);
+
+#endif /* __NM_SETTINGS_H__ */