summary refs log tree commit diff
path: root/src/core/settings/nm-agent-manager.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/settings/nm-agent-manager.h')
-rw-r--r--src/core/settings/nm-agent-manager.h78
1 files changed, 78 insertions, 0 deletions
diff --git a/src/core/settings/nm-agent-manager.h b/src/core/settings/nm-agent-manager.h
new file mode 100644
index 00000000..b26af4ef
--- /dev/null
+++ b/src/core/settings/nm-agent-manager.h
@@ -0,0 +1,78 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) 2010 - 2011 Red Hat, Inc.
+ */
+
+#ifndef __NETWORKMANAGER_AGENT_MANAGER_H__
+#define __NETWORKMANAGER_AGENT_MANAGER_H__
+
+#include "nm-connection.h"
+
+#include "nm-dbus-object.h"
+#include "nm-secret-agent.h"
+
+#define NM_TYPE_AGENT_MANAGER (nm_agent_manager_get_type())
+#define NM_AGENT_MANAGER(obj) \
+    (G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_AGENT_MANAGER, NMAgentManager))
+#define NM_AGENT_MANAGER_CLASS(klass) \
+    (G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_AGENT_MANAGER, NMAgentManagerClass))
+#define NM_IS_AGENT_MANAGER(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), NM_TYPE_AGENT_MANAGER))
+#define NM_IS_AGENT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), NM_TYPE_AGENT_MANAGER))
+#define NM_AGENT_MANAGER_GET_CLASS(obj) \
+    (G_TYPE_INSTANCE_GET_CLASS((obj), NM_TYPE_AGENT_MANAGER, NMAgentManagerClass))
+
+#define NM_AGENT_MANAGER_AGENT_REGISTERED "agent-registered"
+
+typedef struct _NMAgentManagerCallId *NMAgentManagerCallId;
+
+typedef struct _NMAgentManagerClass NMAgentManagerClass;
+
+GType nm_agent_manager_get_type(void);
+
+NMAgentManager *nm_agent_manager_get(void);
+
+guint64 nm_agent_manager_get_agent_version_id(NMAgentManager *self);
+
+/* If no agent fulfilled the secrets request, agent_dbus_owner will be NULL */
+typedef void (*NMAgentSecretsResultFunc)(NMAgentManager *             manager,
+                                         NMAgentManagerCallId         call_id,
+                                         const char *                 agent_dbus_owner,
+                                         const char *                 agent_uname,
+                                         gboolean                     agent_has_modify,
+                                         const char *                 setting_name,
+                                         NMSecretAgentGetSecretsFlags flags,
+                                         GVariant *                   secrets,
+                                         GError *                     error,
+                                         gpointer                     user_data);
+
+NMAgentManagerCallId nm_agent_manager_get_secrets(NMAgentManager *             manager,
+                                                  const char *                 path,
+                                                  NMConnection *               connection,
+                                                  NMAuthSubject *              subject,
+                                                  GVariant *                   existing_secrets,
+                                                  const char *                 setting_name,
+                                                  NMSecretAgentGetSecretsFlags flags,
+                                                  const char *const *          hints,
+                                                  NMAgentSecretsResultFunc     callback,
+                                                  gpointer                     callback_data);
+
+void nm_agent_manager_cancel_secrets(NMAgentManager *manager, NMAgentManagerCallId request_id);
+
+void nm_agent_manager_save_secrets(NMAgentManager *manager,
+                                   const char *    path,
+                                   NMConnection *  connection,
+                                   NMAuthSubject * subject);
+
+void nm_agent_manager_delete_secrets(NMAgentManager *manager,
+                                     const char *    path,
+                                     NMConnection *  connection);
+
+gboolean nm_agent_manager_has_agent_with_permission(NMAgentManager *self,
+                                                    const char *    username,
+                                                    const char *    permission);
+
+gboolean nm_agent_manager_all_agents_have_capability(NMAgentManager *          manager,
+                                                     NMAuthSubject *           subject,
+                                                     NMSecretAgentCapabilities capability);
+
+#endif /* __NETWORKMANAGER_AGENT_MANAGER_H__ */