[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [plasma-mediacenter/shantanu-sinny-media-caching] libs/mediacenter: Macro for PMC_ML_EMIT_IF_NEEDED
From: Shantanu Tushar <shantanu () kde ! org>
Date: 2014-01-18 14:57:14
Message-ID: E1W4XKk-0000dz-4I () scm ! kde ! org
[Download RAW message or body]
Git commit 45d67923f3a2fc372ee46a458bf5c683e9202394 by Shantanu Tushar.
Committed on 18/01/2014 at 14:57.
Pushed by shantanu into branch 'shantanu-sinny-media-caching'.
Macro for PMC_ML_EMIT_IF_NEEDED
M +13 -26 libs/mediacenter/medialibrary.cpp
http://commits.kde.org/plasma-mediacenter/45d67923f3a2fc372ee46a458bf5c683e=
9202394
diff --git a/libs/mediacenter/medialibrary.cpp b/libs/mediacenter/medialibr=
ary.cpp
index 9acd9fc..c5f80f5 100644
--- a/libs/mediacenter/medialibrary.cpp
+++ b/libs/mediacenter/medialibrary.cpp
@@ -349,34 +349,21 @@ void MediaLibrary::emitNewMedia()
}
}
=
+#define PMC_ML_EMIT_IF_NEEDED(mutex, list, signal) \
+ { \
+ QMutexLocker l(&mutex); \
+ if (!list.isEmpty()) { \
+ qDebug() << "Emitting " << SIGNAL(signal); \
+ emit signal(list); \
+ list.clear(); \
+ } \
+ } \
+
void MediaLibrary::emitNewMediaWithMediaList()
{
- {
- QMutexLocker l(&d->mediaMutex);
- if (!d->newMediaList.isEmpty()) {
- qDebug() << "Emitting new media";
- emit newMedia(d->newMediaList);
- d->newMediaList.clear();
- }
- }
-
- {
- QMutexLocker l(&d->albumListMutex);
- if (!d->newAlbumList.isEmpty()) {
- qDebug() << "Emitting new Album";
- emit newAlbums(d->newAlbumList);
- d->newAlbumList.clear();
- }
- }
-
- {
- QMutexLocker l(&d->artistListMutex);
- if (!d->newArtistList.isEmpty()) {
- qDebug() << "Emitting new Artist";
- emit newArtists(d->newArtistList);
- d->newArtistList.clear();
- }
- }
+ PMC_ML_EMIT_IF_NEEDED(d->mediaMutex, d->newMediaList, newMedia)
+ PMC_ML_EMIT_IF_NEEDED(d->albumListMutex, d->newAlbumList, newAlbums)
+ PMC_ML_EMIT_IF_NEEDED(d->artistListMutex, d->newArtistList, newArtists)
}
=
QList< QSharedPointer< PmcAlbum > > MediaLibrary::getAlbums() const
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic