/** * nm_setting_wimax_get_network_name: * @setting: the #NMSettingWimax * * Returns the WiMAX NSP name (ex "Sprint" or "CLEAR") which identifies the * specific WiMAX network this setting describes a connection to. * * Returns: the WiMAX NSP name **/ const char * nm_setting_wimax_get_network_name (NMSettingWimax *setting) { g_return_val_if_fail (NM_IS_SETTING_WIMAX (setting), NULL); return NM_SETTING_WIMAX_GET_PRIVATE (setting)->network_name; }
/** * nm_setting_wimax_get_mac_address: * @setting: the #NMSettingWimax * * Returns the MAC address of a WiMAX device which this connection is locked * to. * * Returns: the MAC address **/ const char * nm_setting_wimax_get_mac_address (NMSettingWimax *setting) { g_return_val_if_fail (NM_IS_SETTING_WIMAX (setting), NULL); return NM_SETTING_WIMAX_GET_PRIVATE (setting)->mac_address; }
static gboolean verify (NMSetting *setting, NMConnection *connection, GError **error) { NMSettingWimaxPrivate *priv = NM_SETTING_WIMAX_GET_PRIVATE (setting); if (!priv->network_name) { g_set_error_literal (error, NM_CONNECTION_ERROR, NM_CONNECTION_ERROR_MISSING_PROPERTY, _("property is missing")); g_prefix_error (error, "%s.%s: ", NM_SETTING_WIMAX_SETTING_NAME, NM_SETTING_WIMAX_NETWORK_NAME); return FALSE; } if (!strlen (priv->network_name)) { g_set_error_literal (error, NM_CONNECTION_ERROR, NM_CONNECTION_ERROR_INVALID_PROPERTY, _("property is empty")); g_prefix_error (error, "%s.%s: ", NM_SETTING_WIMAX_SETTING_NAME, NM_SETTING_WIMAX_NETWORK_NAME); return FALSE; } if (priv->mac_address && !nm_utils_hwaddr_valid (priv->mac_address, ETH_ALEN)) { g_set_error_literal (error, NM_CONNECTION_ERROR, NM_CONNECTION_ERROR_INVALID_PROPERTY, _("property is invalid")); g_prefix_error (error, "%s.%s: ", NM_SETTING_WIMAX_SETTING_NAME, NM_SETTING_WIMAX_MAC_ADDRESS); return FALSE; } return TRUE; }
static gboolean verify (NMSetting *setting, GSList *all_settings, GError **error) { NMSettingWimaxPrivate *priv = NM_SETTING_WIMAX_GET_PRIVATE (setting); if (!priv->network_name) { g_set_error_literal (error, NM_SETTING_WIMAX_ERROR, NM_SETTING_WIMAX_ERROR_MISSING_PROPERTY, _("property is missing")); g_prefix_error (error, "%s.%s: ", NM_SETTING_WIMAX_SETTING_NAME, NM_SETTING_WIMAX_NETWORK_NAME); return FALSE; } if (!strlen (priv->network_name)) { g_set_error_literal (error, NM_SETTING_WIMAX_ERROR, NM_SETTING_WIMAX_ERROR_INVALID_PROPERTY, _("property is empty")); g_prefix_error (error, "%s.%s: ", NM_SETTING_WIMAX_SETTING_NAME, NM_SETTING_WIMAX_NETWORK_NAME); return FALSE; } if (priv->mac_address && priv->mac_address->len != ETH_ALEN) { g_set_error_literal (error, NM_SETTING_WIMAX_ERROR, NM_SETTING_WIMAX_ERROR_INVALID_PROPERTY, _("property is invalid")); g_prefix_error (error, "%s.%s: ", NM_SETTING_WIMAX_SETTING_NAME, NM_SETTING_WIMAX_MAC_ADDRESS); return FALSE; } return TRUE; }
static void finalize (GObject *object) { NMSettingWimaxPrivate *priv = NM_SETTING_WIMAX_GET_PRIVATE (object); g_free (priv->network_name); g_free (priv->mac_address); G_OBJECT_CLASS (nm_setting_wimax_parent_class)->finalize (object); }
static void set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { NMSettingWimaxPrivate *priv = NM_SETTING_WIMAX_GET_PRIVATE (object); switch (prop_id) { case PROP_NETWORK_NAME: g_free (priv->network_name); priv->network_name = g_value_dup_string (value); break; case PROP_MAC_ADDRESS: g_free (priv->mac_address); priv->mac_address = _nm_utils_hwaddr_canonical_or_invalid (g_value_get_string (value), ETH_ALEN); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }
static void set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { NMSettingWimaxPrivate *priv = NM_SETTING_WIMAX_GET_PRIVATE (object); switch (prop_id) { case PROP_NETWORK_NAME: g_free (priv->network_name); priv->network_name = g_value_dup_string (value); break; case PROP_MAC_ADDRESS: if (priv->mac_address) g_byte_array_free (priv->mac_address, TRUE); priv->mac_address = g_value_dup_boxed (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }