Home · All Classes · All Namespaces · Modules · Functions · Files |
00001 00023 #ifndef _TelepathyQt_requestable_channel_class_spec_h_HEADER_GUARD_ 00024 #define _TelepathyQt_requestable_channel_class_spec_h_HEADER_GUARD_ 00025 00026 #ifndef IN_TP_QT_HEADER 00027 #error IN_TP_QT_HEADER 00028 #endif 00029 00030 #include <TelepathyQt/Constants> 00031 #include <TelepathyQt/Types> 00032 00033 namespace Tp 00034 { 00035 00036 class TP_QT_EXPORT RequestableChannelClassSpec 00037 { 00038 public: 00039 RequestableChannelClassSpec(); 00040 RequestableChannelClassSpec(const RequestableChannelClass &rcc); 00041 RequestableChannelClassSpec(const RequestableChannelClassSpec &other); 00042 ~RequestableChannelClassSpec(); 00043 00044 static RequestableChannelClassSpec textChat(); 00045 static RequestableChannelClassSpec textChatroom(); 00046 00047 static RequestableChannelClassSpec audioCall(); 00048 static RequestableChannelClassSpec audioCallWithVideoAllowed(); 00049 static RequestableChannelClassSpec videoCall(); 00050 static RequestableChannelClassSpec videoCallWithAudioAllowed(); 00051 00052 TP_QT_DEPRECATED static RequestableChannelClassSpec streamedMediaCall(); 00053 TP_QT_DEPRECATED static RequestableChannelClassSpec streamedMediaAudioCall(); 00054 TP_QT_DEPRECATED static RequestableChannelClassSpec streamedMediaVideoCall(); 00055 TP_QT_DEPRECATED static RequestableChannelClassSpec streamedMediaVideoCallWithAudio(); 00056 00057 static RequestableChannelClassSpec fileTransfer(); 00058 00059 static RequestableChannelClassSpec conferenceTextChat(); 00060 static RequestableChannelClassSpec conferenceTextChatWithInvitees(); 00061 static RequestableChannelClassSpec conferenceTextChatroom(); 00062 static RequestableChannelClassSpec conferenceTextChatroomWithInvitees(); 00063 TP_QT_DEPRECATED static RequestableChannelClassSpec conferenceStreamedMediaCall(); 00064 TP_QT_DEPRECATED static RequestableChannelClassSpec conferenceStreamedMediaCallWithInvitees(); 00065 00066 static RequestableChannelClassSpec contactSearch(); 00067 static RequestableChannelClassSpec contactSearchWithSpecificServer(); 00068 static RequestableChannelClassSpec contactSearchWithLimit(); 00069 static RequestableChannelClassSpec contactSearchWithSpecificServerAndLimit(); 00070 00071 static RequestableChannelClassSpec dbusTube(const QString &serviceName = QString()); 00072 static RequestableChannelClassSpec streamTube(const QString &service = QString()); 00073 00074 bool isValid() const { return mPriv.constData() != 0; } 00075 00076 RequestableChannelClassSpec &operator=(const RequestableChannelClassSpec &other); 00077 bool operator==(const RequestableChannelClassSpec &other) const; 00078 00079 bool supports(const RequestableChannelClassSpec &spec) const; 00080 00081 QString channelType() const; 00082 00083 bool hasTargetHandleType() const; 00084 HandleType targetHandleType() const; 00085 00086 bool hasFixedProperty(const QString &name) const; 00087 QVariant fixedProperty(const QString &name) const; 00088 QVariantMap fixedProperties() const; 00089 00090 bool allowsProperty(const QString &name) const; 00091 QStringList allowedProperties() const; 00092 00093 RequestableChannelClass bareClass() const; 00094 00095 private: 00096 struct Private; 00097 friend struct Private; 00098 QSharedDataPointer<Private> mPriv; 00099 }; 00100 00101 class TP_QT_EXPORT RequestableChannelClassSpecList : 00102 public QList<RequestableChannelClassSpec> 00103 { 00104 public: 00105 RequestableChannelClassSpecList() { } 00106 RequestableChannelClassSpecList(const RequestableChannelClass &rcc) 00107 { 00108 append(RequestableChannelClassSpec(rcc)); 00109 } 00110 RequestableChannelClassSpecList(const RequestableChannelClassList &rccs) 00111 { 00112 Q_FOREACH (const RequestableChannelClass &rcc, rccs) { 00113 append(RequestableChannelClassSpec(rcc)); 00114 } 00115 } 00116 RequestableChannelClassSpecList(const RequestableChannelClassSpec &rccSpec) 00117 { 00118 append(rccSpec); 00119 } 00120 RequestableChannelClassSpecList(const QList<RequestableChannelClassSpec> &other) 00121 : QList<RequestableChannelClassSpec>(other) 00122 { 00123 } 00124 00125 RequestableChannelClassList bareClasses() const 00126 { 00127 RequestableChannelClassList list; 00128 Q_FOREACH (const RequestableChannelClassSpec &rccSpec, *this) { 00129 list.append(rccSpec.bareClass()); 00130 } 00131 return list; 00132 } 00133 }; 00134 00135 } // Tp 00136 00137 Q_DECLARE_METATYPE(Tp::RequestableChannelClassSpec); 00138 Q_DECLARE_METATYPE(Tp::RequestableChannelClassSpecList); 00139 00140 #endif
Copyright © 2008-2011 Collabora Ltd. and Nokia Corporation | Telepathy-Qt 0.9.3 |