33class PlaybackCacheActivityAggregator :
public QObject
38 WRITE setCollection NOTIFY collectionChanged)
40 int cachePendingCount READ cachePendingCount NOTIFY cachePendingCountChanged)
42 int cacheCompleteCount READ cacheCompleteCount NOTIFY
43 cacheCompleteCountChanged)
47 explicit PlaybackCacheActivityAggregator (QObject * parent =
nullptr);
48 ~PlaybackCacheActivityAggregator ()
noexcept override;
52 Q_SIGNAL
void collectionChanged ();
54 int cachePendingCount ()
const;
55 Q_SIGNAL
void cachePendingCountChanged ();
60 int cacheCompleteCount ()
const;
61 Q_SIGNAL
void cacheCompleteCountChanged ();
66 void disconnectAll ();
68 void connectToTrack (
Track * track);
69 void disconnectFromTrack (
Track * track);
71 void updateCachePendingCount (
74 void updateCacheCompleteCount (
82 bool is_pending =
false;
85 std::unordered_map<PlaybackCacheActivityTracker *, TrackerState>
88 int cache_pending_count_ = 0;
89 int cache_complete_count_ = 0;
91 QTimer cache_complete_count_timer_{
this };
93 QMetaObject::Connection rows_inserted_conn_;
94 QMetaObject::Connection rows_about_to_be_removed_conn_;
95 QMetaObject::Connection model_about_to_be_reset_conn_;