File indexing completed on 2024-04-28 16:42:53
0001 // SPDX-FileCopyrightText: 2021 Alexey Andreyev <aa13q@ya.ru> 0002 // 0003 // SPDX-License-Identifier: LicenseRef-KDE-Accepted-GPL 0004 0005 #pragma once 0006 0007 #include <QObject> 0008 #include <QTimer> 0009 #include <kTelephonyMetaTypes/dialer-types.h> 0010 0011 class CallObject : public QObject 0012 { 0013 Q_OBJECT 0014 public: 0015 explicit CallObject(QObject *parent = nullptr); 0016 0017 QString id(); 0018 0019 QString protocol(); 0020 QString provider(); 0021 QString account(); 0022 0023 QString communicationWith(); 0024 DialerTypes::CallDirection direction(); 0025 DialerTypes::CallState state(); 0026 DialerTypes::CallStateReason stateReason(); 0027 0028 int callAttemptDuration(); 0029 QDateTime startedAt(); 0030 int duration(); 0031 0032 DialerTypes::CallData callData(); 0033 0034 public Q_SLOTS: 0035 void onCallStateChanged(const QString &deviceUni, 0036 const QString &callUni, 0037 const DialerTypes::CallDirection &callDirection, 0038 const DialerTypes::CallState &callState, 0039 const DialerTypes::CallStateReason &callStateReason); 0040 void setId(const QString &id); 0041 void setProtocol(const QString &protocol); 0042 void setProvider(const QString &provider); 0043 void setAccount(const QString &account); 0044 0045 void setCommunicationWith(const QString &communicationWith); 0046 void setDirection(const DialerTypes::CallDirection &direction); 0047 void setState(const DialerTypes::CallState &state); 0048 void setStateReason(const DialerTypes::CallStateReason &stateReason); 0049 0050 void setCallAttemptDuration(const int &callAttemptDuration); 0051 void setStartedAt(const QDateTime &startedAt); 0052 void setDuration(const int &duration); 0053 0054 private: 0055 DialerTypes::CallData _callData; 0056 QTimer _callAttemptTimer; 0057 QTimer _callTimer; 0058 };