LeechCraft Azoth  0.6.70-14771-g9d21b0f8ad
Modular multiprotocol IM plugin for LeechCraft
isupportmediacalls.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 #pragma once
10 
11 #include <QtPlugin>
12 
13 namespace LC
14 {
15 namespace Azoth
16 {
27  {
28  public:
29  virtual ~ISupportMediaCalls () {}
30 
34  {
38 
42 
46  };
47 
48  Q_DECLARE_FLAGS (MediaCallFeatures, MediaCallFeature)
49 
50 
54  virtual MediaCallFeatures GetMediaCallFeatures () const = 0;
55 
77  virtual QObject* Call (const QString& id, const QString& variant) = 0;
78  protected:
90  virtual void called (QObject *callObj) = 0;
91  };
92 }
93 }
94 
95 Q_DECLARE_INTERFACE (LC::Azoth::ISupportMediaCalls,
96  "org.Deviant.LeechCraft.Azoth.ISupportMediaCalls/1.0")
Interface for accounts supporting audio/video calls.
virtual QObject * Call(const QString &id, const QString &variant)=0
Tries to call a contact list entry.
virtual void called(QObject *callObj)=0
Emitted when a new call is established.
MediaCallFeature
Describes supported media call features.
@ MCFSupportsAudioCalls
The account supports audio calls.
@ MCFNoFeatures
No particular features.
@ MCFSupportsVideoCalls
The accounts supports video calls.
virtual MediaCallFeatures GetMediaCallFeatures() const =0
Returns the media features supported by this account.