File indexing completed on 2024-04-28 16:42:53

0001 // SPDX-FileCopyrightText: 2015 Marco Martin <mart@kde.org>
0002 // SPDX-FileCopyrightText: 2021 Alexey Andreyev <aa13q@ya.ru>
0003 //
0004 // SPDX-License-Identifier: LGPL-2.1-or-later
0005 
0006 #pragma once
0007 
0008 #include <QObject>
0009 
0010 #include "call-object.h"
0011 #include <kTelephonyMetaTypes/dialer-types.h>
0012 
0013 class CallUtils : public QObject
0014 {
0015     Q_OBJECT
0016     Q_CLASSINFO("D-Bus Interface", "org.kde.telephony.CallUtils")
0017 
0018 public:
0019     CallUtils(QObject *parent = nullptr);
0020     ~CallUtils() override;
0021 
0022 public Q_SLOTS:
0023     QString formatNumber(const QString &number);
0024     void dial(const QString &deviceUni, const QString &number);
0025     void accept(const QString &deviceUni, const QString &callUni);
0026     void hangUp(const QString &deviceUni, const QString &callUni);
0027     void sendDtmf(const QString &deviceUni, const QString &callUni, const QString &tones);
0028     void fetchCalls();
0029     void setCalls(const DialerTypes::CallDataVector &calls);
0030     void addCall(const QString &deviceUni,
0031                  const QString &callUni,
0032                  const DialerTypes::CallDirection &callDirection,
0033                  const DialerTypes::CallState &callState,
0034                  const DialerTypes::CallStateReason &callStateReason,
0035                  const QString communicationWith);
0036     void deleteCall(const QString &deviceUni, const QString &callUni);
0037     void setCallState(const DialerTypes::CallData &callData);
0038 
0039 Q_SIGNALS:
0040     void dialed(const QString &deviceUni, const QString &number);
0041     void accepted(const QString &deviceUni, const QString &callUni);
0042     void hungUp(const QString &deviceUni, const QString &callUni);
0043     void sentDtmf(const QString &deviceUni, const QString &callUni, const QString &tones);
0044     void callsRequested();
0045     void callsChanged(const DialerTypes::CallDataVector &calls);
0046     void callAdded(const QString &deviceUni,
0047                    const QString &callUni,
0048                    const DialerTypes::CallDirection &callDirection,
0049                    const DialerTypes::CallState &callState,
0050                    const DialerTypes::CallStateReason &callStateReason,
0051                    const QString communicationWith);
0052     void callDeleted(const QString &deviceUni, const QString &callUni);
0053     void callStateChanged(const DialerTypes::CallData &callData);
0054 };