PulseAudio Qt Bindings

stream.h
1 /*
2  SPDX-FileCopyrightText: 2014-2015 Harald Sitter <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5 */
6 
7 #ifndef STREAM_H
8 #define STREAM_H
9 
10 #include <QString>
11 
12 #include "volumeobject.h"
13 
14 // Properties need fully qualified classes even with pointers.
15 #include "client.h"
16 
17 namespace PulseAudioQt
18 {
19 class StreamPrivate;
20 
21 class PULSEAUDIOQT_EXPORT Stream : public VolumeObject
22 {
23  Q_OBJECT
24  Q_PROPERTY(PulseAudioQt::Client *client READ client NOTIFY clientChanged)
25  Q_PROPERTY(bool virtualStream READ isVirtualStream NOTIFY virtualStreamChanged)
26  Q_PROPERTY(quint32 deviceIndex READ deviceIndex WRITE setDeviceIndex NOTIFY deviceIndexChanged)
27  Q_PROPERTY(bool corked READ isCorked NOTIFY corkedChanged)
28  Q_PROPERTY(bool hasVolume READ hasVolume NOTIFY hasVolumeChanged)
29 
30 public:
31  ~Stream();
32 
33  Client *client() const;
34  bool isVirtualStream() const;
35  quint32 deviceIndex() const;
36  bool isCorked() const;
37  bool hasVolume() const;
38 
39  virtual void setDeviceIndex(quint32 deviceIndex) = 0;
40 
41 Q_SIGNALS:
42  void clientChanged();
43  void virtualStreamChanged();
44  void deviceIndexChanged();
45  void corkedChanged();
46  void hasVolumeChanged();
47 
48 protected:
49  /** @private */
50  explicit Stream(QObject *parent);
51  /** @private */
52  class StreamPrivate *const d;
53 
54  friend class SinkInputPrivate;
55  friend class SourceOutputPrivate;
56 };
57 
58 } // PulseAudioQt
59 
60 #endif // STREAM_H
The primary namespace of PulseAudioQt.
Definition: card.cpp:16
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Sat Jun 25 2022 06:12:40 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.