File indexing completed on 2024-04-21 11:38:33

0001 /*
0002     SPDX-FileCopyrightText: 2013-2015 Jan Grulich <jgrulich@redhat.com>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005 */
0006 
0007 #ifndef MODEMMANAGERQT_INTERFACE_H
0008 #define MODEMMANAGERQT_INTERFACE_H
0009 
0010 #include <modemmanagerqt_export.h>
0011 
0012 #include <QDBusObjectPath>
0013 #include <QObject>
0014 #include <QSharedPointer>
0015 
0016 #include "generictypes.h"
0017 
0018 namespace ModemManager
0019 {
0020 class InterfacePrivate;
0021 
0022 class MODEMMANAGERQT_EXPORT Interface : public QObject
0023 {
0024     Q_OBJECT
0025     Q_DECLARE_PRIVATE(Interface)
0026 
0027     Q_PROPERTY(QString uni READ uni)
0028 public:
0029     typedef QSharedPointer<Interface> Ptr;
0030     typedef QList<Ptr> List;
0031 
0032     explicit Interface(const QString &path, QObject *parent = nullptr);
0033     ~Interface() override;
0034 
0035     QString uni() const;
0036 
0037 protected:
0038     MODEMMANAGERQT_NO_EXPORT explicit Interface(InterfacePrivate &dd, QObject *parent = nullptr);
0039 
0040 protected:
0041     InterfacePrivate *const d_ptr;
0042 };
0043 } // namespace ModemManager
0044 
0045 #endif