|
libaccounts-qt
1.1
|
00001 /* vi: set et sw=4 ts=4 cino=t0,(0: */ 00002 /* 00003 * This file is part of libaccounts-qt 00004 * 00005 * Copyright (C) 2012 Canonical Ltd. 00006 * 00007 * Contact: Alberto Mardegan <alberto.mardegan@canonical.com> 00008 * 00009 * This library is free software; you can redistribute it and/or 00010 * modify it under the terms of the GNU Lesser General Public License 00011 * version 2.1 as published by the Free Software Foundation. 00012 * 00013 * This library is distributed in the hope that it will be useful, but 00014 * WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 * Lesser General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU Lesser General Public 00019 * License along with this library; if not, write to the Free Software 00020 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 00021 * 02110-1301 USA 00022 */ 00023 00024 #include "auth-data.h" 00025 #include "utils.h" 00026 00027 #undef signals 00028 #include <libaccounts-glib/ag-auth-data.h> 00029 #include <QtDebug> 00030 #include <QtGlobal> 00031 00032 00033 using namespace Accounts; 00034 00035 namespace Accounts { 00046 }; // namespace 00047 00048 AuthData::AuthData(AgAuthData *authData): 00049 m_authData(ag_auth_data_ref(authData)) 00050 { 00051 } 00052 00057 AuthData::AuthData(const AuthData &other): 00058 m_authData(ag_auth_data_ref(other.m_authData)) 00059 { 00060 } 00061 00065 AuthData::~AuthData() 00066 { 00067 ag_auth_data_unref(m_authData); 00068 m_authData = 0; 00069 } 00070 00074 uint AuthData::credentialsId() const 00075 { 00076 return ag_auth_data_get_credentials_id(m_authData); 00077 } 00078 00084 QString AuthData::method() const 00085 { 00086 return UTF8(ag_auth_data_get_method(m_authData)); 00087 } 00088 00094 QString AuthData::mechanism() const 00095 { 00096 return UTF8(ag_auth_data_get_mechanism(m_authData)); 00097 } 00098 00104 QVariantMap AuthData::parameters() const 00105 { 00106 QVariantMap params; 00107 GHashTable *glib_parameters; 00108 GHashTableIter iter; 00109 const gchar *key; 00110 const GValue *value; 00111 00112 glib_parameters = ag_auth_data_get_parameters(m_authData); 00113 if (glib_parameters == 0) return params; 00114 00115 g_hash_table_iter_init(&iter, glib_parameters); 00116 while (g_hash_table_iter_next(&iter, (gpointer*)&key, (gpointer*)&value)) { 00117 params.insert(UTF8(key), gvalueToVariant(value)); 00118 } 00119 return params; 00120 }