File indexing completed on 2024-12-08 10:17:37

0001 /*
0002     SPDX-FileCopyrightText: 2014-2015 Harald Sitter <sitter@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005 */
0006 
0007 #ifndef PORT_H
0008 #define PORT_H
0009 
0010 #include "profile.h"
0011 #include "pulseaudioqt_export.h"
0012 
0013 namespace PulseAudioQt
0014 {
0015 /**
0016  * A PulseAudio port.
0017  */
0018 class PULSEAUDIOQT_EXPORT Port : public Profile
0019 {
0020     Q_OBJECT
0021     Q_PROPERTY(Type type READ type NOTIFY typeChanged)
0022 
0023 public:
0024     ~Port();
0025 
0026     enum Type {
0027         Unknown,
0028         AUX,
0029         Speaker,
0030         Headphones,
0031         Line,
0032         Mic,
0033         Headset,
0034         Handset,
0035         Earpiece,
0036         SPDIF,
0037         HDMI,
0038         TV,
0039         Radio,
0040         Video,
0041         USB,
0042         Bluetooth,
0043         Portable,
0044         Handsfree,
0045         Car,
0046         HiFi,
0047         Phone,
0048         Network,
0049         Analog,
0050     };
0051     Q_ENUM(Type)
0052 
0053     Type type() const;
0054 
0055 Q_SIGNALS:
0056     void typeChanged();
0057 
0058 protected:
0059     /** @private */
0060     explicit Port(QObject *parent);
0061     /** @private */
0062     class PortPrivate *const d;
0063 
0064     friend class DevicePrivate;
0065     friend class CardPrivate;
0066 };
0067 
0068 } // PulseAudioQt
0069 
0070 #endif // PORT_H