[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kdelibs/frameworks] tier1/solid/src/solid: SOLID_GLOBAL_STATIC -> Q_GLOBAL_STATIC
From:       Albert Astals Cid <tsdgeos () terra ! es>
Date:       2013-03-14 22:02:31
Message-ID: 20130314220231.459EAA604F () git ! kde ! org
[Download RAW message or body]

Git commit 5af8007f1e6a81e63b33ccaebb79ed4babfae0ae by Albert Astals Cid.
Committed on 14/03/2013 at 16:37.
Pushed by aacid into branch 'frameworks'.

SOLID_GLOBAL_STATIC -> Q_GLOBAL_STATIC

REVIEW: 109483

M  +1    -1    tier1/solid/src/solid/backends/fstab/fstabhandling.cpp
M  +1    -1    tier1/solid/src/solid/backends/fstab/fstabwatcher.cpp
M  +1    -1    tier1/solid/src/solid/backends/hal/halfstabhandling.cpp
M  +2    -2    tier1/solid/src/solid/backends/udisks/udisksopticaldisc.cpp
M  +2    -2    tier1/solid/src/solid/backends/udisks2/udisksopticaldisc.cpp
M  +1    -1    tier1/solid/src/solid/devicemanager.cpp
M  +1    -1    tier1/solid/src/solid/networking.cpp
M  +1    -1    tier1/solid/src/solid/powermanagement.cpp
M  +1    -1    tier1/solid/src/solid/predicateparse.cpp
M  +0    -79   tier1/solid/src/solid/soliddefs_p.h

http://commits.kde.org/kdelibs/5af8007f1e6a81e63b33ccaebb79ed4babfae0ae

diff --git a/tier1/solid/src/solid/backends/fstab/fstabhandling.cpp \
b/tier1/solid/src/solid/backends/fstab/fstabhandling.cpp index e08d922..19a6b39 \
                100644
--- a/tier1/solid/src/solid/backends/fstab/fstabhandling.cpp
+++ b/tier1/solid/src/solid/backends/fstab/fstabhandling.cpp
@@ -103,7 +103,7 @@
 #define FSNAME(var) var.mnt_special
 #endif
 
-SOLID_GLOBAL_STATIC(Solid::Backends::Fstab::FstabHandling, globalFstabCache)
+Q_GLOBAL_STATIC(Solid::Backends::Fstab::FstabHandling, globalFstabCache)
 
 Solid::Backends::Fstab::FstabHandling::FstabHandling()
     : m_fstabCacheValid(false),
diff --git a/tier1/solid/src/solid/backends/fstab/fstabwatcher.cpp \
b/tier1/solid/src/solid/backends/fstab/fstabwatcher.cpp index ee64278..519c25c 100644
--- a/tier1/solid/src/solid/backends/fstab/fstabwatcher.cpp
+++ b/tier1/solid/src/solid/backends/fstab/fstabwatcher.cpp
@@ -29,7 +29,7 @@
 
 using namespace Solid::Backends::Fstab;
 
-SOLID_GLOBAL_STATIC(FstabWatcher, globalFstabWatcher)
+Q_GLOBAL_STATIC(FstabWatcher, globalFstabWatcher)
 
 #define MTAB "/etc/mtab"
 #ifdef Q_OS_SOLARIS
diff --git a/tier1/solid/src/solid/backends/hal/halfstabhandling.cpp \
b/tier1/solid/src/solid/backends/hal/halfstabhandling.cpp index 3a6488d..2c05026 \
                100644
--- a/tier1/solid/src/solid/backends/hal/halfstabhandling.cpp
+++ b/tier1/solid/src/solid/backends/hal/halfstabhandling.cpp
@@ -43,7 +43,7 @@
 #endif
 
 typedef QMultiHash<QString, QString> QStringMultiHash;
-SOLID_GLOBAL_STATIC(QStringMultiHash, globalMountPointsCache)
+Q_GLOBAL_STATIC(QStringMultiHash, globalMountPointsCache)
 
 QString _k_resolveSymLink(const QString &filename)
 {
diff --git a/tier1/solid/src/solid/backends/udisks/udisksopticaldisc.cpp \
b/tier1/solid/src/solid/backends/udisks/udisksopticaldisc.cpp index 8eb3588..c069692 \
                100644
--- a/tier1/solid/src/solid/backends/udisks/udisksopticaldisc.cpp
+++ b/tier1/solid/src/solid/backends/udisks/udisksopticaldisc.cpp
@@ -32,8 +32,8 @@
 #include "soliddefs_p.h"
 
 typedef QMap<QString, Solid::OpticalDisc::ContentTypes> ContentTypesCache;
-SOLID_GLOBAL_STATIC(ContentTypesCache, cache)
-SOLID_GLOBAL_STATIC(QMutex, cacheLock)
+Q_GLOBAL_STATIC(ContentTypesCache, cache)
+Q_GLOBAL_STATIC(QMutex, cacheLock)
 
 // inspired by http://cgit.freedesktop.org/hal/tree/hald/linux/probing/probe-volume.c
  static Solid::OpticalDisc::ContentType advancedDiscDetect(const QString & \
                device_file)
diff --git a/tier1/solid/src/solid/backends/udisks2/udisksopticaldisc.cpp \
b/tier1/solid/src/solid/backends/udisks2/udisksopticaldisc.cpp index 23a4fc1..45ee605 \
                100644
--- a/tier1/solid/src/solid/backends/udisks2/udisksopticaldisc.cpp
+++ b/tier1/solid/src/solid/backends/udisks2/udisksopticaldisc.cpp
@@ -36,8 +36,8 @@
 #include "soliddefs_p.h"
 
 typedef QMap<QByteArray, Solid::OpticalDisc::ContentTypes> ContentTypesCache;
-SOLID_GLOBAL_STATIC(ContentTypesCache, cache)
-SOLID_GLOBAL_STATIC(QMutex, cacheLock)
+Q_GLOBAL_STATIC(ContentTypesCache, cache)
+Q_GLOBAL_STATIC(QMutex, cacheLock)
 
 // inspired by http://cgit.freedesktop.org/hal/tree/hald/linux/probing/probe-volume.c
  static Solid::OpticalDisc::ContentType advancedDiscDetect(const QByteArray & \
                device_file)
diff --git a/tier1/solid/src/solid/devicemanager.cpp \
b/tier1/solid/src/solid/devicemanager.cpp index 7510707..fa498b2 100644
--- a/tier1/solid/src/solid/devicemanager.cpp
+++ b/tier1/solid/src/solid/devicemanager.cpp
@@ -30,7 +30,7 @@
 
 #include "soliddefs_p.h"
 
-SOLID_GLOBAL_STATIC(Solid::DeviceManagerStorage, globalDeviceStorage)
+Q_GLOBAL_STATIC(Solid::DeviceManagerStorage, globalDeviceStorage)
 
 Solid::DeviceManagerPrivate::DeviceManagerPrivate()
     : m_nullDevice(new DevicePrivate(QString()))
diff --git a/tier1/solid/src/solid/networking.cpp \
b/tier1/solid/src/solid/networking.cpp index 0b63440..f52da76 100644
--- a/tier1/solid/src/solid/networking.cpp
+++ b/tier1/solid/src/solid/networking.cpp
@@ -27,7 +27,7 @@
 #include "soliddefs_p.h"
 #include "org_kde_solid_networking_client.h"
 
-SOLID_GLOBAL_STATIC(Solid::NetworkingPrivate, globalNetworkManager)
+Q_GLOBAL_STATIC(Solid::NetworkingPrivate, globalNetworkManager)
 
 Solid::NetworkingPrivate::NetworkingPrivate()
     : netStatus(Solid::Networking::Unknown),
diff --git a/tier1/solid/src/solid/powermanagement.cpp \
b/tier1/solid/src/solid/powermanagement.cpp index 2e6a58f..f239848 100644
--- a/tier1/solid/src/solid/powermanagement.cpp
+++ b/tier1/solid/src/solid/powermanagement.cpp
@@ -25,7 +25,7 @@
 
 #include <QtCore/QCoreApplication>
 
-SOLID_GLOBAL_STATIC(Solid::PowerManagementPrivate, globalPowerManager)
+Q_GLOBAL_STATIC(Solid::PowerManagementPrivate, globalPowerManager)
 
 Solid::PowerManagementPrivate::PowerManagementPrivate()
     : managerIface("org.freedesktop.PowerManagement",
diff --git a/tier1/solid/src/solid/predicateparse.cpp \
b/tier1/solid/src/solid/predicateparse.cpp index 31f8c4f..2393cf3 100644
--- a/tier1/solid/src/solid/predicateparse.cpp
+++ b/tier1/solid/src/solid/predicateparse.cpp
@@ -51,7 +51,7 @@ struct ParsingData
 }
 }
 
-SOLID_GLOBAL_STATIC(QThreadStorage<Solid::PredicateParse::ParsingData *>, \
s_parsingData) +Q_GLOBAL_STATIC(QThreadStorage<Solid::PredicateParse::ParsingData *>, \
s_parsingData)  
 Solid::Predicate Solid::Predicate::fromString(const QString &predicate)
 {
diff --git a/tier1/solid/src/solid/soliddefs_p.h \
b/tier1/solid/src/solid/soliddefs_p.h index b1d88e1..0b84d64 100644
--- a/tier1/solid/src/solid/soliddefs_p.h
+++ b/tier1/solid/src/solid/soliddefs_p.h
@@ -43,83 +43,4 @@
          t->Method; \
     }
 
-//
-// WARNING!!
-// This code uses undocumented Qt API
-// Do not copy it to your application! Use only the functions that are here!
-// Otherwise, it could break when a new version of Qt ships.
-//
-
-/*
- * Lame copy of K_GLOBAL_STATIC below, but that's the price for
- * being completely kdecore independent.
- */
-
-namespace Solid
-{
-    typedef void (*CleanUpFunction)();
-
-    class CleanUpGlobalStatic
-    {
-    public:
-        Solid::CleanUpFunction func;
-
-        inline ~CleanUpGlobalStatic() { func(); }
-    };
-}
-
-#ifdef Q_CC_MSVC
-# define SOLID_GLOBAL_STATIC_STRUCT_NAME(NAME) _solid_##NAME##__LINE__
-#else
-# define SOLID_GLOBAL_STATIC_STRUCT_NAME(NAME)
-#endif
-
-#define SOLID_GLOBAL_STATIC(TYPE, NAME) SOLID_GLOBAL_STATIC_WITH_ARGS(TYPE, NAME, \
                ())
-
-
-#define SOLID_GLOBAL_STATIC_WITH_ARGS(TYPE, NAME, ARGS)                        \
-static QBasicAtomicPointer<TYPE > _solid_static_##NAME = \
                Q_BASIC_ATOMIC_INITIALIZER(0);\
-static bool _solid_static_##NAME##_destroyed;                                  \
-static struct SOLID_GLOBAL_STATIC_STRUCT_NAME(NAME)                            \
-{                                                                              \
-    bool isDestroyed()                                                         \
-    {                                                                          \
-        return _solid_static_##NAME##_destroyed;                               \
-    }                                                                          \
-    inline operator TYPE*()                                                    \
-    {                                                                          \
-        return operator->();                                                   \
-    }                                                                          \
-    inline TYPE *operator->()                                                  \
-    {                                                                          \
-        if (!_solid_static_##NAME.load()) {                                    \
-            if (isDestroyed()) {                                               \
-                qFatal("Fatal Error: Accessed global static '%s *%s()' after \
                destruction. " \
-                       "Defined at %s:%d", #TYPE, #NAME, __FILE__, __LINE__);  \
-            }                                                                  \
-            TYPE *x = new TYPE ARGS;                                           \
-            if (!_solid_static_##NAME.testAndSetOrdered(0, x)                  \
-                && _solid_static_##NAME.load() != x ) {                        \
-                delete x;                                                      \
-            } else {                                                           \
-                static Solid::CleanUpGlobalStatic cleanUpObject = { destroy }; \
-            }                                                                  \
-        }                                                                      \
-        return _solid_static_##NAME.load();                                    \
-    }                                                                          \
-    inline TYPE &operator*()                                                   \
-    {                                                                          \
-        return *operator->();                                                  \
-    }                                                                          \
-    static void destroy()                                                      \
-    {                                                                          \
-        _solid_static_##NAME##_destroyed = true;                               \
-        TYPE *x = _solid_static_##NAME.load();                                 \
-        _solid_static_##NAME.store(0);                                         \
-        delete x;                                                              \
-    }                                                                          \
-} NAME;
-
-
-
 #endif


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic