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@canonical.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,  
00043     QUERY_ERROR_CANCELED,        
00045     QUERY_ERROR_NOT_AVAILABLE,   
00047     QUERY_ERROR_BAD_URL,         
00048     QUERY_ERROR_BAD_CAPTCHA,     
00049     QUERY_ERROR_BAD_CAPTCHA_URL, 
00051     QUERY_ERROR_REFRESH_FAILED,  
00052     QUERY_ERROR_FORBIDDEN,       
00053     QUERY_ERROR_FORGOT_PASSWORD  
00054     //TODO add more errors
00055 };
00056 
00060 enum QueryMessageId {
00061     QUERY_MESSAGE_EMPTY = 0,          
00062     QUERY_MESSAGE_LOGIN,     
00063     QUERY_MESSAGE_NOT_AUTHORIZED          
00064     //TODO add more messages
00065 };
00066 
00074 class UiSessionData : public SessionData
00075 {
00076 public:
00083     UiSessionData(const QVariantMap &data = QVariantMap()) { m_data = data; }
00084 
00091     SIGNON_SESSION_DECLARE_PROPERTY(int, QueryErrorCode)
00092 
00093     
00100     SIGNON_SESSION_DECLARE_PROPERTY(QString, Caption)
00101 
00107     SIGNON_SESSION_DECLARE_PROPERTY(QString, Title)
00108 
00115     SIGNON_SESSION_DECLARE_PROPERTY(int, QueryMessageId)
00116 
00124     SIGNON_SESSION_DECLARE_PROPERTY(QString, QueryMessage)
00125 
00130     SIGNON_SESSION_DECLARE_PROPERTY(bool, QueryUserName)
00131 
00136     SIGNON_SESSION_DECLARE_PROPERTY(bool, QueryPassword)
00137 
00142     SIGNON_SESSION_DECLARE_PROPERTY(bool, RememberPassword)
00143 
00148     SIGNON_SESSION_DECLARE_PROPERTY(bool, ShowRealm)
00149 
00155     SIGNON_SESSION_DECLARE_PROPERTY(QString, OpenUrl)
00156 
00162     SIGNON_SESSION_DECLARE_PROPERTY(QString, FinalUrl)
00163 
00170     SIGNON_SESSION_DECLARE_PROPERTY(QString, UrlResponse)
00171 
00180     SIGNON_SESSION_DECLARE_PROPERTY(QString, CaptchaUrl)
00181 
00190     SIGNON_SESSION_DECLARE_PROPERTY(QByteArray, CaptchaImage)
00191 
00200     SIGNON_SESSION_DECLARE_PROPERTY(QString, CaptchaResponse)
00201 
00207     SIGNON_SESSION_DECLARE_PROPERTY(QString, ForgotPassword)
00208 
00214     SIGNON_SESSION_DECLARE_PROPERTY(QString, ForgotPasswordUrl)
00215 
00221     SIGNON_SESSION_DECLARE_PROPERTY(bool, Confirm)
00222 
00228     SIGNON_SESSION_DECLARE_PROPERTY(QString, Icon)
00229 
00230 };
00231 
00232 } //namespace SignOn
00233 
00234 Q_DECLARE_METATYPE(SignOn::UiSessionData)
00235 #endif // UISESSIONDATA_H