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     QUERY_ERROR_NETWORK,         
00055     QUERY_ERROR_SSL,             
00056 };
00057 
00061 enum QueryMessageId {
00062     QUERY_MESSAGE_EMPTY = 0,          
00063     QUERY_MESSAGE_LOGIN,     
00064     QUERY_MESSAGE_NOT_AUTHORIZED          
00065     //TODO add more messages
00066 };
00067 
00075 class UiSessionData : public SessionData
00076 {
00077 public:
00084     UiSessionData(const QVariantMap &data = QVariantMap()) { m_data = data; }
00085 
00092     SIGNON_SESSION_DECLARE_PROPERTY(int, QueryErrorCode)
00093 
00094     
00101     SIGNON_SESSION_DECLARE_PROPERTY(QString, Caption)
00102 
00108     SIGNON_SESSION_DECLARE_PROPERTY(QString, Title)
00109 
00116     SIGNON_SESSION_DECLARE_PROPERTY(int, QueryMessageId)
00117 
00125     SIGNON_SESSION_DECLARE_PROPERTY(QString, QueryMessage)
00126 
00131     SIGNON_SESSION_DECLARE_PROPERTY(bool, QueryUserName)
00132 
00137     SIGNON_SESSION_DECLARE_PROPERTY(bool, QueryPassword)
00138 
00143     SIGNON_SESSION_DECLARE_PROPERTY(bool, RememberPassword)
00144 
00149     SIGNON_SESSION_DECLARE_PROPERTY(bool, ShowRealm)
00150 
00156     SIGNON_SESSION_DECLARE_PROPERTY(QString, OpenUrl)
00157 
00163     SIGNON_SESSION_DECLARE_PROPERTY(QString, FinalUrl)
00164 
00171     SIGNON_SESSION_DECLARE_PROPERTY(QString, UrlResponse)
00172 
00181     SIGNON_SESSION_DECLARE_PROPERTY(QString, CaptchaUrl)
00182 
00191     SIGNON_SESSION_DECLARE_PROPERTY(QByteArray, CaptchaImage)
00192 
00201     SIGNON_SESSION_DECLARE_PROPERTY(QString, CaptchaResponse)
00202 
00208     SIGNON_SESSION_DECLARE_PROPERTY(QString, ForgotPassword)
00209 
00215     SIGNON_SESSION_DECLARE_PROPERTY(QString, ForgotPasswordUrl)
00216 
00222     SIGNON_SESSION_DECLARE_PROPERTY(bool, Confirm)
00223 
00229     SIGNON_SESSION_DECLARE_PROPERTY(QString, Icon)
00230 
00231 };
00232 
00233 } //namespace SignOn
00234 
00235 Q_DECLARE_METATYPE(SignOn::UiSessionData)
00236 #endif // UISESSIONDATA_H