Solved the problem with:
s_gsm = (NMSettingGsm *) nm_setting_gsm_new();
g_object_set (s_gsm,
                  NM_SETTING_GSM_NUMBER,       nc_get_str_or_null(number),
                  NM_SETTING_GSM_USERNAME,     nc_get_str_or_null(username),
                  NM_SETTING_GSM_PASSWORD,     nc_get_str_or_null(password),
                  NM_SETTING_GSM_APN,          nc_get_str_or_null(apn),
                  NM_SETTING_GSM_PIN,          nc_get_str_or_null(pin),
                  NULL);
...

and

static gchar* nc_get_str_or_null(gchar* txt)
{
    if (txt && strlen(txt) > 0)
        return txt;

    return NULL;
}


Cheers,

tom


2011/1/20 toabctl <[email protected]>

> Hi,
>
> i try to set an empty username with:
>
> ...
> s_gsm = (NMSettingGsm *) nm_setting_gsm_new();
> g_object_set (G_OBJECT (s_gsm), NM_SETTING_GSM_USERNAME, "", NULL);
> nm_connection_add_setting (connection, NM_SETTING (s_gsm));
> GHashTable *hash;
> hash = nm_connection_to_hash(connection);
> GError* error = NULL;
>  bus_g_proxy_call (proxy, "AddConnection", &error,
>                    DBUS_TYPE_G_MAP_OF_MAP_OF_VARIANT, hash,
>                    G_TYPE_INVALID);
> if(error != NULL)
> {
> g_warning("Error ModemGSM: %s", error->message);
> g_error_free(error);
> }
> ...
>
> But the Error message is:  Error ModemGSM: username
>
>
> in libnm-util/nm-setting-gsm.c :
> if (priv->username && !strlen (priv->username)) {
>  g_set_error (error,
>              NM_SETTING_GSM_ERROR,
>              NM_SETTING_GSM_ERROR_INVALID_PROPERTY,
>              NM_SETTING_GSM_USERNAME);
> return FALSE;
> }
>
>
> Why must strlen(username) > 0 ? There s no reason for that. Empty usernames
> should be possible.
>
>
> Cheers,
> Tom
>
>
_______________________________________________
networkmanager-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to