diff options
| author | Michael Biebl <biebl@debian.org> | 2019-12-18 18:29:24 +0100 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2019-12-18 18:29:24 +0100 |
| commit | 28028b26b3371756811e95d894f709f4b1207c00 (patch) | |
| tree | 6fe7316fd743b51042db47601a8ef8814b3134ac /src/dns/nm-dns-plugin.h | |
| parent | e22609983008e1a669196ad64ba3a59ae8c76e0d (diff) | |
New upstream version 1.22.0 upstream/1.22.0
Diffstat (limited to 'src/dns/nm-dns-plugin.h')
| -rw-r--r-- | src/dns/nm-dns-plugin.h | 74 |
1 files changed, 16 insertions, 58 deletions
diff --git a/src/dns/nm-dns-plugin.h b/src/dns/nm-dns-plugin.h index 98bda7cf..78823739 100644 --- a/src/dns/nm-dns-plugin.h +++ b/src/dns/nm-dns-plugin.h @@ -1,22 +1,10 @@ -/* This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * +// SPDX-License-Identifier: GPL-2.0+ +/* * Copyright (C) 2010 Red Hat, Inc. */ -#ifndef __NETWORKMANAGER_DNS_PLUGIN_H__ -#define __NETWORKMANAGER_DNS_PLUGIN_H__ +#ifndef __NM_DNS_PLUGIN_H__ +#define __NM_DNS_PLUGIN_H__ #include "nm-dns-manager.h" #include "nm-config-data.h" @@ -28,21 +16,13 @@ #define NM_IS_DNS_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_DNS_PLUGIN)) #define NM_DNS_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DNS_PLUGIN, NMDnsPluginClass)) -#define NM_DNS_PLUGIN_FAILED "failed" -#define NM_DNS_PLUGIN_CHILD_QUIT "child-quit" - -struct _NMDnsPluginPrivate; - typedef struct { GObject parent; - struct _NMDnsPluginPrivate *_priv; } NMDnsPlugin; typedef struct { GObjectClass parent; - /* Methods */ - /* Called when DNS information is changed. 'configs' is an array * of pointers to NMDnsIPConfigData sorted by priority. * 'global_config' is the optional global DNS @@ -51,25 +31,19 @@ typedef struct { gboolean (*update) (NMDnsPlugin *self, const NMGlobalDnsConfig *global_config, const CList *ip_config_lst_head, - const char *hostname); + const char *hostname, + GError **error); - /* Subclasses should override and return TRUE if they start a local - * caching nameserver that listens on localhost and would block any - * other local caching nameserver from operating. - */ - gboolean (*is_caching) (NMDnsPlugin *self); - - /* Subclasses should override this and return their plugin name */ - const char *(*get_name) (NMDnsPlugin *self); + void (*stop) (NMDnsPlugin *self); - /* Signals */ + const char *plugin_name; - /* Emitted by the plugin base class when the nameserver subprocess - * quits. This signal is consumed by the plugin subclasses and not - * by NMDnsManager. If the subclass decides the exit status (as returned - * by waitpid(2)) is fatal it should then emit the 'failed' signal. + /* Types should set to TRUE if they start a local caching nameserver + * that listens on localhost and would block any other local caching + * nameserver from operating. */ - void (*child_quit) (NMDnsPlugin *self, int status); + bool is_caching:1; + } NMDnsPluginClass; GType nm_dns_plugin_get_type (void); @@ -81,25 +55,9 @@ const char *nm_dns_plugin_get_name (NMDnsPlugin *self); gboolean nm_dns_plugin_update (NMDnsPlugin *self, const NMGlobalDnsConfig *global_config, const CList *ip_config_lst_head, - const char *hostname); + const char *hostname, + GError **error); void nm_dns_plugin_stop (NMDnsPlugin *self); -/* For subclasses/plugins */ - -/* Spawn a child process and watch for it to quit. 'argv' is the NULL-terminated - * argument vector to spawn the child with, where argv[0] is the full path to - * the child's executable. If 'pidfile' is given the process owning the PID - * contained in 'pidfile' will be killed if its command line matches 'kill_match' - * and the pidfile will be deleted. - */ -GPid nm_dns_plugin_child_spawn (NMDnsPlugin *self, - const char **argv, - const char *pidfile, - const char *kill_match); - -GPid nm_dns_plugin_child_pid (NMDnsPlugin *self); - -gboolean nm_dns_plugin_child_kill (NMDnsPlugin *self); - -#endif /* __NETWORKMANAGER_DNS_PLUGIN_H__ */ +#endif /* __NM_DNS_PLUGIN_H__ */ |