qtmobility/src/bearer/qnetworkconfigmanager_maemo_p.h
changeset 4 90517678cc4f
parent 0 cfcbf08528c4
child 14 6fbed849b4f4
equal deleted inserted replaced
1:2b40d63a9c3d 4:90517678cc4f
     1 /****************************************************************************
     1 /****************************************************************************
     2 **
     2 **
     3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
     3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
     4 ** All rights reserved.
     4 ** All rights reserved.
     5 ** Contact: Nokia Corporation (qt-info@nokia.com)
     5 ** Contact: Nokia Corporation (qt-info@nokia.com)
     6 **
     6 **
     7 ** This file is part of the Qt Mobility Components.
     7 ** This file is part of the Qt Mobility Components.
     8 **
     8 **
    53 // We mean it.
    53 // We mean it.
    54 //
    54 //
    55 
    55 
    56 #include <QHash>
    56 #include <QHash>
    57 #include <QStringList>
    57 #include <QStringList>
       
    58 #include <QDBusInterface>
       
    59 #include <maemo_icd.h>
    58 
    60 
    59 #include "qnetworkconfigmanager.h"
    61 #include "qnetworkconfigmanager.h"
    60 #include "qnetworkconfiguration_maemo_p.h"
    62 #include "qnetworkconfiguration_maemo_p.h"
    61 #include "qnetworksession_maemo_p.h"
    63 #include "qnetworksession_maemo_p.h"
    62 
    64 
    67 class QNetworkConfigurationManagerPrivate : public QObject
    69 class QNetworkConfigurationManagerPrivate : public QObject
    68 {
    70 {
    69     Q_OBJECT
    71     Q_OBJECT
    70 public:
    72 public:
    71     QNetworkConfigurationManagerPrivate()
    73     QNetworkConfigurationManagerPrivate()
    72     :   QObject(0), capFlags(0), firstUpdate(true), onlineConfigurations(0)
    74     :   QObject(0), capFlags(0), firstUpdate(true), onlineConfigurations(0), m_scanGoingOn(false)
    73     {
    75     {
    74         registerPlatformCapabilities();
    76         registerPlatformCapabilities();
    75         updateConfigurations();
    77         updateConfigurations();
       
    78         init();
    76     }
    79     }
    77 
    80 
    78     virtual ~QNetworkConfigurationManagerPrivate() 
    81     virtual ~QNetworkConfigurationManagerPrivate() 
    79     {
    82     {
    80         QList<QString> configIdents = snapConfigurations.keys();
    83         QList<QString> configIdents = snapConfigurations.keys();
   101 	cleanup();
   104 	cleanup();
   102     }
   105     }
   103 
   106 
   104     QNetworkConfiguration defaultConfiguration();
   107     QNetworkConfiguration defaultConfiguration();
   105 
   108 
       
   109     void init();
       
   110 
   106     QNetworkConfigurationManager::Capabilities capFlags;
   111     QNetworkConfigurationManager::Capabilities capFlags;
   107     void registerPlatformCapabilities();
   112     void registerPlatformCapabilities();
   108 
   113 
   109     void performAsyncConfigurationUpdate();
   114     void performAsyncConfigurationUpdate();
       
   115     void doUpdateConfigurations(QList<Maemo::IcdScanResult> scanned = QList<Maemo::IcdScanResult>());
       
   116     void startListeningStateSignalsForAllConnections();
   110 
   117 
   111     //this table contains an up to date list of all configs at any time.
   118     //this table contains an up to date list of all configs at any time.
   112     //it must be updated if configurations change, are added/removed or
   119     //it must be updated if configurations change, are added/removed or
   113     //the members of ServiceNetworks change
   120     //the members of ServiceNetworks change
   114     QHash<QString, QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> > accessPointConfigurations;
   121     QHash<QString, QExplicitlySharedDataPointer<QNetworkConfigurationPrivate> > accessPointConfigurations;
   119     friend class IapMonitor;
   126     friend class IapMonitor;
   120     void cleanup();
   127     void cleanup();
   121     void deleteConfiguration(QString &iap_id);
   128     void deleteConfiguration(QString &iap_id);
   122     void addConfiguration(QString &iap_id);
   129     void addConfiguration(QString &iap_id);
   123     void configurationChanged(QNetworkConfigurationPrivate *ptr);
   130     void configurationChanged(QNetworkConfigurationPrivate *ptr);
   124     uint32_t getNetworkAttrs(bool is_iap_id, QString& iap_id,
   131     uint32_t getNetworkAttrs(bool is_iap_id, const QString& iap_id,
   125 			     QString& iap_type, QString security_method);
   132                              const QString& iap_type, QString security_method);
   126     void configChanged(QNetworkConfigurationPrivate *ptr, bool added);
   133 
       
   134     QDBusInterface *m_dbusInterface;
       
   135     QTimer m_scanTimer;
       
   136     bool m_gettingInitialConnectionState;
       
   137     bool m_scanGoingOn;
       
   138     QStringList m_typesToBeScanned;
       
   139     QList<Maemo::IcdScanResult> m_scanResult;
       
   140     QString m_onlineIapId;
       
   141 
   127     friend class QNetworkSessionPrivate;
   142     friend class QNetworkSessionPrivate;
   128 
   143 
   129 public slots:
   144 public slots:
   130     void updateConfigurations();
   145     void updateConfigurations();
       
   146 
       
   147 private slots:
       
   148     void cancelAsyncConfigurationUpdate();
       
   149     void finishAsyncConfigurationUpdate();
       
   150     void asyncUpdateConfigurationsSlot(QDBusMessage msg);
       
   151     void connectionStateSignalsSlot(QDBusMessage msg);
   131 
   152 
   132 Q_SIGNALS:
   153 Q_SIGNALS:
   133     void configurationAdded(const QNetworkConfiguration& config);
   154     void configurationAdded(const QNetworkConfiguration& config);
   134     void configurationRemoved(const QNetworkConfiguration& config);
   155     void configurationRemoved(const QNetworkConfiguration& config);
   135     void configurationUpdateComplete();
   156     void configurationUpdateComplete();
   136     void configurationChanged(const QNetworkConfiguration& config);
   157     void configurationChanged(const QNetworkConfiguration& config);
   137     void onlineStateChanged(bool isOnline);
   158     void onlineStateChanged(bool isOnline);
       
   159 
       
   160     void iapStateChanged(const QString& iapid, uint icd_connection_state);
   138 };
   161 };
   139 
   162 
   140 QTM_END_NAMESPACE
   163 QTM_END_NAMESPACE
   141 
   164 
   142 #endif //QNETWORKCONFIGURATIONMANAGERPRIVATE_H
   165 #endif //QNETWORKCONFIGURATIONMANAGERPRIVATE_H