Blame libnm/nm-device-wimax.c

Packit Service 87a54e
/* SPDX-License-Identifier: LGPL-2.1-or-later */
Packit 5756e2
/*
Packit 5756e2
 * Copyright (C) 2011 - 2012 Red Hat, Inc.
Packit 5756e2
 * Copyright (C) 2009 Novell, Inc.
Packit 5756e2
 */
Packit 5756e2
Packit 5756e2
#include "nm-default.h"
Packit 5756e2
Packit 5756e2
#include "nm-device-wimax.h"
Packit 5756e2
Packit 5756e2
#include "nm-wimax-nsp.h"
Packit 5756e2
Packit 5756e2
/*****************************************************************************/
Packit 5756e2
Packit Service a1bd4f
NM_GOBJECT_PROPERTIES_DEFINE_BASE(PROP_HW_ADDRESS,
Packit Service a1bd4f
                                  PROP_ACTIVE_NSP,
Packit Service a1bd4f
                                  PROP_CENTER_FREQ,
Packit Service a1bd4f
                                  PROP_RSSI,
Packit Service a1bd4f
                                  PROP_CINR,
Packit Service a1bd4f
                                  PROP_TX_POWER,
Packit Service a1bd4f
                                  PROP_BSID,
Packit Service a1bd4f
                                  PROP_NSPS, );
Packit 5756e2
Packit 5756e2
enum {
Packit Service a1bd4f
    NSP_ADDED,
Packit Service a1bd4f
    NSP_REMOVED,
Packit 5756e2
Packit Service a1bd4f
    LAST_SIGNAL
Packit 5756e2
};
Packit 5756e2
Packit Service a1bd4f
static guint signals[LAST_SIGNAL] = {0};
Packit 5756e2
Packit 5756e2
struct _NMDeviceWimax {
Packit Service a1bd4f
    NMDevice parent;
Packit 5756e2
};
Packit 5756e2
Packit 5756e2
struct _NMDeviceWimaxClass {
Packit Service a1bd4f
    NMDeviceClass parent;
Packit 5756e2
};
Packit 5756e2
Packit Service a1bd4f
G_DEFINE_TYPE(NMDeviceWimax, nm_device_wimax, NM_TYPE_DEVICE)
Packit 5756e2
Packit Service a1bd4f
#define NM_DEVICE_WIMAX_GET_PRIVATE(self) \
Packit Service a1bd4f
    _NM_GET_PRIVATE(self, NMDeviceWimax, NM_IS_DEVICE_WIMAX, NMObject, NMDevice)
Packit 5756e2
Packit 5756e2
/*****************************************************************************/
Packit 5756e2
Packit 5756e2
/**
Packit 5756e2
 * nm_device_wimax_get_hw_address:
Packit 5756e2
 * @wimax: a #NMDeviceWimax
Packit 5756e2
 *
Packit 5756e2
 * Gets the hardware (MAC) address of the #NMDeviceWimax
Packit 5756e2
 *
Packit 5756e2
 * Returns: the hardware address. This is the internal string used by the
Packit 5756e2
 *          device, and must not be modified.
Packit 5756e2
 *
Packit 5756e2
 * Deprecated: 1.2: WiMAX is no longer supported.
Packit 5756e2
 **/
Packit 5756e2
const char *
Packit Service a1bd4f
nm_device_wimax_get_hw_address(NMDeviceWimax *wimax)
Packit 5756e2
{
Packit Service a1bd4f
    g_return_val_if_reached(NULL);
Packit 5756e2
}
Packit 5756e2
Packit 5756e2
/**
Packit 5756e2
 * nm_device_wimax_get_active_nsp:
Packit 5756e2
 * @wimax: a #NMDeviceWimax
Packit 5756e2
 *
Packit 5756e2
 * Gets the active #NMWimaxNsp.
Packit 5756e2
 *
Packit 5756e2
 * Returns: (transfer full): the access point or %NULL if none is active
Packit 5756e2
 *
Packit 5756e2
 * Deprecated: 1.2: WiMAX is no longer supported.
Packit 5756e2
 **/
Packit 5756e2
NMWimaxNsp *
Packit Service a1bd4f
nm_device_wimax_get_active_nsp(NMDeviceWimax *wimax)
Packit 5756e2
{
Packit Service a1bd4f
    g_return_val_if_reached(NULL);
Packit 5756e2
}
Packit 5756e2
Packit 5756e2
/**
Packit 5756e2
 * nm_device_wimax_get_nsps:
Packit 5756e2
 * @wimax: a #NMDeviceWimax
Packit 5756e2
 *
Packit 5756e2
 * Gets all the scanned NSPs of the #NMDeviceWimax.
Packit 5756e2
 *
Packit 5756e2
 * Returns: (element-type NMWimaxNsp): a #GPtrArray containing
Packit 5756e2
 *          all the scanned #NMWimaxNsps.
Packit 5756e2
 * The returned array is owned by the client and should not be modified.
Packit 5756e2
 *
Packit 5756e2
 * Deprecated: 1.2: WiMAX is no longer supported.
Packit 5756e2
 **/
Packit 5756e2
const GPtrArray *
Packit Service a1bd4f
nm_device_wimax_get_nsps(NMDeviceWimax *wimax)
Packit 5756e2
{
Packit Service a1bd4f
    g_return_val_if_reached(NULL);
Packit 5756e2
}
Packit 5756e2
Packit 5756e2
/**
Packit 5756e2
 * nm_device_wimax_get_nsp_by_path:
Packit 5756e2
 * @wimax: a #NMDeviceWimax
Packit 5756e2
 * @path: the object path of the NSP
Packit 5756e2
 *
Packit 5756e2
 * Gets a #NMWimaxNsp by path.
Packit 5756e2
 *
Packit 5756e2
 * Returns: (transfer none): the access point or %NULL if none is found.
Packit 5756e2
 *
Packit 5756e2
 * Deprecated: 1.2: WiMAX is no longer supported.
Packit 5756e2
 **/
Packit 5756e2
NMWimaxNsp *
Packit Service a1bd4f
nm_device_wimax_get_nsp_by_path(NMDeviceWimax *wimax, const char *path)
Packit 5756e2
{
Packit Service a1bd4f
    g_return_val_if_reached(NULL);
Packit 5756e2
}
Packit 5756e2
Packit 5756e2
/**
Packit 5756e2
 * nm_device_wimax_get_center_frequency:
Packit 5756e2
 * @self: a #NMDeviceWimax
Packit 5756e2
 *
Packit 5756e2
 * Gets the center frequency (in KHz) of the radio channel the device is using
Packit 5756e2
 * to communicate with the network when connected.  Has no meaning when the
Packit 5756e2
 * device is not connected.
Packit 5756e2
 *
Packit 5756e2
 * Returns: the center frequency in KHz, or 0
Packit 5756e2
 *
Packit 5756e2
 * Deprecated: 1.2: WiMAX is no longer supported.
Packit 5756e2
 **/
Packit 5756e2
guint
Packit Service a1bd4f
nm_device_wimax_get_center_frequency(NMDeviceWimax *self)
Packit 5756e2
{
Packit Service a1bd4f
    g_return_val_if_reached(0);
Packit 5756e2
}
Packit 5756e2
Packit 5756e2
/**
Packit 5756e2
 * nm_device_wimax_get_rssi:
Packit 5756e2
 * @self: a #NMDeviceWimax
Packit 5756e2
 *
Packit 5756e2
 * Gets the RSSI of the current radio link in dBm.  This value indicates how
Packit 5756e2
 * strong the raw received RF signal from the base station is, but does not
Packit 5756e2
 * indicate the overall quality of the radio link.  Has no meaning when the
Packit 5756e2
 * device is not connected.
Packit 5756e2
 *
Packit 5756e2
 * Returns: the RSSI in dBm, or 0
Packit 5756e2
 *
Packit 5756e2
 * Deprecated: 1.2: WiMAX is no longer supported.
Packit 5756e2
 **/
Packit 5756e2
int
Packit Service a1bd4f
nm_device_wimax_get_rssi(NMDeviceWimax *self)
Packit 5756e2
{
Packit Service a1bd4f
    g_return_val_if_reached(0);
Packit 5756e2
}
Packit 5756e2
Packit 5756e2
/**
Packit 5756e2
 * nm_device_wimax_get_cinr:
Packit 5756e2
 * @self: a #NMDeviceWimax
Packit 5756e2
 *
Packit 5756e2
 * Gets the CINR (Carrier to Interference + Noise Ratio) of the current radio
Packit 5756e2
 * link in dB.  CINR is a more accurate measure of radio link quality.  Has no
Packit 5756e2
 * meaning when the device is not connected.
Packit 5756e2
 *
Packit 5756e2
 * Returns: the CINR in dB, or 0
Packit 5756e2
 *
Packit 5756e2
 * Deprecated: 1.2: WiMAX is no longer supported.
Packit 5756e2
 **/
Packit 5756e2
int
Packit Service a1bd4f
nm_device_wimax_get_cinr(NMDeviceWimax *self)
Packit 5756e2
{
Packit Service a1bd4f
    g_return_val_if_reached(0);
Packit 5756e2
}
Packit 5756e2
Packit 5756e2
/**
Packit 5756e2
 * nm_device_wimax_get_tx_power:
Packit 5756e2
 * @self: a #NMDeviceWimax
Packit 5756e2
 *
Packit 5756e2
 * Average power of the last burst transmitted by the device, in units of
Packit 5756e2
 * 0.5 dBm.  i.e. a TxPower of -11 represents an actual device TX power of
Packit 5756e2
 * -5.5 dBm.  Has no meaning when the device is not connected.
Packit 5756e2
 *
Packit 5756e2
 * Returns: the TX power in dBm, or 0
Packit 5756e2
 *
Packit 5756e2
 * Deprecated: 1.2: WiMAX is no longer supported.
Packit 5756e2
 **/
Packit 5756e2
int
Packit Service a1bd4f
nm_device_wimax_get_tx_power(NMDeviceWimax *self)
Packit 5756e2
{
Packit Service a1bd4f
    g_return_val_if_reached(0);
Packit 5756e2
}
Packit 5756e2
Packit 5756e2
/**
Packit 5756e2
 * nm_device_wimax_get_bsid:
Packit 5756e2
 * @self: a #NMDeviceWimax
Packit 5756e2
 *
Packit 5756e2
 * Gets the ID of the serving Base Station when the device is connected.
Packit 5756e2
 *
Packit 5756e2
 * Returns: the ID of the serving Base Station, or %NULL
Packit 5756e2
 *
Packit 5756e2
 * Deprecated: 1.2: WiMAX is no longer supported.
Packit 5756e2
 **/
Packit 5756e2
const char *
Packit Service a1bd4f
nm_device_wimax_get_bsid(NMDeviceWimax *self)
Packit 5756e2
{
Packit Service a1bd4f
    g_return_val_if_reached(0);
Packit 5756e2
}
Packit 5756e2
Packit 5756e2
/*****************************************************************************/
Packit 5756e2
Packit 5756e2
static void
Packit Service a1bd4f
get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
Packit 5756e2
{
Packit Service a1bd4f
    g_return_if_reached();
Packit 5756e2
}
Packit 5756e2
Packit 5756e2
static void
Packit Service a1bd4f
nm_device_wimax_init(NMDeviceWimax *device)
Packit 5756e2
{
Packit Service a1bd4f
    g_return_if_reached();
Packit 5756e2
}
Packit 5756e2
Packit 5756e2
static void
Packit Service a1bd4f
nm_device_wimax_class_init(NMDeviceWimaxClass *wimax_class)
Packit 5756e2
{
Packit Service a1bd4f
    GObjectClass *object_class = G_OBJECT_CLASS(wimax_class);
Packit Service a1bd4f
Packit Service a1bd4f
    object_class->get_property = get_property;
Packit Service a1bd4f
Packit Service a1bd4f
    /**
Packit Service a1bd4f
     * NMDeviceWimax:hw-address:
Packit Service a1bd4f
     *
Packit Service a1bd4f
     * The hardware (MAC) address of the device.
Packit Service a1bd4f
     *
Packit Service a1bd4f
     * Deprecated: 1.2: WiMAX is no longer supported.
Packit Service a1bd4f
     **/
Packit Service a1bd4f
    obj_properties[PROP_HW_ADDRESS] =
Packit Service a1bd4f
        g_param_spec_string(NM_DEVICE_WIMAX_HW_ADDRESS,
Packit Service a1bd4f
                            "",
Packit Service a1bd4f
                            "",
Packit Service a1bd4f
                            NULL,
Packit Service a1bd4f
                            G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
Packit Service a1bd4f
Packit Service a1bd4f
    /**
Packit Service a1bd4f
     * NMDeviceWimax:active-nsp:
Packit Service a1bd4f
     *
Packit Service a1bd4f
     * The active #NMWimaxNsp of the device.
Packit Service a1bd4f
     *
Packit Service a1bd4f
     * Deprecated: 1.2: WiMAX is no longer supported.
Packit Service a1bd4f
     **/
Packit Service a1bd4f
    obj_properties[PROP_ACTIVE_NSP] =
Packit Service a1bd4f
        g_param_spec_object(NM_DEVICE_WIMAX_ACTIVE_NSP,
Packit Service a1bd4f
                            "",
Packit Service a1bd4f
                            "",
Packit Service a1bd4f
                            NM_TYPE_WIMAX_NSP,
Packit Service a1bd4f
                            G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
Packit Service a1bd4f
Packit Service a1bd4f
    /**
Packit Service a1bd4f
     * NMDeviceWimax:center-frequency:
Packit Service a1bd4f
     *
Packit Service a1bd4f
     * The center frequency (in KHz) of the radio channel the device is using to
Packit Service a1bd4f
     * communicate with the network when connected.  Has no meaning when the
Packit Service a1bd4f
     * device is not connected.
Packit Service a1bd4f
     *
Packit Service a1bd4f
     * Deprecated: 1.2: WiMAX is no longer supported.
Packit Service a1bd4f
     **/
Packit Service a1bd4f
    obj_properties[PROP_CENTER_FREQ] = g_param_spec_uint(NM_DEVICE_WIMAX_CENTER_FREQUENCY,
Packit Service a1bd4f
                                                         "",
Packit Service a1bd4f
                                                         "",
Packit Service a1bd4f
                                                         0,
Packit Service a1bd4f
                                                         G_MAXUINT,
Packit Service a1bd4f
                                                         0,
Packit Service a1bd4f
                                                         G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
Packit Service a1bd4f
Packit Service a1bd4f
    /**
Packit Service a1bd4f
     * NMDeviceWimax:rssi:
Packit Service a1bd4f
     *
Packit Service a1bd4f
     * RSSI of the current radio link in dBm.  This value indicates how strong
Packit Service a1bd4f
     * the raw received RF signal from the base station is, but does not
Packit Service a1bd4f
     * indicate the overall quality of the radio link.  Has no meaning when the
Packit Service a1bd4f
     * device is not connected.
Packit Service a1bd4f
     *
Packit Service a1bd4f
     * Deprecated: 1.2: WiMAX is no longer supported.
Packit Service a1bd4f
     **/
Packit Service a1bd4f
    obj_properties[PROP_RSSI] = g_param_spec_int(NM_DEVICE_WIMAX_RSSI,
Packit Service a1bd4f
                                                 "",
Packit Service a1bd4f
                                                 "",
Packit Service a1bd4f
                                                 G_MININT,
Packit Service a1bd4f
                                                 G_MAXINT,
Packit Service a1bd4f
                                                 0,
Packit Service a1bd4f
                                                 G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
Packit Service a1bd4f
Packit Service a1bd4f
    /**
Packit Service a1bd4f
     * NMDeviceWimax:cinr:
Packit Service a1bd4f
     *
Packit Service a1bd4f
     * CINR (Carrier to Interference + Noise Ratio) of the current radio link
Packit Service a1bd4f
     * in dB.  CINR is a more accurate measure of radio link quality.  Has no
Packit Service a1bd4f
     * meaning when the device is not connected.
Packit Service a1bd4f
     *
Packit Service a1bd4f
     * Deprecated: 1.2: WiMAX is no longer supported.
Packit Service a1bd4f
     **/
Packit Service a1bd4f
    obj_properties[PROP_CINR] = g_param_spec_int(NM_DEVICE_WIMAX_CINR,
Packit Service a1bd4f
                                                 "",
Packit Service a1bd4f
                                                 "",
Packit Service a1bd4f
                                                 G_MININT,
Packit Service a1bd4f
                                                 G_MAXINT,
Packit Service a1bd4f
                                                 0,
Packit Service a1bd4f
                                                 G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
Packit Service a1bd4f
Packit Service a1bd4f
    /**
Packit Service a1bd4f
     * NMDeviceWimax:tx-power:
Packit Service a1bd4f
     *
Packit Service a1bd4f
     * Average power of the last burst transmitted by the device, in units of
Packit Service a1bd4f
     * 0.5 dBm.  i.e. a TxPower of -11 represents an actual device TX power of
Packit Service a1bd4f
     * -5.5 dBm.  Has no meaning when the device is not connected.
Packit Service a1bd4f
     *
Packit Service a1bd4f
     * Deprecated: 1.2: WiMAX is no longer supported.
Packit Service a1bd4f
     **/
Packit Service a1bd4f
    obj_properties[PROP_TX_POWER] = g_param_spec_int(NM_DEVICE_WIMAX_TX_POWER,
Packit Service a1bd4f
                                                     "",
Packit Service a1bd4f
                                                     "",
Packit Service a1bd4f
                                                     G_MININT,
Packit Service a1bd4f
                                                     G_MAXINT,
Packit Service a1bd4f
                                                     0,
Packit Service a1bd4f
                                                     G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
Packit Service a1bd4f
Packit Service a1bd4f
    /**
Packit Service a1bd4f
     * NMDeviceWimax:bsid:
Packit Service a1bd4f
     *
Packit Service a1bd4f
     * The ID of the serving base station as received from the network.  Has
Packit Service a1bd4f
     * no meaning when the device is not connected.
Packit Service a1bd4f
     *
Packit Service a1bd4f
     * Deprecated: 1.2: WiMAX is no longer supported.
Packit Service a1bd4f
     **/
Packit Service a1bd4f
    obj_properties[PROP_BSID] = g_param_spec_string(NM_DEVICE_WIMAX_BSID,
Packit Service a1bd4f
                                                    "",
Packit Service a1bd4f
                                                    "",
Packit Service a1bd4f
                                                    NULL,
Packit Service a1bd4f
                                                    G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
Packit Service a1bd4f
Packit Service a1bd4f
    /**
Packit Service a1bd4f
     * NMDeviceWimax:nsps: (type GPtrArray(NMWimaxNsp))
Packit Service a1bd4f
     *
Packit Service a1bd4f
     * List of all WiMAX Network Service Providers the device can see.
Packit Service a1bd4f
     **/
Packit Service a1bd4f
    obj_properties[PROP_NSPS] = g_param_spec_boxed(NM_DEVICE_WIMAX_NSPS,
Packit Service a1bd4f
                                                   "",
Packit Service a1bd4f
                                                   "",
Packit Service a1bd4f
                                                   G_TYPE_PTR_ARRAY,
Packit Service a1bd4f
                                                   G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
Packit Service a1bd4f
Packit Service a1bd4f
    g_object_class_install_properties(object_class, _PROPERTY_ENUMS_LAST, obj_properties);
Packit Service a1bd4f
Packit Service a1bd4f
    /**
Packit Service a1bd4f
     * NMDeviceWimax::nsp-added:
Packit Service a1bd4f
     * @self: the wimax device that received the signal
Packit Service a1bd4f
     * @nsp: the new NSP
Packit Service a1bd4f
     *
Packit Service a1bd4f
     * Notifies that a #NMWimaxNsp is added to the wimax device.
Packit Service a1bd4f
     *
Packit Service a1bd4f
     * Deprecated: 1.2: WiMAX is no longer supported.
Packit Service a1bd4f
     **/
Packit Service a1bd4f
    signals[NSP_ADDED] = g_signal_new("nsp-added",
Packit Service a1bd4f
                                      G_OBJECT_CLASS_TYPE(object_class),
Packit Service a1bd4f
                                      G_SIGNAL_RUN_FIRST,
Packit Service a1bd4f
                                      0,
Packit Service a1bd4f
                                      NULL,
Packit Service a1bd4f
                                      NULL,
Packit Service a1bd4f
                                      g_cclosure_marshal_VOID__OBJECT,
Packit Service a1bd4f
                                      G_TYPE_NONE,
Packit Service a1bd4f
                                      1,
Packit Service a1bd4f
                                      G_TYPE_OBJECT);
Packit Service a1bd4f
Packit Service a1bd4f
    /**
Packit Service a1bd4f
     * NMDeviceWimax::nsp-removed:
Packit Service a1bd4f
     * @self: the wimax device that received the signal
Packit Service a1bd4f
     * @nsp: the removed NSP
Packit Service a1bd4f
     *
Packit Service a1bd4f
     * Notifies that a #NMWimaxNsp is removed from the wimax device.
Packit Service a1bd4f
     *
Packit Service a1bd4f
     * Deprecated: 1.2: WiMAX is no longer supported.
Packit Service a1bd4f
     **/
Packit Service a1bd4f
    signals[NSP_REMOVED] = g_signal_new("nsp-removed",
Packit Service a1bd4f
                                        G_OBJECT_CLASS_TYPE(object_class),
Packit Service a1bd4f
                                        G_SIGNAL_RUN_FIRST,
Packit Service a1bd4f
                                        0,
Packit Service a1bd4f
                                        NULL,
Packit Service a1bd4f
                                        NULL,
Packit Service a1bd4f
                                        g_cclosure_marshal_VOID__OBJECT,
Packit Service a1bd4f
                                        G_TYPE_NONE,
Packit Service a1bd4f
                                        1,
Packit Service a1bd4f
                                        G_TYPE_OBJECT);
Packit 5756e2
}