PulseAudio Qt Bindings

card.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 CARD_H
8 #define CARD_H
9 
10 #include "cardport.h"
11 #include "indexedpulseobject.h"
12 #include "profile.h"
13 #include "sink.h"
14 #include "source.h"
15 
16 struct pa_card_info;
17 
18 namespace PulseAudioQt
19 {
20 class CardPort;
21 class Profile;
22 
23 class PULSEAUDIOQT_EXPORT Card : public IndexedPulseObject
24 {
25  Q_OBJECT
26  Q_PROPERTY(QList<Profile *> profiles READ profiles NOTIFY profilesChanged)
27  Q_PROPERTY(quint32 activeProfileIndex READ activeProfileIndex WRITE setActiveProfileIndex NOTIFY activeProfileIndexChanged)
28  Q_PROPERTY(QList<CardPort *> ports READ ports NOTIFY portsChanged)
29  Q_PROPERTY(QList<Sink *> sinks READ sinks NOTIFY sinksChanged)
30  Q_PROPERTY(QList<Source *> sources READ sources NOTIFY sourcesChanged)
31 
32 public:
33  ~Card();
34 
35  QList<Profile *> profiles() const;
36  quint32 activeProfileIndex() const;
37  void setActiveProfileIndex(quint32 profileIndex);
38  QList<CardPort *> ports() const;
39  QList<Sink *> sinks() const;
40  QList<Source *> sources() const;
41 
42 Q_SIGNALS:
43  void profilesChanged();
44  void activeProfileIndexChanged();
45  void portsChanged();
46  void sinksChanged();
47  void sourcesChanged();
48 
49 private:
50  explicit Card(QObject *parent);
51 
52  class CardPrivate *const d;
53  friend class MapBase<Card, pa_card_info>;
54 };
55 
56 } // PulseAudioQt
57 
58 #endif // CARD_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.