PulseAudio Qt Bindings

card.h
1/*
2 SPDX-FileCopyrightText: 2014-2015 Harald Sitter <sitter@kde.org>
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
16struct pa_card_info;
17
18namespace PulseAudioQt
19{
20class CardPort;
21class Profile;
22
23class 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
32public:
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
42Q_SIGNALS:
43 void profilesChanged();
44 void activeProfileIndexChanged();
45 void portsChanged();
46 void sinksChanged();
47 void sourcesChanged();
48
49private:
50 explicit Card(QObject *parent);
51
52 std::unique_ptr<class CardPrivate> 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:17
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 18 2024 12:18:01 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.