static void eee_accounts_manager_init(EeeAccountsManager *self) { self->priv = G_TYPE_INSTANCE_GET_PRIVATE(self, EEE_TYPE_ACCOUNTS_MANAGER, EeeAccountsManagerPriv); self->priv->gconf = gconf_client_get_default(); self->priv->ealist = e_account_list_new(self->priv->gconf); self->priv->eslist = e_source_list_new_for_gconf(self->priv->gconf, CALENDAR_SOURCES); eee_accounts_manager_load_access_accounts_list(self); eee_accounts_manager_activate_accounts(self); g_signal_connect(self->priv->ealist, "account_added", G_CALLBACK(account_list_changed), self); g_signal_connect(self->priv->ealist, "account_changed", G_CALLBACK(account_list_changed), self); g_signal_connect(self->priv->ealist, "account_removed", G_CALLBACK(account_list_changed), self); if (!eee_plugin_online) { self->priv->sync_request = SYNC_REQ_PAUSE; } else { self->priv->sync_request = SYNC_REQ_START; } self->priv->sync_thread = g_thread_create(sync_thread_func, self, FALSE, NULL); }
MeeGo::ActiveSync::ConfigModel::ConfigModel(QObject* parent) : QAbstractListModel(parent) , m_configs() , m_email_accounts(0) { QHash<int, QByteArray> roles; roles[EmailAddressRole] = "email"; roles[UsernameRole] = "username"; roles[PasswordRole] = "password"; roles[ServerUrlRole] = "serverUrl"; setRoleNames(roles); // Initialize the Glib type system g_type_init (); // Retrieve e-mail accounts. GConfClient * const client = gconf_client_get_default(); m_email_accounts = e_account_list_new(client); g_object_unref(client); // Retrieve the activesyncd configurations from GConf. MGConfItem accounts(MeeGo::ActiveSync::KEY_BASE); QList<QString> const keys = accounts.listDirs(); typedef QList<QString>::const_iterator const_iterator; const_iterator const end = keys.end(); for (const_iterator i = keys.begin(); i != end; ++i) { QString const & key = *i; if (!key.isEmpty()) { // Retrieve the e-mail from the key. // @todo There has to be a better way to do this! QString const email = key.right(key.count() - key.lastIndexOf("/") - 1); m_configs.append(new Config(email, m_email_accounts)); } } // -------------------------------------------------- // Retrieve ActiveSync calendar and contacts accounts // -------------------------------------------------- // @todo ... }