mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-23 12:58:13 +02:00
Make NMDevice abstract class, remove almost all references to it's subclasses (the last place gets removed with new policy manager). Add NMDeviceInterface (which NMDevice implements) so that when we have NMDevice exported over DBUS, there's a common NMDevice interface which all instances have, plus there's a device specific interface for each specific type. Remove functions (nm_device_is_802_3_ethernet) and (nm_device_is_802_11_wireless). There are already standard GObject macros for type safe checks. Use the updated supplican manager API. * src/nm-device-interface.h: * src/nm-device-interface.c: * src/nm-call-store.h: * src/nm-call-store.c: Implement. * src/supplicant-manager/nm-supplicant-interface.c: * src/supplicant-manager/nm-supplicant-interface.h: * src/supplicant-manager/nm-supplicant-manager.c: * src/supplicant-manager/nm-supplicant-manager.h: - Remove all private data type references from public header files. - Remove all references to other NM classes, this class is just a proxy between wpa_supplicant and NM so it doesn't have to know any internals. - Convert to dbus-glib bindings. - Type safe checks for public methods' arguments. - Store pending DBUS call ids to NMCallStore. * src/supplicant-manager/nm-supplicant-config.c: - Store config values in a GHashTable instead of GSList. git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2285 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
86 lines
3.1 KiB
C
86 lines
3.1 KiB
C
/*
|
|
* Copyright (C) 2006 Red Hat, Inc.
|
|
*
|
|
* Written by Dan Williams <dcbw@redhat.com>
|
|
*
|
|
* 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 of the License, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
*
|
|
*/
|
|
|
|
#ifndef NM_SUPPLICANT_MANAGER_H
|
|
#define NM_SUPPLICANT_MANAGER_H
|
|
|
|
#include <glib-object.h>
|
|
#include "nm-supplicant-types.h"
|
|
#include "nm-device.h"
|
|
|
|
#define WPAS_DBUS_SERVICE "fi.epitest.hostap.WPASupplicant"
|
|
#define WPAS_DBUS_PATH "/fi/epitest/hostap/WPASupplicant"
|
|
#define WPAS_DBUS_INTERFACE "fi.epitest.hostap.WPASupplicant"
|
|
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
/*
|
|
* Supplicant manager states
|
|
* Either state may transition to the other state at any time.
|
|
*
|
|
* DOWN: supplicant manager has been created, but cannot be used; the supplicant
|
|
* is either not running or has not yet been fully initialized.
|
|
* IDLE: supplicant manager is ready for use
|
|
*
|
|
* Note: LAST is an invalid state and only used for boundary checking.
|
|
*/
|
|
enum {
|
|
NM_SUPPLICANT_MANAGER_STATE_DOWN = 0,
|
|
NM_SUPPLICANT_MANAGER_STATE_IDLE,
|
|
NM_SUPPLICANT_MANAGER_STATE_LAST
|
|
};
|
|
|
|
|
|
#define NM_TYPE_SUPPLICANT_MANAGER (nm_supplicant_manager_get_type ())
|
|
#define NM_SUPPLICANT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_SUPPLICANT_MANAGER, NMSupplicantManager))
|
|
#define NM_SUPPLICANT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_SUPPLICANT_MANAGER, NMSupplicantManagerClass))
|
|
#define NM_IS_SUPPLICANT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_SUPPLICANT_MANAGER))
|
|
#define NM_IS_SUPPLICANT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_SUPPLICANT_MANAGER))
|
|
#define NM_SUPPLICANT_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_SUPPLICANT_MANAGER, NMSupplicantManagerClass))
|
|
|
|
struct _NMSupplicantManager
|
|
{
|
|
GObject parent;
|
|
};
|
|
|
|
typedef struct
|
|
{
|
|
GObjectClass parent;
|
|
|
|
/* class members */
|
|
void (* state) (NMSupplicantManager * mgr, guint32 new_state, guint32 old_state);
|
|
} NMSupplicantManagerClass;
|
|
|
|
GType nm_supplicant_manager_get_type (void);
|
|
|
|
NMSupplicantManager * nm_supplicant_manager_get (void);
|
|
|
|
guint32 nm_supplicant_manager_get_state (NMSupplicantManager * mgr);
|
|
|
|
NMSupplicantInterface * nm_supplicant_manager_get_iface (NMSupplicantManager * mgr,
|
|
const char *ifname,
|
|
gboolean is_wireless);
|
|
|
|
void nm_supplicant_manager_release_iface (NMSupplicantManager * mgr,
|
|
NMSupplicantInterface * iface);
|
|
|
|
#endif /* NM_SUPPLICANT_MANAGER_H */
|