23 #ifndef _TelepathyQt_channel_request_h_HEADER_GUARD_
24 #define _TelepathyQt_channel_request_h_HEADER_GUARD_
26 #ifndef IN_TP_QT_HEADER
27 #error IN_TP_QT_HEADER
30 #include <TelepathyQt/_gen/cli-channel-request.h>
32 #include <TelepathyQt/Constants>
33 #include <TelepathyQt/DBus>
34 #include <TelepathyQt/DBusProxy>
35 #include <TelepathyQt/Feature>
36 #include <TelepathyQt/OptionalInterfaceFactory>
37 #include <TelepathyQt/ReadinessHelper>
38 #include <TelepathyQt/Types>
39 #include <TelepathyQt/SharedPtr>
41 #include <QSharedDataPointer>
43 #include <QStringList>
44 #include <QVariantMap>
49 class ChannelRequestHints;
50 class PendingOperation;
61 static ChannelRequestPtr create(
const QDBusConnection &bus,
62 const QString &objectPath,
const QVariantMap &immutableProperties,
63 const AccountFactoryConstPtr &accountFactory,
64 const ConnectionFactoryConstPtr &connectionFactory,
65 const ChannelFactoryConstPtr &channelFactory,
66 const ContactFactoryConstPtr &contactFactory);
68 static ChannelRequestPtr create(
const AccountPtr &account,
69 const QString &objectPath,
const QVariantMap &immutableProperties);
73 AccountPtr account()
const;
74 QDateTime userActionTime()
const;
75 QString preferredHandler()
const;
79 QVariantMap immutableProperties()
const;
83 ChannelPtr channel()
const;
86 void failed(
const QString &errorName,
const QString &errorMessage);
87 void succeeded(
const Tp::ChannelPtr &channel);
91 const QString &objectPath,
const QVariantMap &immutableProperties,
92 const AccountFactoryConstPtr &accountFactory,
93 const ConnectionFactoryConstPtr &connectionFactory,
94 const ChannelFactoryConstPtr &channelFactory,
95 const ContactFactoryConstPtr &contactFactory);
98 const QString &objectPath,
const QVariantMap &immutableProperties);
103 TP_QT_NO_EXPORT
void gotMainProperties(QDBusPendingCallWatcher *watcher);
106 TP_QT_NO_EXPORT
void onLegacySucceeded();
107 TP_QT_NO_EXPORT
void onSucceededWithChannel(
const QDBusObjectPath &connPath,
const QVariantMap &connProps,
108 const QDBusObjectPath &chanPath,
const QVariantMap &chanProps);
117 friend struct Private;
131 bool isValid()
const;
133 bool hasHint(
const QString &reversedDomain,
const QString &localName)
const;
134 QVariant hint(
const QString &reversedDomain,
const QString &localName)
const;
135 void setHint(
const QString &reversedDomain,
const QString &localName,
const QVariant &value);
137 QVariantMap allHints()
const;
141 friend struct Private;
142 QSharedDataPointer<Private> mPriv;