wlanutilities/wlansniffer/wlansnifferapplication/inc/wlansnifferengine.h
author hgs
Mon, 24 May 2010 21:11:39 +0300
changeset 31 e8f4211554fb
child 39 7b3e49e4608a
permissions -rw-r--r--
201021
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
31
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2009-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
* WLAN Sniffer application engine. 
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#ifndef WLANSNIFFERENGINE_H
hgs
parents:
diff changeset
    19
#define WLANSNIFFERENGINE_H
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
// System includes
hgs
parents:
diff changeset
    22
hgs
parents:
diff changeset
    23
#include <QObject>
hgs
parents:
diff changeset
    24
#include <QVariant>
hgs
parents:
diff changeset
    25
#include <QString>
hgs
parents:
diff changeset
    26
#include <xqsettingskey.h>
hgs
parents:
diff changeset
    27
hgs
parents:
diff changeset
    28
// User includes
hgs
parents:
diff changeset
    29
hgs
parents:
diff changeset
    30
#include "wlanqtutils.h"
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
// Forward declarations
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
class WlanSnifferService;
hgs
parents:
diff changeset
    35
class XQSettingsManager;
hgs
parents:
diff changeset
    36
hgs
parents:
diff changeset
    37
// External data types
hgs
parents:
diff changeset
    38
hgs
parents:
diff changeset
    39
// Constants
hgs
parents:
diff changeset
    40
hgs
parents:
diff changeset
    41
// Class declaration
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
class WlanSnifferEngine : public QObject
hgs
parents:
diff changeset
    44
{
hgs
parents:
diff changeset
    45
    Q_OBJECT
hgs
parents:
diff changeset
    46
    
hgs
parents:
diff changeset
    47
public:
hgs
parents:
diff changeset
    48
hgs
parents:
diff changeset
    49
    // Data types
hgs
parents:
diff changeset
    50
hgs
parents:
diff changeset
    51
    explicit WlanSnifferEngine(QObject *parent = 0);
hgs
parents:
diff changeset
    52
    
hgs
parents:
diff changeset
    53
    ~WlanSnifferEngine();
hgs
parents:
diff changeset
    54
hgs
parents:
diff changeset
    55
    WlanQtUtils *wlanQtUtils() const;
hgs
parents:
diff changeset
    56
hgs
parents:
diff changeset
    57
    bool isEmbedded() const;
hgs
parents:
diff changeset
    58
hgs
parents:
diff changeset
    59
    void startWlanScanning();
hgs
parents:
diff changeset
    60
hgs
parents:
diff changeset
    61
    void stopWlanScanning();
hgs
parents:
diff changeset
    62
hgs
parents:
diff changeset
    63
    bool masterWlan() const;
hgs
parents:
diff changeset
    64
hgs
parents:
diff changeset
    65
    void setMasterWlan(bool enabled);
hgs
parents:
diff changeset
    66
    
hgs
parents:
diff changeset
    67
    bool forceDisableWlan() const;
hgs
parents:
diff changeset
    68
hgs
parents:
diff changeset
    69
    bool offlineMode() const;
hgs
parents:
diff changeset
    70
hgs
parents:
diff changeset
    71
signals:
hgs
parents:
diff changeset
    72
hgs
parents:
diff changeset
    73
    /*!
hgs
parents:
diff changeset
    74
        Signal indicating that WLAN scan results are available. 
hgs
parents:
diff changeset
    75
    */
hgs
parents:
diff changeset
    76
    void wlanScanReady();
hgs
parents:
diff changeset
    77
hgs
parents:
diff changeset
    78
    /*!
hgs
parents:
diff changeset
    79
        Signal to inform that List View is requested.
hgs
parents:
diff changeset
    80
        
hgs
parents:
diff changeset
    81
        @param [in] title Window title.
hgs
parents:
diff changeset
    82
    */
hgs
parents:
diff changeset
    83
    void toListView(const QString &title);
hgs
parents:
diff changeset
    84
    
hgs
parents:
diff changeset
    85
    /*!
hgs
parents:
diff changeset
    86
        Signal to inform that application exit was requested.
hgs
parents:
diff changeset
    87
    */
hgs
parents:
diff changeset
    88
    void exitTriggered();
hgs
parents:
diff changeset
    89
hgs
parents:
diff changeset
    90
    /*!
hgs
parents:
diff changeset
    91
        Signal indicating that the WLAN master status has changed.
hgs
parents:
diff changeset
    92
        
hgs
parents:
diff changeset
    93
        @param [in] enabled Master WLAN status: true if enabled.
hgs
parents:
diff changeset
    94
    */
hgs
parents:
diff changeset
    95
    void masterWlanStatus(bool enabled);
hgs
parents:
diff changeset
    96
    
hgs
parents:
diff changeset
    97
    /*!
hgs
parents:
diff changeset
    98
        Signal indicating that the force disable WLAN status has changed.
hgs
parents:
diff changeset
    99
        
hgs
parents:
diff changeset
   100
        @param [in] disabled Force disable WLAN status: true if disabled.
hgs
parents:
diff changeset
   101
    */
hgs
parents:
diff changeset
   102
    void forceDisableWlanStatus(bool disabled);
hgs
parents:
diff changeset
   103
hgs
parents:
diff changeset
   104
public slots:
hgs
parents:
diff changeset
   105
hgs
parents:
diff changeset
   106
    void completeService();
hgs
parents:
diff changeset
   107
hgs
parents:
diff changeset
   108
protected:
hgs
parents:
diff changeset
   109
hgs
parents:
diff changeset
   110
    void timerEvent(QTimerEvent *event);
hgs
parents:
diff changeset
   111
hgs
parents:
diff changeset
   112
protected slots:
hgs
parents:
diff changeset
   113
hgs
parents:
diff changeset
   114
private:
hgs
parents:
diff changeset
   115
hgs
parents:
diff changeset
   116
    Q_DISABLE_COPY(WlanSnifferEngine)
hgs
parents:
diff changeset
   117
hgs
parents:
diff changeset
   118
private slots:
hgs
parents:
diff changeset
   119
hgs
parents:
diff changeset
   120
    void updateSetting(const XQSettingsKey &key, const QVariant &value);
hgs
parents:
diff changeset
   121
hgs
parents:
diff changeset
   122
private: // data
hgs
parents:
diff changeset
   123
hgs
parents:
diff changeset
   124
    // Not owned data
hgs
parents:
diff changeset
   125
hgs
parents:
diff changeset
   126
    //! WLAN Sniffer service
hgs
parents:
diff changeset
   127
    WlanSnifferService *mService;               
hgs
parents:
diff changeset
   128
    
hgs
parents:
diff changeset
   129
    //! Settings manager for platform settings reading, writing & status changes.
hgs
parents:
diff changeset
   130
    XQSettingsManager *mSettingsManager;
hgs
parents:
diff changeset
   131
hgs
parents:
diff changeset
   132
    // Owned data
hgs
parents:
diff changeset
   133
hgs
parents:
diff changeset
   134
    //! Scan interval is 10 seconds
hgs
parents:
diff changeset
   135
    static const int scanTimerInterval = 10000;
hgs
parents:
diff changeset
   136
hgs
parents:
diff changeset
   137
    //! WLAN scan timer ID
hgs
parents:
diff changeset
   138
    int mScanTimerId;                           
hgs
parents:
diff changeset
   139
    
hgs
parents:
diff changeset
   140
    //! TRUE if embedded
hgs
parents:
diff changeset
   141
    bool mEmbedded;                             
hgs
parents:
diff changeset
   142
    
hgs
parents:
diff changeset
   143
    //! WLAN Qt Utils instance
hgs
parents:
diff changeset
   144
    QSharedPointer<WlanQtUtils> mWlanQtUtils;
hgs
parents:
diff changeset
   145
hgs
parents:
diff changeset
   146
    // Friend classes
hgs
parents:
diff changeset
   147
};
hgs
parents:
diff changeset
   148
hgs
parents:
diff changeset
   149
#endif // WLANSNIFFERENGINE_H