예제 #1
0
static void
set_property (GObject * object,
              guint prop_id, const GValue * value, GParamSpec * pspec)
{
    ScalixAccountSynch *sxas;
    ScalixAccountSynchPrivate *priv;

    sxas = SCALIX_ACCOUNT_SYNCH (object);
    priv = SCALIX_ACCOUNT_SYNCH_GET_PRIVATE (sxas);

    switch (prop_id) {

    case PROP_ACCOUNT:
        priv->account = E_ACCOUNT (g_value_dup_object (value));
        break;

    case PROP_SYNCH_DFOLDER:
        priv->synch_dfolder = g_value_get_boolean (value);
        break;

    case PROP_SYNCH_DATA:
        priv->synch_data = g_value_get_boolean (value);
        break;

    default:
        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
        break;
    }
}
예제 #2
0
/* load list of enabled accessible EEE accounts */
void eee_accounts_manager_load_access_accounts_list(EeeAccountsManager *self)
{
    EIterator *iter;

    g_slist_foreach(self->priv->access_accounts, (GFunc)g_free, NULL);
    g_slist_free(self->priv->access_accounts);
    self->priv->access_accounts = NULL;

    for (iter = e_list_get_iterator(E_LIST(self->priv->ealist));
         e_iterator_is_valid(iter);
         e_iterator_next(iter))
    {
        EAccount *account = E_ACCOUNT(e_iterator_get(iter));
        const char *name = e_account_get_string(account, E_ACCOUNT_ID_ADDRESS);
        if (!account->enabled)
        {
            continue;
        }
        if (eee_accounts_manager_account_is_disabled(self, name))
        {
            continue;
        }
        if (g_slist_find_custom(self->priv->access_accounts, (gpointer)name, (GCompareFunc)strcmp))
        {
            continue;
        }
        self->priv->access_accounts = g_slist_append(self->priv->access_accounts, g_strdup(name));
    }
}