Warning, file /frameworks/modemmanager-qt/examples/main.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-FileCopyrightText: 2013 Jan Grulich <jgrulich@redhat.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 #include <ModemManagerQt/Interface> 0008 #include <ModemManagerQt/Manager> 0009 #include <ModemManagerQt/Modem> 0010 #include <ModemManagerQt/ModemDevice> 0011 #include <ModemManagerQt/ModemMessaging> 0012 #include <ModemManagerQt/Sim> 0013 #include <ModemManagerQt/Sms> 0014 0015 #include <QDBusReply> 0016 0017 #include <QDebug> 0018 0019 int main(int argc, char *argv[]) 0020 { 0021 Q_UNUSED(argc); 0022 Q_UNUSED(argv); 0023 qDebug() << "List of Modem Devices:"; 0024 Q_FOREACH (ModemManager::ModemDevice::Ptr modemdevice, ModemManager::modemDevices()) { 0025 ModemManager::Modem::Ptr modemInterface = modemdevice->modemInterface(); 0026 if (modemInterface) { 0027 qDebug() << "Modem: " << modemInterface->manufacturer() << modemInterface->model(); 0028 } else { 0029 qDebug() << "Modem: " << modemdevice->uni(); 0030 } 0031 0032 QStringList interfaces; 0033 if (modemInterface) { 0034 interfaces << QStringLiteral("modem"); 0035 } 0036 if (modemdevice->hasInterface(ModemManager::ModemDevice::GsmInterface)) { 0037 interfaces << QStringLiteral("gsm"); 0038 } 0039 if (modemdevice->hasInterface(ModemManager::ModemDevice::GsmUssdInterface)) { 0040 interfaces << QStringLiteral("gsm ussd"); 0041 } 0042 if (modemdevice->hasInterface(ModemManager::ModemDevice::CdmaInterface)) { 0043 interfaces << QStringLiteral("cdma"); 0044 } 0045 if (modemdevice->hasInterface(ModemManager::ModemDevice::MessagingInterface)) { 0046 interfaces << QStringLiteral("messaging"); 0047 } 0048 if (modemdevice->hasInterface(ModemManager::ModemDevice::LocationInterface)) { 0049 interfaces << QStringLiteral("location"); 0050 } 0051 if (modemdevice->hasInterface(ModemManager::ModemDevice::TimeInterface)) { 0052 interfaces << QStringLiteral("time"); 0053 } 0054 if (modemdevice->hasInterface(ModemManager::ModemDevice::VoiceInterface)) { 0055 interfaces << QStringLiteral("voice"); 0056 } 0057 0058 qDebug() << "Interfaces: " << interfaces; 0059 qDebug() << "SIM Card: "; 0060 if (!modemdevice->sim()) { 0061 qDebug() << " no SIM card"; 0062 } else { 0063 qDebug() << " " << modemdevice->sim()->uni() << "Operator: " << modemdevice->sim()->operatorName(); 0064 } 0065 0066 qDebug() << "Messages: "; 0067 ModemManager::ModemMessaging::Ptr messaging = modemdevice->messagingInterface(); 0068 if (messaging && !messaging->messages().isEmpty()) { 0069 ModemManager::Sms::List messages = messaging->messages(); 0070 Q_FOREACH (ModemManager::Sms::Ptr sms, messages) { 0071 qDebug() << " " << sms->number() << sms->text(); 0072 } 0073 } else { 0074 qDebug() << " no messaging interface or message"; 0075 } 0076 0077 if (messaging) { 0078 ModemManager::ModemMessaging::Message msg; 0079 msg.number = QStringLiteral("number"); 0080 msg.text = QStringLiteral("message text"); 0081 QDBusReply<QString> sms = messaging->createMessage(msg); 0082 if (sms.isValid() && !sms.value().isEmpty()) { 0083 qDebug() << "Message created"; 0084 ModemManager::Sms::Ptr tmp = messaging->findMessage(sms.value()); 0085 if (tmp) { 0086 qDebug() << "Message text:"; 0087 qDebug() << tmp->text(); 0088 QDBusPendingReply<> reply = tmp->send(); 0089 reply.waitForFinished(); 0090 if (reply.isError()) { 0091 qDebug() << reply.error().message(); 0092 } 0093 } 0094 } 0095 } 0096 } 0097 }