~michael-sheldon/ubuntu-download-manager/fix-1557771

« back to all changes in this revision

Viewing changes to src/common/priv/ubuntu/transfers/queue.h

  • Committer: CI Train Bot
  • Author(s): Michael Sheldon
  • Date: 2016-03-08 17:45:57 UTC
  • mfrom: (347.3.2 implement-per-app-queueing)
  • Revision ID: ci-train-bot@canonical.com-20160308174557-1p5az22r7usysv5x
Implement per-app queueing instead of having one global queue for all apps
Approved by: Ken VanDine, PS Jenkins bot

Show diffs side-by-side

added added

removed removed

Lines of Context:
43
43
    virtual void add(Transfer* transfer);
44
44
 
45
45
    // accessors for useful info
46
 
    virtual QString currentTransfer();
 
46
    virtual QString currentTransfer(const QString& appId);
47
47
    virtual QStringList paths();
48
48
    virtual QHash<QString, Transfer*> transfers();
49
49
    virtual int size();
50
50
 
51
51
 signals:
52
52
    // signals raised when things happens within the q
53
 
    void currentChanged(QString path);
54
53
    void transferAdded(QString path);
55
54
    void transferRemoved(QString path);
 
55
    void currentChanged(QString appId, QString path);
56
56
 
57
57
 private:
58
58
    void onManagedTransferStateChanged();
59
59
    void onUnmanagedTransferStateChanged();
60
60
    void onSessionTypeChanged(QNetworkConfiguration::BearerType type);
61
61
    void remove(const QString& path);
62
 
    void updateCurrentTransfer();
 
62
    void updateCurrentTransfer(const QString& appIdToUpdate = "");
63
63
 
64
64
 private:
65
 
    QString _current;
 
65
    QHash<QString, QString> _current;
66
66
    QHash<QString, Transfer*> _transfers;  // quick for access
67
 
    QStringList _sortedPaths;  // keep the order
 
67
    QHash<QString, QStringList*> _sortedPaths;  // keep the order
68
68
};
69
69
 
70
70
}  // Transfers