wlanutilities/wlanlogin/ictswlanlogininterface/inc/ictswlanlogininterface.h
author hgs
Thu, 24 Jun 2010 10:49:51 +0300
changeset 39 7b3e49e4608a
permissions -rw-r--r--
201025
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
39
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0""
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:  
hgs
parents:
diff changeset
    15
* Entry library for launching Wlan Login application.
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#ifndef ICTSWLANLOGININTERFACE_H
hgs
parents:
diff changeset
    19
#define ICTSWLANLOGININTERFACE_H
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
// System includes
hgs
parents:
diff changeset
    22
#include <QObject>
hgs
parents:
diff changeset
    23
#include <QUrl>
hgs
parents:
diff changeset
    24
#include <xqappmgr.h>
hgs
parents:
diff changeset
    25
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
// User includes
hgs
parents:
diff changeset
    28
#include "ictsqtwrapper.h"
hgs
parents:
diff changeset
    29
hgs
parents:
diff changeset
    30
// Forward declarations
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
// External data types
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
// Constants
hgs
parents:
diff changeset
    35
hgs
parents:
diff changeset
    36
// Library's export macro definitions
hgs
parents:
diff changeset
    37
#ifdef BUILD_ICTSWLANLOGININTERFACE_DLL
hgs
parents:
diff changeset
    38
#define ICTSWLANLOGININTERFACEDLL_EXPORT Q_DECL_EXPORT
hgs
parents:
diff changeset
    39
#else
hgs
parents:
diff changeset
    40
#define ICTSWLANLOGININTERFACEDLL_EXPORT Q_DECL_IMPORT
hgs
parents:
diff changeset
    41
#endif
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
// Class declaration
hgs
parents:
diff changeset
    44
class ICTSWLANLOGININTERFACEDLL_EXPORT IctsWlanLoginInterface: public QObject
hgs
parents:
diff changeset
    45
{
hgs
parents:
diff changeset
    46
    Q_OBJECT
hgs
parents:
diff changeset
    47
hgs
parents:
diff changeset
    48
public:
hgs
parents:
diff changeset
    49
    
hgs
parents:
diff changeset
    50
    // Data types
hgs
parents:
diff changeset
    51
    
hgs
parents:
diff changeset
    52
    /*!
hgs
parents:
diff changeset
    53
        Internet connectivity test result type
hgs
parents:
diff changeset
    54
    */  
hgs
parents:
diff changeset
    55
    enum ictsResultType {
hgs
parents:
diff changeset
    56
        IctsPassed = 0,     //!< Internet connectivity test passed
hgs
parents:
diff changeset
    57
        IctsHotspotPassed,  //!< Internet connectivity test passed against hotspot access point
hgs
parents:
diff changeset
    58
        IctsCanceled,       //!< Internet connectivity test was cancelled due to user action
hgs
parents:
diff changeset
    59
        IctsFailed          //!< internet connectivity test failed
hgs
parents:
diff changeset
    60
    };
hgs
parents:
diff changeset
    61
    
hgs
parents:
diff changeset
    62
    IctsWlanLoginInterface(QObject *parent);
hgs
parents:
diff changeset
    63
hgs
parents:
diff changeset
    64
    ~IctsWlanLoginInterface();
hgs
parents:
diff changeset
    65
hgs
parents:
diff changeset
    66
public:
hgs
parents:
diff changeset
    67
     
hgs
parents:
diff changeset
    68
    void start(int iapId, int netId);
hgs
parents:
diff changeset
    69
hgs
parents:
diff changeset
    70
    void stop();
hgs
parents:
diff changeset
    71
hgs
parents:
diff changeset
    72
public slots:
hgs
parents:
diff changeset
    73
hgs
parents:
diff changeset
    74
    void handleConnectivityTestResult(IctsWrapper::ConnectivityTestResult result, QUrl redirectUrl);
hgs
parents:
diff changeset
    75
hgs
parents:
diff changeset
    76
signals:
hgs
parents:
diff changeset
    77
hgs
parents:
diff changeset
    78
    /*!
hgs
parents:
diff changeset
    79
        Signal that informs about ICTS result.
hgs
parents:
diff changeset
    80
        
hgs
parents:
diff changeset
    81
        @param [in] ictsResult ICTS result (IctsWlanLoginInterface::ictsResultType).
hgs
parents:
diff changeset
    82
    */
hgs
parents:
diff changeset
    83
    void ictsResult(int ictsResult);
hgs
parents:
diff changeset
    84
    
hgs
parents:
diff changeset
    85
    void hotspotCase();
hgs
parents:
diff changeset
    86
    
hgs
parents:
diff changeset
    87
private slots:
hgs
parents:
diff changeset
    88
hgs
parents:
diff changeset
    89
    void handleOk(const QVariant &result);
hgs
parents:
diff changeset
    90
hgs
parents:
diff changeset
    91
    void handleError(int errorCode);
hgs
parents:
diff changeset
    92
     
hgs
parents:
diff changeset
    93
private: // functions
hgs
parents:
diff changeset
    94
hgs
parents:
diff changeset
    95
    void wlanLoginAppStart(int iapId, int netId, QUrl url);
hgs
parents:
diff changeset
    96
    
hgs
parents:
diff changeset
    97
private: // data
hgs
parents:
diff changeset
    98
    
hgs
parents:
diff changeset
    99
    IctsWrapper* mIctsWrapper;       //!< Icts wrapper instance
hgs
parents:
diff changeset
   100
    XQApplicationManager* mAiwMgr;   //!< Application interworking manager    
hgs
parents:
diff changeset
   101
    XQAiwRequest* mAsyncRequest;     //!< Pointer to async AIW Request
hgs
parents:
diff changeset
   102
    int mIapId;                      //!< IAP identifier
hgs
parents:
diff changeset
   103
    int mNetId;                      //!< Network identifier
hgs
parents:
diff changeset
   104
        
hgs
parents:
diff changeset
   105
    // Friend classes
hgs
parents:
diff changeset
   106
};
hgs
parents:
diff changeset
   107
hgs
parents:
diff changeset
   108
#endif // ICTSWLANLOGININTERFACE_H