diff options
author | Daniel Schürmann <daschuer@mixxx.org> | 2018-03-11 00:22:02 +0100 |
---|---|---|
committer | Daniel Schürmann <daschuer@mixxx.org> | 2018-03-11 00:24:42 +0100 |
commit | bbadb0fab36de841f1e9cea71cc420fe55e6faeb (patch) | |
tree | bd9f920d93d41b9b559ff9c2eec1889aa716ddea /src/track/globaltrackcache.h | |
parent | bdcd714b53291ca038bc5eb1bb626280f93e77f3 (diff) |
replace the shared track pointer with an uniqe ptr
Diffstat (limited to 'src/track/globaltrackcache.h')
-rw-r--r-- | src/track/globaltrackcache.h | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/track/globaltrackcache.h b/src/track/globaltrackcache.h index 551b1b5f99..76b505c88d 100644 --- a/src/track/globaltrackcache.h +++ b/src/track/globaltrackcache.h @@ -39,18 +39,16 @@ class GlobalTrackCacheEntry final { // is not longer referenced, the track is saved and evicted // from the cache. public: - GlobalTrackCacheEntry( - TrackPointer deletingPtr, TrackWeakPointer savingWeakPtr) - : m_deletingPtr(std::move(deletingPtr)), - m_savingWeakPtr(std::move(savingWeakPtr)) { + explicit GlobalTrackCacheEntry( + std::unique_ptr<Track, void (&)(Track*)> deletingPtr) + : m_deletingPtr(std::move(deletingPtr)) { } + GlobalTrackCacheEntry(const GlobalTrackCacheEntry& other) = delete; + Track* getPlainPtr() const { return m_deletingPtr.get(); } - const TrackPointer& getDeletingPtr() const { - return m_deletingPtr; - } const TrackWeakPointer& getSavingWeakPtr() const { return m_savingWeakPtr; } @@ -59,7 +57,7 @@ class GlobalTrackCacheEntry final { } private: - TrackPointer m_deletingPtr; + std::unique_ptr<Track, void (&)(Track*)> m_deletingPtr; TrackWeakPointer m_savingWeakPtr; }; @@ -165,8 +163,7 @@ private: class /*interface*/ GlobalTrackCacheSaver { private: friend class GlobalTrackCache; - virtual void saveCachedTrack( - TrackPointer pTrack) noexcept = 0; + virtual void saveCachedTrack(Track* pTrack) noexcept = 0; protected: virtual ~GlobalTrackCacheSaver() {} |