[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