uisessiondata.h

00001 /*
00002  * This file is part of signon
00003  *
00004  * Copyright (C) 2009-2010 Nokia Corporation.
00005  *
00006  * Contact: Alberto Mardegan <alberto.mardegan@nokia.com>
00007  *
00008  * This library is free software; you can redistribute it and/or
00009  * modify it under the terms of the GNU Lesser General Public License
00010  * version 2.1 as published by the Free Software Foundation.
00011  *
00012  * This library is distributed in the hope that it will be useful, but
00013  * WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00015  * Lesser General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Lesser General Public
00018  * License along with this library; if not, write to the Free Software
00019  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
00020  * 02110-1301 USA
00021  */
00027 #ifndef UISESSIONDATA_H
00028 #define UISESSIONDATA_H
00029 
00030 #include <SignOn/SessionData>
00035 namespace SignOn {
00036 
00037 enum QueryError {
00038     QUERY_ERROR_NONE = 0,        
00039     QUERY_ERROR_GENERAL,         
00040     QUERY_ERROR_NO_SIGNONUI,     
00041     QUERY_ERROR_BAD_PARAMETERS,  
00042     QUERY_ERROR_CANCELED,        
00043     QUERY_ERROR_NOT_AVAILABLE,   
00044     QUERY_ERROR_BAD_URL,         
00045     QUERY_ERROR_BAD_CAPTCHA,     
00046     QUERY_ERROR_BAD_CAPTCHA_URL, 
00047     QUERY_ERROR_REFRESH_FAILED,  
00048     QUERY_ERROR_FORBIDDEN,       
00049     QUERY_ERROR_FORGOT_PASSWORD  
00050     //TODO add more errors
00051 };
00052 
00056 enum QueryMessageId {
00057     QUERY_MESSAGE_EMPTY = 0,          
00058     QUERY_MESSAGE_LOGIN,     
00059     QUERY_MESSAGE_NOT_AUTHORIZED          
00060     //TODO add more messages
00061 };
00062 
00070 class UiSessionData : public SessionData
00071 {
00072 public:
00079     UiSessionData(const QVariantMap &data = QVariantMap()) { m_data = data; }
00080 
00087     SIGNON_SESSION_DECLARE_PROPERTY(int, QueryErrorCode)
00088 
00089     
00096     SIGNON_SESSION_DECLARE_PROPERTY(QString, Caption)
00097 
00103     SIGNON_SESSION_DECLARE_PROPERTY(QString, Title)
00104 
00111     SIGNON_SESSION_DECLARE_PROPERTY(int, QueryMessageId)
00112 
00120     SIGNON_SESSION_DECLARE_PROPERTY(QString, QueryMessage)
00121 
00126     SIGNON_SESSION_DECLARE_PROPERTY(bool, QueryUserName)
00127 
00132     SIGNON_SESSION_DECLARE_PROPERTY(bool, QueryPassword)
00133 
00138     SIGNON_SESSION_DECLARE_PROPERTY(bool, RememberPassword)
00139 
00144     SIGNON_SESSION_DECLARE_PROPERTY(bool, ShowRealm)
00145 
00151     SIGNON_SESSION_DECLARE_PROPERTY(QString, OpenUrl)
00152 
00158     SIGNON_SESSION_DECLARE_PROPERTY(QString, FinalUrl)
00159 
00165     SIGNON_SESSION_DECLARE_PROPERTY(QString, UrlResponse)
00166 
00173     SIGNON_SESSION_DECLARE_PROPERTY(QString, CaptchaUrl)
00174 
00181     SIGNON_SESSION_DECLARE_PROPERTY(QByteArray, CaptchaImage)
00182 
00190     SIGNON_SESSION_DECLARE_PROPERTY(QString, CaptchaResponse)
00191 
00197     SIGNON_SESSION_DECLARE_PROPERTY(QString, ForgotPassword)
00198 
00204     SIGNON_SESSION_DECLARE_PROPERTY(QString, ForgotPasswordUrl)
00205 
00211     SIGNON_SESSION_DECLARE_PROPERTY(bool, Confirm)
00212 
00218     SIGNON_SESSION_DECLARE_PROPERTY(QString, Icon)
00219 
00220 };
00221 
00222 } //namespace SignOn
00223 
00224 Q_DECLARE_METATYPE(SignOn::UiSessionData)
00225 #endif // UISESSIONDATA_H