00001
00002
00003
00004
00005
00006
00007
00008 #ifndef IN_TELEPATHY_QT4_HEADER
00009 #error IN_TELEPATHY_QT4_HEADER
00010 #endif
00011
00012 #include <TelepathyQt4/Types>
00013
00014 #include <QtGlobal>
00015
00016 #include <QString>
00017 #include <QObject>
00018 #include <QVariant>
00019
00020 #include <QDBusPendingReply>
00021
00022 #include <TelepathyQt4/AbstractInterface>
00023 #include <TelepathyQt4/DBusProxy>
00024 #include <TelepathyQt4/Global>
00025
00026 namespace Tp
00027 {
00028 class PendingVariant;
00029 class PendingOperation;
00030 }
00031
00032 namespace Tp
00033 {
00034 namespace Client
00035 {
00036
00044 class TELEPATHY_QT4_EXPORT AuthenticationTLSCertificateInterface : public Tp::AbstractInterface
00045 {
00046 Q_OBJECT
00047
00048 public:
00055 static inline QLatin1String staticInterfaceName()
00056 {
00057 return QLatin1String("org.freedesktop.Telepathy.Authentication.TLSCertificate");
00058 }
00059
00067 AuthenticationTLSCertificateInterface(
00068 const QString& busName,
00069 const QString& objectPath,
00070 QObject* parent = 0
00071 );
00072
00081 AuthenticationTLSCertificateInterface(
00082 const QDBusConnection& connection,
00083 const QString& busName,
00084 const QString& objectPath,
00085 QObject* parent = 0
00086 );
00087
00094 AuthenticationTLSCertificateInterface(Tp::DBusProxy *proxy);
00095
00103 explicit AuthenticationTLSCertificateInterface(const Tp::AbstractInterface& mainInterface);
00104
00112 AuthenticationTLSCertificateInterface(const Tp::AbstractInterface& mainInterface, QObject* parent);
00113
00124 inline Tp::PendingVariant *requestPropertyState() const
00125 {
00126 return internalRequestProperty(QLatin1String("State"));
00127 }
00128
00149 inline Tp::PendingVariant *requestPropertyRejections() const
00150 {
00151 return internalRequestProperty(QLatin1String("Rejections"));
00152 }
00153
00164 inline Tp::PendingVariant *requestPropertyCertificateType() const
00165 {
00166 return internalRequestProperty(QLatin1String("CertificateType"));
00167 }
00168
00184 inline Tp::PendingVariant *requestPropertyCertificateChainData() const
00185 {
00186 return internalRequestProperty(QLatin1String("CertificateChainData"));
00187 }
00188
00195 Tp::PendingVariantMap *requestAllProperties() const
00196 {
00197 return internalRequestAllProperties();
00198 }
00199
00200 public Q_SLOTS:
00211 inline QDBusPendingReply<> Accept(int timeout = -1)
00212 {
00213 if (!invalidationReason().isEmpty()) {
00214 return QDBusPendingReply<>(QDBusMessage::createError(
00215 invalidationReason(),
00216 invalidationMessage()
00217 ));
00218 }
00219
00220 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
00221 this->staticInterfaceName(), QLatin1String("Accept"));
00222 return this->connection().asyncCall(callMessage, timeout);
00223 }
00224
00242 inline QDBusPendingReply<> Reject(const Tp::TLSCertificateRejectionList& rejections, int timeout = -1)
00243 {
00244 if (!invalidationReason().isEmpty()) {
00245 return QDBusPendingReply<>(QDBusMessage::createError(
00246 invalidationReason(),
00247 invalidationMessage()
00248 ));
00249 }
00250
00251 QDBusMessage callMessage = QDBusMessage::createMethodCall(this->service(), this->path(),
00252 this->staticInterfaceName(), QLatin1String("Reject"));
00253 callMessage << QVariant::fromValue(rejections);
00254 return this->connection().asyncCall(callMessage, timeout);
00255 }
00256
00257 Q_SIGNALS:
00263 void Accepted();
00264
00274 void Rejected(const Tp::TLSCertificateRejectionList& rejections);
00275
00276 protected:
00277 virtual void invalidate(Tp::DBusProxy *, const QString &, const QString &);
00278 };
00279 }
00280 }
00281 Q_DECLARE_METATYPE(Tp::Client::AuthenticationTLSCertificateInterface*)