Home · All Classes · All Namespaces · Modules · Functions · Files
capabilities-base.h
00001 
00023 #ifndef _TelepathyQt_capabilities_base_h_HEADER_GUARD_
00024 #define _TelepathyQt_capabilities_base_h_HEADER_GUARD_
00025 
00026 #ifndef IN_TP_QT_HEADER
00027 #error IN_TP_QT_HEADER
00028 #endif
00029 
00030 #include <TelepathyQt/RequestableChannelClassSpec>
00031 #include <TelepathyQt/Types>
00032 
00033 namespace Tp
00034 {
00035 
00036 class TP_QT_EXPORT CapabilitiesBase
00037 {
00038 public:
00039     CapabilitiesBase();
00040     CapabilitiesBase(const CapabilitiesBase &other);
00041     virtual ~CapabilitiesBase();
00042 
00043     CapabilitiesBase &operator=(const CapabilitiesBase &other);
00044 
00045     RequestableChannelClassSpecList allClassSpecs() const;
00046 
00047     bool isSpecificToContact() const;
00048 
00049     bool textChats() const;
00050 
00051     bool audioCalls() const;
00052     bool videoCalls() const;
00053     bool videoCallsWithAudio() const;
00054     bool upgradingCalls() const;
00055 
00056     TP_QT_DEPRECATED bool streamedMediaCalls() const;
00057     TP_QT_DEPRECATED bool streamedMediaAudioCalls() const;
00058     TP_QT_DEPRECATED bool streamedMediaVideoCalls() const;
00059     TP_QT_DEPRECATED bool streamedMediaVideoCallsWithAudio() const;
00060     TP_QT_DEPRECATED bool upgradingStreamedMediaCalls() const;
00061 
00062     bool fileTransfers() const;
00063 
00064     // later: FIXME TODO why not now?
00065     // QList<FileHashType> fileTransfersRequireHash() const;
00066 
00067 protected:
00068     CapabilitiesBase(bool specificToContact);
00069     CapabilitiesBase(const RequestableChannelClassList &rccs,
00070             bool specificToContact);
00071     CapabilitiesBase(const RequestableChannelClassSpecList &rccSpecs,
00072             bool specificToContact);
00073 
00074     virtual void updateRequestableChannelClasses(
00075             const RequestableChannelClassList &rccs);
00076 
00077 private:
00078     friend class Connection;
00079     friend class Contact;
00080 
00081     struct Private;
00082     friend struct Private;
00083     QSharedDataPointer<Private> mPriv;
00084 };
00085 
00086 } // Tp
00087 
00088 Q_DECLARE_METATYPE(Tp::CapabilitiesBase);
00089 
00090 #endif


Copyright © 2008-2011 Collabora Ltd. and Nokia Corporation
Telepathy-Qt 0.9.3