diff options
| author | Anton <anton@picapica.im> | 2025-08-19 17:20:35 +0400 |
|---|---|---|
| committer | Anton <anton@picapica.im> | 2025-08-19 17:20:35 +0400 |
| commit | dc8dc3d49d4b98e28cee3e68cf408bc8af9633b9 (patch) | |
| tree | b051634fd022a79c4368cc7dcb65f737588dc645 /pica-client/audiovideocallcontroller.h | |
| parent | c725f856286dc7918c20a6fb9de34d3d72cb2768 (diff) | |
| download | pica-pica-dc8dc3d49d4b98e28cee3e68cf408bc8af9633b9.tar.gz pica-pica-dc8dc3d49d4b98e28cee3e68cf408bc8af9633b9.zip | |
pica-client: add call initiation & termination in skynet and audiovideocallscontroller and callwindow
Diffstat (limited to 'pica-client/audiovideocallcontroller.h')
| -rw-r--r-- | pica-client/audiovideocallcontroller.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/pica-client/audiovideocallcontroller.h b/pica-client/audiovideocallcontroller.h index 9bc9c38..82e1dc8 100644 --- a/pica-client/audiovideocallcontroller.h +++ b/pica-client/audiovideocallcontroller.h @@ -19,17 +19,39 @@ #include <QObject> #include "callwindow.h" +#include "audiodevice.h" +#include "videodevice.h" class AudioVideoCallController : public QObject { Q_OBJECT public: explicit AudioVideoCallController(QObject *parent = nullptr); + // is call active (i.e. are voice/video packets exchanged now) + bool const isActive() {return is_active;} + void processCall(); public slots: void start_call(QByteArray peer_id); + void call_from(QByteArray peer_id); + void call_failed(QString reason); + void call_accepted(QByteArray peer_id); + void call_rejected(QByteArray peer_id); + void call_hungup(QByteArray peer_id); signals: private: CallWindow *callwindow; + AudioDevice *ringdevice; + AudioDevice *microphone; + AudioDevice *output; + VideoDevice *cam; + bool is_active; + QByteArray m_peer_id; +private slots: + // button handlers + void initiate_call(); + void accept_call(); + void end_call(); + }; #endif // AUDIOVIDEOCALLCONTROLLER_H |
