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