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 class PendingVariant;
00028 class PendingOperation;
00029 }
00030
00031
00032
00033
00034 #ifndef TELEPATHY_GNUC_DEPRECATED
00035 # if defined(Q_CC_GNUC) && __GNUC__ >= 4
00036 # define TELEPATHY_GNUC_DEPRECATED __attribute__((__deprecated__))
00037 # else
00038 # define TELEPATHY_GNUC_DEPRECATED
00039 # endif
00040 #endif
00041 namespace Tp
00042 {
00043 namespace Client
00044 {
00045
00053 class TELEPATHY_QT4_EXPORT AccountManagerInterface : public Tp::AbstractInterface
00054 {
00055 Q_OBJECT
00056
00057 public:
00064 static inline const char *staticInterfaceName()
00065 {
00066 return "org.freedesktop.Telepathy.AccountManager";
00067 }
00068
00076 AccountManagerInterface(
00077 const QString& busName,
00078 const QString& objectPath,
00079 QObject* parent = 0
00080 );
00081
00090 AccountManagerInterface(
00091 const QDBusConnection& connection,
00092 const QString& busName,
00093 const QString& objectPath,
00094 QObject* parent = 0
00095 );
00096
00103 AccountManagerInterface(Tp::DBusProxy *proxy);
00104
00110 Q_PROPERTY(QStringList Interfaces READ _deprecated_Interfaces)
00111
00112
00121 inline TELEPATHY_QT4_DEPRECATED QStringList Interfaces() const
00122 {
00123 return _deprecated_Interfaces();
00124 }
00125
00126 private:
00127 inline QStringList _deprecated_Interfaces() const
00128 {
00129 return qvariant_cast<QStringList>(internalPropGet("Interfaces"));
00130 }
00131 public:
00132
00142 inline Tp::PendingVariant *requestPropertyInterfaces() const
00143 {
00144 return internalRequestProperty(QLatin1String("Interfaces"));
00145 }
00146
00156 Q_PROPERTY(Tp::ObjectPathList ValidAccounts READ _deprecated_ValidAccounts)
00157
00158
00167 inline TELEPATHY_QT4_DEPRECATED Tp::ObjectPathList ValidAccounts() const
00168 {
00169 return _deprecated_ValidAccounts();
00170 }
00171
00172 private:
00173 inline Tp::ObjectPathList _deprecated_ValidAccounts() const
00174 {
00175 return qvariant_cast<Tp::ObjectPathList>(internalPropGet("ValidAccounts"));
00176 }
00177 public:
00178
00192 inline Tp::PendingVariant *requestPropertyValidAccounts() const
00193 {
00194 return internalRequestProperty(QLatin1String("ValidAccounts"));
00195 }
00196
00203 Q_PROPERTY(Tp::ObjectPathList InvalidAccounts READ _deprecated_InvalidAccounts)
00204
00205
00214 inline TELEPATHY_QT4_DEPRECATED Tp::ObjectPathList InvalidAccounts() const
00215 {
00216 return _deprecated_InvalidAccounts();
00217 }
00218
00219 private:
00220 inline Tp::ObjectPathList _deprecated_InvalidAccounts() const
00221 {
00222 return qvariant_cast<Tp::ObjectPathList>(internalPropGet("InvalidAccounts"));
00223 }
00224 public:
00225
00236 inline Tp::PendingVariant *requestPropertyInvalidAccounts() const
00237 {
00238 return internalRequestProperty(QLatin1String("InvalidAccounts"));
00239 }
00240
00286 Q_PROPERTY(QStringList SupportedAccountProperties READ _deprecated_SupportedAccountProperties)
00287
00288
00297 inline TELEPATHY_QT4_DEPRECATED QStringList SupportedAccountProperties() const
00298 {
00299 return _deprecated_SupportedAccountProperties();
00300 }
00301
00302 private:
00303 inline QStringList _deprecated_SupportedAccountProperties() const
00304 {
00305 return qvariant_cast<QStringList>(internalPropGet("SupportedAccountProperties"));
00306 }
00307 public:
00308
00358 inline Tp::PendingVariant *requestPropertySupportedAccountProperties() const
00359 {
00360 return internalRequestProperty(QLatin1String("SupportedAccountProperties"));
00361 }
00362
00369 Tp::PendingVariantMap *requestAllProperties() const
00370 {
00371 return internalRequestAllProperties();
00372 }
00373
00374 public Q_SLOTS:
00429 inline QDBusPendingReply<QDBusObjectPath> CreateAccount(const QString& connectionManager, const QString& protocol, const QString& displayName, const QVariantMap& parameters, const QVariantMap& properties)
00430 {
00431 if (!invalidationReason().isEmpty()) {
00432 return QDBusPendingReply<QDBusObjectPath>(QDBusMessage::createError(
00433 invalidationReason(),
00434 invalidationMessage()
00435 ));
00436 }
00437
00438 QList<QVariant> argumentList;
00439 argumentList << QVariant::fromValue(connectionManager) << QVariant::fromValue(protocol) << QVariant::fromValue(displayName) << QVariant::fromValue(parameters) << QVariant::fromValue(properties);
00440 return asyncCallWithArgumentList(QLatin1String("CreateAccount"), argumentList);
00441 }
00442
00443 Q_SIGNALS:
00456 void AccountRemoved(const QDBusObjectPath& account);
00457
00474 void AccountValidityChanged(const QDBusObjectPath& account, bool valid);
00475
00476 protected:
00477 virtual void invalidate(Tp::DBusProxy *, const QString &, const QString &);
00478 };
00479 }
00480 }
00481 Q_DECLARE_METATYPE(Tp::Client::AccountManagerInterface*)