[meego-commits] 5853: Changes to MeeGo:1.0:Core:Update:Testing/garage-client-services

jackiewu jackie.wu at intel.com
Tue Jul 20 02:20:53 UTC 2010


Hi,
I have made the following changes to garage-client-services in project MeeGo:1.0:Core:Update:Testing. Please review and accept ASAP.

Thank You,
jackiewu

[This message was auto-generated]

---

Request #5853:

  submit:   home:jackiewu:branches:MeeGo:1.0:Core:Update:Testing/garage-client-services(r8)(cleanup) -> MeeGo:1.0:Core:Update:Testing/garage-client-services


Message:
    Fix BMC#1956

State:   new          2010-07-19T14:15:02 jackiewu
Comment: None



changes files:
--------------
--- garage-client-services.changes
+++ garage-client-services.changes
@@ -0,0 +1,4 @@
+* Mon Jul 19 2010 Jackie Wu <jackie.wu at intel.com> - 0.0.1
+Fix BMC#1956. 
+Remove the QtBear which is not supported. Use connman instead. 
+

spec files:
-----------
--- garage-client-services.spec
+++ garage-client-services.spec
@@ -19,7 +19,6 @@
 BuildRequires:  pkgconfig(QtCore) >= 4.6.0
 BuildRequires:  pkgconfig(QtNetwork)
 BuildRequires:  pkgconfig(QtGui)
-BuildRequires:  pkgconfig(QtMobility)
 BuildRequires:  pkgconfig(packagekit-qt)
 BuildRequires:  pkgconfig(libproxy-1.0)
 BuildRequires:  pkgconfig(libxml-2.0)
@@ -49,7 +48,7 @@
 %build
 # >> build pre
 export PATH=$PATH:/usr/lib/qt4/bin
-qmake-qt4
+qmake PREFIX=%{_prefix}
 # << build pre
 
 
@@ -77,17 +76,17 @@
 
 %files
 %defattr(-,root,root,-)
+%{_libdir}/*.so.*
+%{_datadir}/garage-client-services/*
 # >> files
-/usr/lib/*.so.*
-/usr/share/garage-client-services/*
 # << files
 
 
 %files devel
 %defattr(-,root,root,-)
+%{_includedir}/garage-client-services
+%{_libdir}/*.so
+%{_libdir}/pkgconfig/*.pc
 # >> files devel
-/usr/include/garage-client-services
-/usr/lib/*.so
-/usr/lib/pkgconfig/*.pc
 # << files devel
 

other changes:
--------------

++++++ garage-client-services-0.0.1.tar.bz2
--- rpm/garage-client-services.spec
+++ rpm/garage-client-services.spec
@@ -19,7 +19,6 @@
 BuildRequires:  pkgconfig(QtCore) >= 4.6.0
 BuildRequires:  pkgconfig(QtNetwork)
 BuildRequires:  pkgconfig(QtGui)
-BuildRequires:  pkgconfig(QtMobility)
 BuildRequires:  pkgconfig(packagekit-qt)
 BuildRequires:  pkgconfig(libproxy-1.0)
 BuildRequires:  pkgconfig(libxml-2.0)
@@ -49,7 +48,7 @@
 %build
 # >> build pre
 export PATH=$PATH:/usr/lib/qt4/bin
-qmake-qt4
+qmake PREFIX=%{_prefix}
 # << build pre
 
 
@@ -77,17 +76,17 @@
 
 %files
 %defattr(-,root,root,-)
+%{_libdir}/*.so.*
+%{_datadir}/garage-client-services/*
 # >> files
-/usr/lib/*.so.*
-/usr/share/garage-client-services/*
 # << files
 
 
 %files devel
 %defattr(-,root,root,-)
+%{_includedir}/garage-client-services
+%{_libdir}/*.so
+%{_libdir}/pkgconfig/*.pc
 # >> files devel
-/usr/include/garage-client-services
-/usr/lib/*.so
-/usr/lib/pkgconfig/*.pc
 # << files devel
 
--- rpm/garage-client-services.yaml
+++ rpm/garage-client-services.yaml
@@ -15,12 +15,14 @@
     - QtCore >= 4.6.0
     - QtNetwork
     - QtGui
-    - QtMobility
     - packagekit-qt
     - libproxy-1.0
     - libxml-2.0
 Configure: none
 Builder: none
+Files:
+    - "%{_libdir}/*.so.*"
+    - "%{_datadir}/garage-client-services/*"
 SubPackages:
     - Name: devel
       Summary: Development files for MeeGo Garage Client
@@ -28,4 +30,8 @@
       Description: |
           This package contains files necessary to develop MeeGo
           Garage Client UI.
+      Files:
+          - "%{_includedir}/garage-client-services"
+          - "%{_libdir}/*.so"
+          - "%{_libdir}/pkgconfig/*.pc"
 
--- src/applicationmanager.cpp
+++ src/applicationmanager.cpp
@@ -11,6 +11,8 @@
 #include <QDir>
 #include <QFile>
 #include <QtDebug>
+#include <QDBusInterface>
+#include <QDBusReply>
 
 using namespace MeeGoGarage;
 
@@ -64,9 +66,26 @@
     m_currentTransaction(0),
     m_statusStorage(new ApplicationStatusStorage())
 {
-    onlineStateChanged(m_networkManager.isOnline());
-    connect(&m_networkManager, SIGNAL(onlineStateChanged(bool)), this,SIGNAL(onlineStateChanged(bool)));
-    connect(&m_networkManager, SIGNAL(onlineStateChanged(bool)), this, SLOT(onOnlineStateChanged(bool)));
+    QDBusConnection bus = QDBusConnection::systemBus();
+    m_connMan = new QDBusInterface( "org.moblin.connman", "/", "org.moblin.connman.Manager", bus);
+    if (!m_connMan || !m_connMan->isValid()) {
+        qDebug() << "ApplicationManager::ApplicationManager connman not found";
+        delete m_connMan;
+        m_connMan = 0;
+    }
+
+    if (m_connMan) {
+        bool ret = bus.connect("org.moblin.connman", "/", "org.moblin.connman.Manager", "StateChanged", this, SLOT(onStateChangedConnman(QString)));
+        if (!ret) {
+            qDebug() << "ApplicationManager::ApplicationManager could not connect to connman";
+
+        }
+    }
+
+    onlineStateChanged(isOnline());
+    //onlineStateChanged(m_networkManager.isOnline());
+    //connect(&m_networkManager, SIGNAL(onlineStateChanged(bool)), this,SIGNAL(onlineStateChanged(bool)));
+    //connect(&m_networkManager, SIGNAL(onlineStateChanged(bool)), this, SLOT(onOnlineStateChanged(bool)));
 }
 
 ApplicationManager::~ApplicationManager()
@@ -75,6 +94,11 @@
         delete m_statusStorage;
         m_statusStorage = 0;
     }
+
+    if (m_connMan) {
+        delete m_connMan;
+        m_connMan = 0;
+    }
 }
 
 void ApplicationManager::install(Application * app)
@@ -987,7 +1011,10 @@
 
 bool ApplicationManager::isOnline()
 {
-    return m_networkManager.isOnline();
+    //return PackageKit::Client::instance()->networkState() != PackageKit::Enum::NetworkOffline;
+    //return m_networkManager.isOnline();
+    bool ret = isOnlineConnman();
+    return ret;
 }
 
 void ApplicationManager::onOnlineStateChanged(bool isOnline)
@@ -1000,3 +1027,26 @@
     }
 }
 
+void ApplicationManager::onStateChangedConnman(QString state)
+{
+    qDebug() << "ApplicationManager::onStateChangedConnman state=" << state;
+    if (state == "online") {
+        emit onlineStateChanged(true);
+        processQueue();
+    } else {
+        emit onlineStateChanged(false);
+    }
+}
+
+bool ApplicationManager::isOnlineConnman()
+{    
+    QDBusReply<QString> reply = m_connMan->call( "GetState" );
+    if ( reply.isValid() ) {
+        //qDebug() << "ApplicationManager::isOnlineConnman = " << reply.value();
+        return reply.value() == "online";
+    }
+
+    qDebug() << "ApplicationManager::isOnlineConnman GetState call failed ";
+
+    return false;
+}
--- src/applicationmanager.h
+++ src/applicationmanager.h
@@ -2,16 +2,12 @@
 #define APPLICATIONMANAGER_H
 
 #include <QObject>
-#include <qnetworkconfigmanager.h>
 
 #ifndef HAVE_NO_PACKAGEKIT
 #include <QPackageKit>
 #endif
 
-#if QT_VERSION >= 0x040700
-#else
-QTM_USE_NAMESPACE
-#endif
+class QDBusInterface;
 
 namespace MeeGoGarage {
 
@@ -108,6 +104,7 @@
 private slots:
 
     void onOnlineStateChanged(bool isOnline);
+    void onStateChangedConnman(QString state);
 
 #ifndef HAVE_NO_PACKAGEKIT
     // signals received from transactions from package kit
@@ -150,6 +147,8 @@
 
     static QList<Application*> filterAppsToResolve(QList<Application*> applicationList);
 
+    bool isOnlineConnman();
+
     typedef struct {
         ActionType actionType;
         QList<Application*> applicationList;
@@ -177,7 +176,9 @@
 
     // storage of application status
     ApplicationStatusStorage * m_statusStorage;
-    QNetworkConfigurationManager   m_networkManager;
+    //QNetworkConfigurationManager   m_networkManager;
+
+    QDBusInterface *m_connMan;
 
 };
 
--- src/catalog.cpp
+++ src/catalog.cpp
@@ -21,7 +21,7 @@
 const char Catalog::XML_REPO[] = "repositories";
 
 Catalog::Catalog(QObject *parent) :
-    QObject(parent), categoryListIsReady(false), applicationListIsReady(false)
+    QObject(parent), categoryListIsReady(false), applicationListIsReady(false), networkAccessManager(0)
 {
 }
 
--- src/src.pro
+++ src/src.pro
@@ -7,10 +7,25 @@
 TARGET = garage-client-services
 TEMPLATE = lib
 VERSION = 0.0.1
-isEmpty(GARAGECACHEDIR) {
-GARAGECACHEDIR=/var/tmp/garage-client-services
+unix {
+    #VARIABLES
+    isEmpty(PREFIX) {
+        PREFIX=/usr/local
+    }
+    isEmpty(DATADIR) {
+        DATADIR=$$PREFIX/share
+    }
+    isEmpty(LIBDIR) {
+        LIBDIR=$$PREFIX/lib
+    }
+    isEmpty(INCLUDEDIR) {
+        INCLUDEDIR=$$PREFIX/include
+    }
+    isEmpty(GARAGECACHEDIR) {
+        GARAGECACHEDIR=/var/tmp/garage-client-services
+    }
 }
-DEFINES += GARAGECLIENTSERVICES_LIBRARY GARAGECACHEDIR=$${GARAGECACHEDIR}
+DEFINES += GARAGECLIENTSERVICES_LIBRARY GARAGECACHEDIR=$${GARAGECACHEDIR} DATADIR=$$DATADIR
 SOURCES += webclient.cpp \
     image.cpp \
     garageclientservices.cpp \
@@ -34,26 +49,24 @@
     applicationmanager.h \
     applicationstatusstorage.h \
     garagesettings.h
-target.path = /usr/lib
-data.path = /usr/share/$$TARGET/data/
+
+target.path = $$LIBDIR
+data.path = $$DATADIR/$$TARGET/data/
 data.files = data/appstore_data.xml
-gcsheaders.path = /usr/include/garage-client-services/
+gcsheaders.path = $$INCLUDEDIR/garage-client-services/
 gcsheaders.files = $${HEADERS}
-pcfiles.path = /usr/lib/pkgconfig/
+pcfiles.path = $$LIBDIR/pkgconfig/
 pcfiles.files = garage-client-services.pc
 INSTALLS += target \
     data \
     gcsheaders \
     pcfiles
-CONFIG += link_pkgconfig mobility
-MOBILITY = bearer
+CONFIG += link_pkgconfig 
 PKGCONFIG += libproxy-1.0 \
     libxml-2.0 \
     packagekit-qt
-INCLUDEPATH += /usr/include/PackageKit/packagekit-qt \
-    /usr/include/libxml2 \
-    /usr/include/
+INCLUDEPATH += $$INCLUDEDIR/PackageKit/packagekit-qt \
+    $$INCLUDEDIR/libxml2
 LIBS += -lpackagekit-qt \
     -lxml2 \
-    -lproxy \
-    -lQtBearer
+    -lproxy

++++++ garage-client-services.yaml
--- garage-client-services.yaml
+++ garage-client-services.yaml
@@ -15,12 +15,14 @@
     - QtCore >= 4.6.0
     - QtNetwork
     - QtGui
-    - QtMobility
     - packagekit-qt
     - libproxy-1.0
     - libxml-2.0
 Configure: none
 Builder: none
+Files:
+    - "%{_libdir}/*.so.*"
+    - "%{_datadir}/garage-client-services/*"
 SubPackages:
     - Name: devel
       Summary: Development files for MeeGo Garage Client
@@ -28,4 +30,8 @@
       Description: |
           This package contains files necessary to develop MeeGo
           Garage Client UI.
+      Files:
+          - "%{_includedir}/garage-client-services"
+          - "%{_libdir}/*.so"
+          - "%{_libdir}/pkgconfig/*.pc"
 



More information about the MeeGo-commits mailing list