| Home · All Classes · All Namespaces · Modules · Functions · Files

capabilities-base.h
1
23 #ifndef _TelepathyQt_capabilities_base_h_HEADER_GUARD_
24 #define _TelepathyQt_capabilities_base_h_HEADER_GUARD_
25
26 #ifndef IN_TP_QT_HEADER
27 #error IN_TP_QT_HEADER
28 #endif
29
30 #include <TelepathyQt/RequestableChannelClassSpec>
31 #include <TelepathyQt/Types>
32
33 namespace Tp
34 {
35
36 class TP_QT_EXPORT CapabilitiesBase
37 {
38 public:
39 CapabilitiesBase();
40 CapabilitiesBase(const CapabilitiesBase &other);
41 virtual ~CapabilitiesBase();
42
43 CapabilitiesBase &operator=(const CapabilitiesBase &other);
44
45 RequestableChannelClassSpecList allClassSpecs() const;
46
47 bool isSpecificToContact() const;
48
49 bool textChats() const;
50
51 bool audioCalls() const;
52 bool videoCalls() const;
53 bool videoCallsWithAudio() const;
54 bool upgradingCalls() const;
55
56 TP_QT_DEPRECATED bool streamedMediaCalls() const;
57 TP_QT_DEPRECATED bool streamedMediaAudioCalls() const;
58 TP_QT_DEPRECATED bool streamedMediaVideoCalls() const;
59 TP_QT_DEPRECATED bool streamedMediaVideoCallsWithAudio() const;
60 TP_QT_DEPRECATED bool upgradingStreamedMediaCalls() const;
61
62 bool fileTransfers() const;
63
64 // later: FIXME TODO why not now?
65 // QList<FileHashType> fileTransfersRequireHash() const;
66
67 protected:
68 CapabilitiesBase(bool specificToContact);
69 CapabilitiesBase(const RequestableChannelClassList &rccs,
70 bool specificToContact);
71 CapabilitiesBase(const RequestableChannelClassSpecList &rccSpecs,
72 bool specificToContact);
73
74 virtual void updateRequestableChannelClasses(
75 const RequestableChannelClassList &rccs);
76
77 private:
78 friend class Connection;
79 friend class Contact;
80
81 struct Private;
82 friend struct Private;
83 QSharedDataPointer<Private> mPriv;
84 };
85
86 } // Tp
87
88 Q_DECLARE_METATYPE(Tp::CapabilitiesBase);
89
90 #endif
Tp
Definition: abstract-adaptor.cpp:31
Tp::Connection
The Connection class represents a Telepathy connection.
Definition: connection.h:62
Tp::Contact
The Contact class represents a Telepathy contact.
Definition: contact.h:51
Tp::RequestableChannelClassSpecList
The RequestableChannelClassSpecList class represents a list of RequestableChannelClassSpec.
Definition: requestable-channel-class-spec.h:101
QList
Tp::CapabilitiesBase
The CapabilitiesBase class represents the capabilities a Connection or a Contact supports.
Definition: capabilities-base.h:36
QSharedDataPointer< Private >