Changeset View
Changeset View
Standalone View
Standalone View
src/pulseaudio.h
Show All 24 Lines | |||||
25 | #include <QAbstractListModel> | 25 | #include <QAbstractListModel> | ||
26 | 26 | | |||
27 | #include "maps.h" | 27 | #include "maps.h" | ||
28 | 28 | | |||
29 | namespace QPulseAudio | 29 | namespace QPulseAudio | ||
30 | { | 30 | { | ||
31 | class Context; | 31 | class Context; | ||
32 | 32 | | |||
33 | class Q_DECL_EXPORT AbstractModel : public QAbstractListModel | 33 | class AbstractModel : public QAbstractListModel | ||
34 | { | 34 | { | ||
35 | Q_OBJECT | 35 | Q_OBJECT | ||
36 | public: | 36 | public: | ||
37 | enum ItemRole { | 37 | enum ItemRole { | ||
38 | PulseObjectRole = Qt::UserRole + 1 | 38 | PulseObjectRole = Qt::UserRole + 1 | ||
39 | }; | 39 | }; | ||
40 | 40 | | |||
41 | QHash<int, QByteArray> roleNames() const Q_DECL_FINAL; | 41 | QHash<int, QByteArray> roleNames() const Q_DECL_FINAL; | ||
Show All 22 Lines | 56 | private: | |||
64 | QHash<int, int> m_signalIndexToProperties; | 64 | QHash<int, int> m_signalIndexToProperties; | ||
65 | 65 | | |||
66 | private: | 66 | private: | ||
67 | // Prevent leaf-classes from default constructing as we want to enforce | 67 | // Prevent leaf-classes from default constructing as we want to enforce | ||
68 | // them passing us a context or explicit nullptrs. | 68 | // them passing us a context or explicit nullptrs. | ||
69 | AbstractModel() {} | 69 | AbstractModel() {} | ||
70 | }; | 70 | }; | ||
71 | 71 | | |||
72 | class Q_DECL_EXPORT CardModel : public AbstractModel | 72 | class CardModel : public AbstractModel | ||
73 | { | 73 | { | ||
74 | Q_OBJECT | 74 | Q_OBJECT | ||
75 | public: | 75 | public: | ||
76 | CardModel(QObject *parent = nullptr); | 76 | CardModel(QObject *parent = nullptr); | ||
77 | }; | 77 | }; | ||
78 | 78 | | |||
79 | class Q_DECL_EXPORT SinkModel : public AbstractModel | 79 | class SinkModel : public AbstractModel | ||
80 | { | 80 | { | ||
81 | Q_OBJECT | 81 | Q_OBJECT | ||
82 | Q_PROPERTY(QPulseAudio::Sink *defaultSink READ defaultSink NOTIFY defaultSinkChanged) | 82 | Q_PROPERTY(QPulseAudio::Sink *defaultSink READ defaultSink NOTIFY defaultSinkChanged) | ||
83 | Q_PROPERTY(QPulseAudio::Sink *preferredSink READ preferredSink NOTIFY preferredSinkChanged) | 83 | Q_PROPERTY(QPulseAudio::Sink *preferredSink READ preferredSink NOTIFY preferredSinkChanged) | ||
84 | public: | 84 | public: | ||
85 | enum ItemRole { | 85 | enum ItemRole { | ||
86 | SortByDefaultRole = PulseObjectRole + 1 | 86 | SortByDefaultRole = PulseObjectRole + 1 | ||
87 | }; | 87 | }; | ||
Show All 12 Lines | 99 | private: | |||
100 | void sinkAdded(int index); | 100 | void sinkAdded(int index); | ||
101 | void sinkRemoved(int index); | 101 | void sinkRemoved(int index); | ||
102 | void updatePreferredSink(); | 102 | void updatePreferredSink(); | ||
103 | Sink *findPreferredSink() const; | 103 | Sink *findPreferredSink() const; | ||
104 | 104 | | |||
105 | Sink *m_preferredSink; | 105 | Sink *m_preferredSink; | ||
106 | }; | 106 | }; | ||
107 | 107 | | |||
108 | class Q_DECL_EXPORT SinkInputModel : public AbstractModel | 108 | class SinkInputModel : public AbstractModel | ||
109 | { | 109 | { | ||
110 | Q_OBJECT | 110 | Q_OBJECT | ||
111 | public: | 111 | public: | ||
112 | SinkInputModel(QObject *parent = nullptr); | 112 | SinkInputModel(QObject *parent = nullptr); | ||
113 | }; | 113 | }; | ||
114 | 114 | | |||
115 | class Q_DECL_EXPORT SourceModel : public AbstractModel | 115 | class SourceModel : public AbstractModel | ||
116 | { | 116 | { | ||
117 | Q_OBJECT | 117 | Q_OBJECT | ||
118 | Q_PROPERTY(QPulseAudio::Source *defaultSource READ defaultSource NOTIFY defaultSourceChanged) | 118 | Q_PROPERTY(QPulseAudio::Source *defaultSource READ defaultSource NOTIFY defaultSourceChanged) | ||
119 | public: | 119 | public: | ||
120 | enum ItemRole { | 120 | enum ItemRole { | ||
121 | SortByDefaultRole = PulseObjectRole + 1 | 121 | SortByDefaultRole = PulseObjectRole + 1 | ||
122 | }; | 122 | }; | ||
123 | Q_ENUMS(ItemRole) | 123 | Q_ENUMS(ItemRole) | ||
124 | 124 | | |||
125 | SourceModel(QObject *parent = nullptr); | 125 | SourceModel(QObject *parent = nullptr); | ||
126 | Source *defaultSource() const; | 126 | Source *defaultSource() const; | ||
127 | QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const Q_DECL_OVERRIDE; | 127 | QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const Q_DECL_OVERRIDE; | ||
128 | 128 | | |||
129 | signals: | 129 | signals: | ||
130 | void defaultSourceChanged(); | 130 | void defaultSourceChanged(); | ||
131 | }; | 131 | }; | ||
132 | 132 | | |||
133 | class Q_DECL_EXPORT SourceOutputModel : public AbstractModel | 133 | class SourceOutputModel : public AbstractModel | ||
134 | { | 134 | { | ||
135 | Q_OBJECT | 135 | Q_OBJECT | ||
136 | public: | 136 | public: | ||
137 | SourceOutputModel(QObject *parent = nullptr); | 137 | SourceOutputModel(QObject *parent = nullptr); | ||
138 | }; | 138 | }; | ||
139 | 139 | | |||
140 | class Q_DECL_EXPORT StreamRestoreModel : public AbstractModel | 140 | class StreamRestoreModel : public AbstractModel | ||
141 | { | 141 | { | ||
142 | Q_OBJECT | 142 | Q_OBJECT | ||
143 | public: | 143 | public: | ||
144 | StreamRestoreModel(QObject *parent = nullptr); | 144 | StreamRestoreModel(QObject *parent = nullptr); | ||
145 | }; | 145 | }; | ||
146 | 146 | | |||
147 | class Q_DECL_EXPORT ModuleModel : public AbstractModel | 147 | class ModuleModel : public AbstractModel | ||
148 | { | 148 | { | ||
149 | Q_OBJECT | 149 | Q_OBJECT | ||
150 | public: | 150 | public: | ||
151 | ModuleModel(QObject *parent = nullptr); | 151 | ModuleModel(QObject *parent = nullptr); | ||
152 | }; | 152 | }; | ||
153 | 153 | | |||
154 | } // QPulseAudio | 154 | } // QPulseAudio | ||
155 | 155 | | |||
156 | #endif // PULSEAUDIO_H | 156 | #endif // PULSEAUDIO_H |