File indexing completed on 2024-10-13 10:11:09

0001 /*
0002     SPDX-FileCopyrightText: 2021 Nicolas Fella <nicolas.fella@gmx.de>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005 */
0006 
0007 #ifndef INDEXEDPULSEOBJECT_H
0008 #define INDEXEDPULSEOBJECT_H
0009 
0010 #include <QObject>
0011 
0012 #include "pulseaudioqt_export.h"
0013 #include "pulseobject.h"
0014 
0015 namespace PulseAudioQt
0016 {
0017 class PULSEAUDIOQT_EXPORT IndexedPulseObject : public PulseObject
0018 {
0019     Q_OBJECT
0020     Q_PROPERTY(quint32 index READ index CONSTANT)
0021 
0022 public:
0023     ~IndexedPulseObject();
0024 
0025     /**
0026      * Index of this object.
0027      */
0028     quint32 index() const;
0029 
0030 protected:
0031     /** @private */
0032     explicit IndexedPulseObject(QObject *parent);
0033     /** @private */
0034     class IndexedPulseObjectPrivate *const d;
0035 
0036 private:
0037     // Ensure that we get properly parented.
0038     IndexedPulseObject();
0039     friend class ClientPrivate;
0040     friend class CardPrivate;
0041     friend class ModulePrivate;
0042     friend class VolumeObjectPrivate;
0043     friend class ProfilePrivate;
0044 };
0045 
0046 } // PulseAudioQt
0047 
0048 #endif // INDEXEDPULSEOBJECT_H