// SPDX-License-Identifier: GPL-2.0+ /* * 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__ */