mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-31 11:20:12 +01:00
* introspection/Makefile.am introspection/nm-device.xml introspection/nm-dhcp4-config.xml - Add bits for the DHCP4Config property of the device, and the DHCP4Config itself * src/nm-device-interface.c src/nm-device-interface.h - Add the DHCP4Config property * src/nm-device.c - Keep track of DHCP4 options via a new DHCP4Config property and notify D-Bus clients when it changes * src/nm-dhcp4-config.c src/nm-dhcp4-config.h - Simple object to store DHCP4 options, export them over D-Bus, and notify when they change * src/dhcp-manager/nm-dhcp-manager.c src/dhcp-manager/nm-dhcp-manager.h - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and filter server-returned DHCP options into an NMDHCP4Config object git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3829 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
91 lines
3.2 KiB
C
91 lines
3.2 KiB
C
|
|
#ifndef NM_DEVICE_INTERFACE_H
|
|
#define NM_DEVICE_INTERFACE_H
|
|
|
|
#include <glib-object.h>
|
|
#include "NetworkManager.h"
|
|
#include "nm-connection.h"
|
|
#include "nm-activation-request.h"
|
|
|
|
#define NM_TYPE_DEVICE_INTERFACE (nm_device_interface_get_type ())
|
|
#define NM_DEVICE_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_DEVICE_INTERFACE, NMDeviceInterface))
|
|
#define NM_IS_DEVICE_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_DEVICE_INTERFACE))
|
|
#define NM_DEVICE_INTERFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), NM_TYPE_DEVICE_INTERFACE, NMDeviceInterface))
|
|
|
|
typedef enum
|
|
{
|
|
NM_DEVICE_INTERFACE_ERROR_CONNECTION_ACTIVATING = 0,
|
|
NM_DEVICE_INTERFACE_ERROR_CONNECTION_INVALID,
|
|
} NMDeviceInterfaceError;
|
|
|
|
#define NM_DEVICE_INTERFACE_ERROR (nm_device_interface_error_quark ())
|
|
#define NM_TYPE_DEVICE_INTERFACE_ERROR (nm_device_interface_error_get_type ())
|
|
|
|
#define NM_DEVICE_INTERFACE_UDI "udi"
|
|
#define NM_DEVICE_INTERFACE_IFACE "interface"
|
|
#define NM_DEVICE_INTERFACE_DRIVER "driver"
|
|
#define NM_DEVICE_INTERFACE_CAPABILITIES "capabilities"
|
|
#define NM_DEVICE_INTERFACE_IP4_ADDRESS "ip4-address"
|
|
#define NM_DEVICE_INTERFACE_IP4_CONFIG "ip4-config"
|
|
#define NM_DEVICE_INTERFACE_DHCP4_CONFIG "dhcp4-config"
|
|
#define NM_DEVICE_INTERFACE_STATE "state"
|
|
#define NM_DEVICE_INTERFACE_DEVICE_TYPE "device-type" /* ugh */
|
|
#define NM_DEVICE_INTERFACE_MANAGED "managed"
|
|
|
|
typedef enum {
|
|
NM_DEVICE_INTERFACE_PROP_FIRST = 0x1000,
|
|
|
|
NM_DEVICE_INTERFACE_PROP_UDI = NM_DEVICE_INTERFACE_PROP_FIRST,
|
|
NM_DEVICE_INTERFACE_PROP_IFACE,
|
|
NM_DEVICE_INTERFACE_PROP_DRIVER,
|
|
NM_DEVICE_INTERFACE_PROP_CAPABILITIES,
|
|
NM_DEVICE_INTERFACE_PROP_IP4_ADDRESS,
|
|
NM_DEVICE_INTERFACE_PROP_IP4_CONFIG,
|
|
NM_DEVICE_INTERFACE_PROP_DHCP4_CONFIG,
|
|
NM_DEVICE_INTERFACE_PROP_STATE,
|
|
NM_DEVICE_INTERFACE_PROP_DEVICE_TYPE,
|
|
NM_DEVICE_INTERFACE_PROP_MANAGED,
|
|
} NMDeviceInterfaceProp;
|
|
|
|
|
|
typedef struct _NMDeviceInterface NMDeviceInterface;
|
|
|
|
struct _NMDeviceInterface {
|
|
GTypeInterface g_iface;
|
|
|
|
/* Methods */
|
|
gboolean (*check_connection_compatible) (NMDeviceInterface *device,
|
|
NMConnection *connection,
|
|
GError **error);
|
|
|
|
gboolean (*activate) (NMDeviceInterface *device,
|
|
NMActRequest *req,
|
|
GError **error);
|
|
|
|
void (*deactivate) (NMDeviceInterface *device);
|
|
|
|
/* Signals */
|
|
void (*state_changed) (NMDeviceInterface *device,
|
|
NMDeviceState new_state,
|
|
NMDeviceState old_state,
|
|
NMDeviceStateReason reason);
|
|
};
|
|
|
|
GQuark nm_device_interface_error_quark (void);
|
|
GType nm_device_interface_error_get_type (void);
|
|
|
|
GType nm_device_interface_get_type (void);
|
|
|
|
gboolean nm_device_interface_check_connection_compatible (NMDeviceInterface *device,
|
|
NMConnection *connection,
|
|
GError **error);
|
|
|
|
gboolean nm_device_interface_activate (NMDeviceInterface *device,
|
|
NMActRequest *req,
|
|
GError **error);
|
|
|
|
void nm_device_interface_deactivate (NMDeviceInterface *device);
|
|
|
|
NMDeviceState nm_device_interface_get_state (NMDeviceInterface *device);
|
|
|
|
#endif /* NM_DEVICE_INTERFACE_H */
|