File indexing completed on 2024-04-21 07:46:59

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 <QObject>
0013 #include <QSharedPointer>
0014 
0015 #include "generictypes.h"
0016 
0017 namespace ModemManager
0018 {
0019 class InterfacePrivate;
0020 
0021 class MODEMMANAGERQT_EXPORT Interface : public QObject
0022 {
0023     Q_OBJECT
0024     Q_DECLARE_PRIVATE(Interface)
0025 
0026     Q_PROPERTY(QString uni READ uni)
0027 public:
0028     typedef QSharedPointer<Interface> Ptr;
0029     typedef QList<Ptr> List;
0030 
0031     explicit Interface(const QString &path, QObject *parent = nullptr);
0032     ~Interface() override;
0033 
0034     QString uni() const;
0035 
0036 protected:
0037     MODEMMANAGERQT_NO_EXPORT explicit Interface(InterfacePrivate &dd, QObject *parent = nullptr);
0038 
0039 protected:
0040     InterfacePrivate *const d_ptr;
0041 };
0042 } // namespace ModemManager
0043 
0044 #endif