LeechCraft Azoth  0.6.70-15082-g543737046d
Modular multiprotocol IM plugin for LeechCraft
imediacall.h
Go to the documentation of this file.
1 /**********************************************************************
2  * LeechCraft - modular cross-platform feature rich internet client.
3  * Copyright (C) 2006-2014 Georg Rudoy
4  *
5  * Distributed under the Boost Software License, Version 1.0.
6  * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7  **********************************************************************/
8 
9 #ifndef PLUGINS_AZOTH_INTERFACES_IMEDIACALL_H
10 #define PLUGINS_AZOTH_INTERFACES_IMEDIACALL_H
11 #include <QtPlugin>
12 #include <QIODevice>
13 
14 class QIODevice;
15 class QAudioFormat;
16 
17 namespace LC
18 {
19 namespace Azoth
20 {
21  class IMediaCall
22  {
23  public:
24  virtual ~IMediaCall () {}
25 
26  enum Direction
27  {
28  DIn,
30  };
31 
32  enum State
33  {
38  };
39 
40  virtual Direction GetDirection () const = 0;
41 
42  virtual QString GetSourceID () const = 0;
43 
44  virtual void Accept () = 0;
45 
46  virtual void Hangup () = 0;
47 
48  virtual QIODevice* GetAudioDevice () = 0;
49 
50  virtual QAudioFormat GetAudioReadFormat () const = 0;
51 
52  virtual QAudioFormat GetAudioWriteFormat () const = 0;
53 
54  virtual QIODevice* GetVideoDevice () = 0;
55  protected:
56  virtual void stateChanged (State) = 0;
57 
58  virtual void audioModeChanged (QIODevice::OpenMode) = 0;
59 
60  virtual void readFormatChanged () = 0;
61 
62  virtual void writeFormatChanged () = 0;
63  };
64 }
65 }
66 
67 Q_DECLARE_INTERFACE (LC::Azoth::IMediaCall,
68  "org.Deviant.LeechCraft.Azoth.IMediaCall/1.0")
69 
70 #endif
LC::Azoth::IMediaCall::GetAudioDevice
virtual QIODevice * GetAudioDevice()=0
LC::Azoth::IMediaCall::SActive
@ SActive
Definition: imediacall.h:35
LC::Azoth::IMediaCall::stateChanged
virtual void stateChanged(State)=0
LC::Azoth::IMediaCall::SFinished
@ SFinished
Definition: imediacall.h:37
LC::Azoth::IMediaCall::GetSourceID
virtual QString GetSourceID() const =0
LC::Azoth::IMediaCall::GetDirection
virtual Direction GetDirection() const =0
LC::Azoth::IMediaCall::SConnecting
@ SConnecting
Definition: imediacall.h:34
LC::Azoth::IMediaCall::Hangup
virtual void Hangup()=0
LC::Azoth::IMediaCall::DIn
@ DIn
Definition: imediacall.h:28
LC::Azoth::IMediaCall::State
State
Definition: imediacall.h:32
LC::Azoth::IMediaCall::GetVideoDevice
virtual QIODevice * GetVideoDevice()=0
LC::Azoth::IMediaCall::SDisconnecting
@ SDisconnecting
Definition: imediacall.h:36
LC::Azoth::IMediaCall::readFormatChanged
virtual void readFormatChanged()=0
LC::Azoth::IMediaCall::GetAudioReadFormat
virtual QAudioFormat GetAudioReadFormat() const =0
LC::Azoth::IMediaCall::writeFormatChanged
virtual void writeFormatChanged()=0
LC::Azoth::IMediaCall
Definition: imediacall.h:21
LC
Definition: activityinfo.h:13
LC::Azoth::State
State
Describes possible presence states of an account or a contact.
Definition: azothcommon.h:34
LC::Azoth::IMediaCall::DOut
@ DOut
Definition: imediacall.h:29
LC::Azoth::IMediaCall::GetAudioWriteFormat
virtual QAudioFormat GetAudioWriteFormat() const =0
LC::Azoth::IMediaCall::~IMediaCall
virtual ~IMediaCall()
Definition: imediacall.h:24
LC::Azoth::IMediaCall::Direction
Direction
Definition: imediacall.h:26
LC::Azoth::IMediaCall::audioModeChanged
virtual void audioModeChanged(QIODevice::OpenMode)=0
LC::Azoth::IMediaCall::Accept
virtual void Accept()=0