File indexing completed on 2024-05-05 05:36:40
0001 // SPDX-FileCopyrightText: 2021-2022 Devin Lin <devin@kde.org> 0002 // SPDX-License-Identifier: GPL-2.0-or-later 0003 0004 #pragma once 0005 0006 #include "cellularnetworksettings.h" 0007 #include "modemdetails.h" 0008 #include "sim.h" 0009 0010 #include <QList> 0011 #include <QString> 0012 0013 #include <NetworkManagerQt/CdmaSetting> 0014 #include <NetworkManagerQt/ConnectionSettings> 0015 #include <NetworkManagerQt/GsmSetting> 0016 #include <NetworkManagerQt/Manager> 0017 #include <NetworkManagerQt/ModemDevice> 0018 #include <NetworkManagerQt/Settings> 0019 0020 #include <ModemManagerQt/GenericTypes> 0021 #include <ModemManagerQt/Manager> 0022 #include <ModemManagerQt/Modem3Gpp> 0023 #include <ModemManagerQt/ModemDevice> 0024 0025 class ProfileSettings : public QObject 0026 { 0027 Q_OBJECT 0028 Q_PROPERTY(QString name READ name NOTIFY nameChanged) 0029 Q_PROPERTY(QString apn READ apn WRITE setApn NOTIFY apnChanged) 0030 Q_PROPERTY(QString user READ user WRITE setUser NOTIFY userChanged) 0031 Q_PROPERTY(QString password READ password WRITE setPassword NOTIFY passwordChanged) 0032 Q_PROPERTY(QString networkType READ networkType WRITE setNetworkType NOTIFY networkTypeChanged) 0033 Q_PROPERTY(QString connectionUni READ connectionUni NOTIFY connectionUniChanged) 0034 0035 public: 0036 ProfileSettings(QObject *parent = nullptr) 0037 : QObject{parent} 0038 { 0039 } 0040 ProfileSettings(QObject *parent, 0041 QString name, 0042 QString apn, 0043 QString user, 0044 QString password, 0045 NetworkManager::GsmSetting::NetworkType networkType, 0046 QString connectionUni); 0047 ProfileSettings(QObject *parent, NetworkManager::Setting::Ptr settings, NetworkManager::Connection::Ptr connection); 0048 0049 QString name(); 0050 QString apn(); 0051 void setApn(QString apn); 0052 QString user(); 0053 void setUser(QString user); 0054 QString password(); 0055 void setPassword(QString password); 0056 QString networkType(); 0057 void setNetworkType(QString ipType); 0058 QString connectionUni(); 0059 0060 // utilities 0061 static QString networkTypeStr(NetworkManager::GsmSetting::NetworkType networkType); 0062 static NetworkManager::GsmSetting::NetworkType networkTypeFlag(const QString &networkType); 0063 0064 Q_SIGNALS: 0065 void nameChanged(); 0066 void apnChanged(); 0067 void userChanged(); 0068 void passwordChanged(); 0069 void networkTypeChanged(); 0070 void connectionUniChanged(); 0071 0072 private: 0073 QString m_name; 0074 QString m_apn; 0075 QString m_user; 0076 QString m_password; 0077 QString m_networkType; 0078 QString m_connectionUni; 0079 };