Home · All Classes · All Namespaces · Modules · Functions · Files
capabilities-base.h
00001 
00023 #ifndef _TelepathyQt4_capabilities_base_h_HEADER_GUARD_
00024 #define _TelepathyQt4_capabilities_base_h_HEADER_GUARD_
00025 
00026 #ifndef IN_TELEPATHY_QT4_HEADER
00027 #error IN_TELEPATHY_QT4_HEADER
00028 #endif
00029 
00030 #include <TelepathyQt4/RequestableChannelClassSpec>
00031 #include <TelepathyQt4/Types>
00032 
00033 namespace Tp
00034 {
00035 
00036 class TELEPATHY_QT4_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 streamedMediaCalls() const;
00052     bool streamedMediaAudioCalls() const;
00053     bool streamedMediaVideoCalls() const;
00054     bool streamedMediaVideoCallsWithAudio() const;
00055     bool upgradingStreamedMediaCalls() const;
00056 
00057     bool fileTransfers() const;
00058 
00059     // later: FIXME TODO why not now?
00060     // QList<FileHashType> fileTransfersRequireHash() const;
00061 
00062 protected:
00063     CapabilitiesBase(bool specificToContact);
00064     CapabilitiesBase(const RequestableChannelClassList &rccs,
00065             bool specificToContact);
00066     CapabilitiesBase(const RequestableChannelClassSpecList &rccSpecs,
00067             bool specificToContact);
00068 
00069     virtual void updateRequestableChannelClasses(
00070             const RequestableChannelClassList &rccs);
00071 
00072 private:
00073     friend class Connection;
00074     friend class Contact;
00075 
00076     struct Private;
00077     friend struct Private;
00078     QSharedDataPointer<Private> mPriv;
00079 };
00080 
00081 } // Tp
00082 
00083 Q_DECLARE_METATYPE(Tp::CapabilitiesBase);
00084 
00085 #endif


Copyright © 2008-2011 Collabora Ltd. and Nokia Corporation
Telepathy-Qt4 0.6.5