/** * This file is part of TelepathyQt * * @copyright Copyright (C) 2012 Collabora Ltd. * @copyright Copyright (C) 2012 Nokia Corporation * @license LGPL 2.1 * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #include "TelepathyQt/_gen/svc-connection.h" #include #include #include #include "TelepathyQt/debug-internal.h" namespace Tp { class TP_QT_NO_EXPORT BaseConnection::Adaptee : public QObject { Q_OBJECT Q_PROPERTY(QStringList interfaces READ interfaces) Q_PROPERTY(uint selfHandle READ selfHandle) Q_PROPERTY(QString selfID READ selfID) Q_PROPERTY(uint status READ status) Q_PROPERTY(bool hasImmortalHandles READ hasImmortalHandles) public: Adaptee(const QDBusConnection &dbusConnection, BaseConnection *connection); ~Adaptee() override; QStringList interfaces() const; uint selfHandle() const; QString selfID() const; uint status() const; bool hasImmortalHandles() const; private Q_SLOTS: void connect( const Tp::Service::ConnectionAdaptor::ConnectContextPtr &context); void disconnect( const Tp::Service::ConnectionAdaptor::DisconnectContextPtr &context); void getInterfaces( const Tp::Service::ConnectionAdaptor::GetInterfacesContextPtr &context); void getProtocol( const Tp::Service::ConnectionAdaptor::GetProtocolContextPtr &context); void getSelfHandle( const Tp::Service::ConnectionAdaptor::GetSelfHandleContextPtr &context); void getStatus( const Tp::Service::ConnectionAdaptor::GetStatusContextPtr &context); void holdHandles(uint handleType, const Tp::UIntList &handles, const Tp::Service::ConnectionAdaptor::HoldHandlesContextPtr &context); void inspectHandles(uint handleType, const Tp::UIntList &handles, const Tp::Service::ConnectionAdaptor::InspectHandlesContextPtr &context); void listChannels( const Tp::Service::ConnectionAdaptor::ListChannelsContextPtr &context); void requestChannel(const QString &type, uint handleType, uint handle, bool suppressHandler, const Tp::Service::ConnectionAdaptor::RequestChannelContextPtr &context); void releaseHandles(uint handleType, const Tp::UIntList &handles, const Tp::Service::ConnectionAdaptor::ReleaseHandlesContextPtr &context); void requestHandles(uint handleType, const QStringList &identifiers, const Tp::Service::ConnectionAdaptor::RequestHandlesContextPtr &context); //void addClientInterest(const QStringList &tokens, const Tp::Service::ConnectionAdaptor::AddClientInterestContextPtr &context); //void removeClientInterest(const QStringList &tokens, const Tp::Service::ConnectionAdaptor::RemoveClientInterestContextPtr &context); Q_SIGNALS: void selfHandleChanged(uint selfHandle); void newChannel(const QDBusObjectPath &objectPath, const QString &channelType, uint handleType, uint handle, bool suppressHandler); void selfContactChanged(uint selfHandle, const QString &selfID); void connectionError(const QString &error, const QVariantMap &details); void statusChanged(uint status, uint reason); private: BaseConnection *mConnection; Service::ConnectionAdaptor *mAdaptor; }; class TP_QT_NO_EXPORT BaseConnectionRequestsInterface::Adaptee : public QObject { Q_OBJECT Q_PROPERTY(Tp::ChannelDetailsList channels READ channels) Q_PROPERTY(Tp::RequestableChannelClassList requestableChannelClasses READ requestableChannelClasses) public: Adaptee(BaseConnectionRequestsInterface *interface); ~Adaptee() override; Tp::ChannelDetailsList channels() const; Tp::RequestableChannelClassList requestableChannelClasses() const { debug() << "BaseConnectionRequestsInterface::requestableChannelClasses"; return mInterface->requestableChannelClasses; } private Q_SLOTS: void createChannel(const QVariantMap &request, const Tp::Service::ConnectionInterfaceRequestsAdaptor::CreateChannelContextPtr &context); void ensureChannel(const QVariantMap &request, const Tp::Service::ConnectionInterfaceRequestsAdaptor::EnsureChannelContextPtr &context); Q_SIGNALS: void newChannels(const Tp::ChannelDetailsList &channels); void channelClosed(const QDBusObjectPath &removed); public: BaseConnectionRequestsInterface *mInterface; }; class TP_QT_NO_EXPORT BaseConnectionContactsInterface::Adaptee : public QObject { Q_OBJECT Q_PROPERTY(QStringList contactAttributeInterfaces READ contactAttributeInterfaces) public: Adaptee(BaseConnectionContactsInterface *interface); ~Adaptee() override; QStringList contactAttributeInterfaces() const; private Q_SLOTS: void getContactAttributes(const Tp::UIntList &handles, const QStringList &interfaces, bool hold, const Tp::Service::ConnectionInterfaceContactsAdaptor::GetContactAttributesContextPtr &context); void getContactByID(const QString &identifier, const QStringList &interfaces, const Tp::Service::ConnectionInterfaceContactsAdaptor::GetContactByIDContextPtr &context); public: BaseConnectionContactsInterface *mInterface; }; class TP_QT_NO_EXPORT BaseConnectionSimplePresenceInterface::Adaptee : public QObject { Q_OBJECT Q_PROPERTY(Tp::SimpleStatusSpecMap statuses READ statuses) Q_PROPERTY(uint maximumStatusMessageLength READ maximumStatusMessageLength) public: Adaptee(BaseConnectionSimplePresenceInterface *interface); ~Adaptee() override; Tp::SimpleStatusSpecMap statuses() const; int maximumStatusMessageLength() const; private Q_SLOTS: void setPresence(const QString &status, const QString &statusMessage, const Tp::Service::ConnectionInterfaceSimplePresenceAdaptor::SetPresenceContextPtr &context); void getPresences(const Tp::UIntList &contacts, const Tp::Service::ConnectionInterfaceSimplePresenceAdaptor::GetPresencesContextPtr &context); Q_SIGNALS: void presencesChanged(const Tp::SimpleContactPresences &presence); public: BaseConnectionSimplePresenceInterface *mInterface; }; class TP_QT_NO_EXPORT BaseConnectionContactListInterface::Adaptee : public QObject { Q_OBJECT Q_PROPERTY(uint contactListState READ contactListState) Q_PROPERTY(bool contactListPersists READ contactListPersists) Q_PROPERTY(bool canChangeContactList READ canChangeContactList) Q_PROPERTY(bool requestUsesMessage READ requestUsesMessage) Q_PROPERTY(bool downloadAtConnection READ downloadAtConnection) public: Adaptee(BaseConnectionContactListInterface *interface); ~Adaptee() override; uint contactListState() const; bool contactListPersists() const; bool canChangeContactList() const; bool requestUsesMessage() const; bool downloadAtConnection() const; private Q_SLOTS: void getContactListAttributes(const QStringList &interfaces, bool hold, const Tp::Service::ConnectionInterfaceContactListAdaptor::GetContactListAttributesContextPtr &context); void requestSubscription(const Tp::UIntList &contacts, const QString &message, const Tp::Service::ConnectionInterfaceContactListAdaptor::RequestSubscriptionContextPtr &context); void authorizePublication(const Tp::UIntList &contacts, const Tp::Service::ConnectionInterfaceContactListAdaptor::AuthorizePublicationContextPtr &context); void removeContacts(const Tp::UIntList &contacts, const Tp::Service::ConnectionInterfaceContactListAdaptor::RemoveContactsContextPtr &context); void unsubscribe(const Tp::UIntList &contacts, const Tp::Service::ConnectionInterfaceContactListAdaptor::UnsubscribeContextPtr &context); void unpublish(const Tp::UIntList &contacts, const Tp::Service::ConnectionInterfaceContactListAdaptor::UnpublishContextPtr &context); void download( const Tp::Service::ConnectionInterfaceContactListAdaptor::DownloadContextPtr &context); Q_SIGNALS: void contactListStateChanged(uint contactListState); void contactsChangedWithID(const Tp::ContactSubscriptionMap &changes, const Tp::HandleIdentifierMap &identifiers, const Tp::HandleIdentifierMap &removals); private: BaseConnectionContactListInterface *mInterface; }; class TP_QT_NO_EXPORT BaseConnectionContactGroupsInterface::Adaptee : public QObject { Q_OBJECT Q_PROPERTY(bool disjointGroups READ disjointGroups) Q_PROPERTY(uint groupStorage READ groupStorage) Q_PROPERTY(QStringList groups READ groups) public: Adaptee(BaseConnectionContactGroupsInterface *interface); ~Adaptee() override; bool disjointGroups() const; uint groupStorage() const; QStringList groups() const; private Q_SLOTS: void setContactGroups(uint contact, const QStringList &groups, const Tp::Service::ConnectionInterfaceContactGroupsAdaptor::SetContactGroupsContextPtr &context); void setGroupMembers(const QString &group, const Tp::UIntList &members, const Tp::Service::ConnectionInterfaceContactGroupsAdaptor::SetGroupMembersContextPtr &context); void addToGroup(const QString &group, const Tp::UIntList &members, const Tp::Service::ConnectionInterfaceContactGroupsAdaptor::AddToGroupContextPtr &context); void removeFromGroup(const QString &group, const Tp::UIntList &members, const Tp::Service::ConnectionInterfaceContactGroupsAdaptor::RemoveFromGroupContextPtr &context); void removeGroup(const QString &group, const Tp::Service::ConnectionInterfaceContactGroupsAdaptor::RemoveGroupContextPtr &context); void renameGroup(const QString &oldName, const QString &newName, const Tp::Service::ConnectionInterfaceContactGroupsAdaptor::RenameGroupContextPtr &context); Q_SIGNALS: void groupsChanged(const Tp::UIntList &contact, const QStringList &added, const QStringList &removed); void groupsCreated(const QStringList &names); void groupRenamed(const QString &oldName, const QString &newName); void groupsRemoved(const QStringList &names); private: BaseConnectionContactGroupsInterface *mInterface; }; class TP_QT_NO_EXPORT BaseConnectionContactInfoInterface::Adaptee : public QObject { Q_OBJECT Q_PROPERTY(uint contactInfoFlags READ contactInfoFlags) Q_PROPERTY(Tp::FieldSpecs supportedFields READ supportedFields) public: Adaptee(BaseConnectionContactInfoInterface *interface); ~Adaptee() override; uint contactInfoFlags() const; Tp::FieldSpecs supportedFields() const; private Q_SLOTS: void getContactInfo(const Tp::UIntList &contacts, const Tp::Service::ConnectionInterfaceContactInfoAdaptor::GetContactInfoContextPtr &context); void refreshContactInfo(const Tp::UIntList &contacts, const Tp::Service::ConnectionInterfaceContactInfoAdaptor::RefreshContactInfoContextPtr &context); void requestContactInfo(uint contact, const Tp::Service::ConnectionInterfaceContactInfoAdaptor::RequestContactInfoContextPtr &context); void setContactInfo(const Tp::ContactInfoFieldList &contactInfo, const Tp::Service::ConnectionInterfaceContactInfoAdaptor::SetContactInfoContextPtr &context); signals: void contactInfoChanged(uint contact, const Tp::ContactInfoFieldList &contactInfo); private: BaseConnectionContactInfoInterface *mInterface; }; class TP_QT_NO_EXPORT BaseConnectionAddressingInterface::Adaptee : public QObject { Q_OBJECT public: Adaptee(BaseConnectionAddressingInterface *interface); ~Adaptee() override; private Q_SLOTS: void getContactsByVCardField(const QString &field, const QStringList &addresses, const QStringList &interfaces, const Tp::Service::ConnectionInterfaceAddressingAdaptor::GetContactsByVCardFieldContextPtr &context); void getContactsByURI(const QStringList &URIs, const QStringList &interfaces, const Tp::Service::ConnectionInterfaceAddressingAdaptor::GetContactsByURIContextPtr &context); Q_SIGNALS: public: BaseConnectionAddressingInterface *mInterface; }; class TP_QT_NO_EXPORT BaseConnectionAliasingInterface::Adaptee : public QObject { Q_OBJECT public: Adaptee(BaseConnectionAliasingInterface *interface); ~Adaptee() override; private Q_SLOTS: void getAliasFlags( const Tp::Service::ConnectionInterfaceAliasingAdaptor::GetAliasFlagsContextPtr &context); void requestAliases(const Tp::UIntList &contacts, const Tp::Service::ConnectionInterfaceAliasingAdaptor::RequestAliasesContextPtr &context); void getAliases(const Tp::UIntList &contacts, const Tp::Service::ConnectionInterfaceAliasingAdaptor::GetAliasesContextPtr &context); void setAliases(const Tp::AliasMap &aliases, const Tp::Service::ConnectionInterfaceAliasingAdaptor::SetAliasesContextPtr &context); Q_SIGNALS: void aliasesChanged(const Tp::AliasPairList &aliases); private: BaseConnectionAliasingInterface *mInterface; }; class TP_QT_NO_EXPORT BaseConnectionAvatarsInterface::Adaptee : public QObject { Q_OBJECT Q_PROPERTY(QStringList supportedAvatarMimeTypes READ supportedAvatarMimeTypes) Q_PROPERTY(uint minimumAvatarHeight READ minimumAvatarHeight) Q_PROPERTY(uint minimumAvatarWidth READ minimumAvatarWidth) Q_PROPERTY(uint recommendedAvatarHeight READ recommendedAvatarHeight) Q_PROPERTY(uint recommendedAvatarWidth READ recommendedAvatarWidth) Q_PROPERTY(uint maximumAvatarHeight READ maximumAvatarHeight) Q_PROPERTY(uint maximumAvatarWidth READ maximumAvatarWidth) Q_PROPERTY(uint maximumAvatarBytes READ maximumAvatarBytes) public: Adaptee(BaseConnectionAvatarsInterface *interface); ~Adaptee() override; QStringList supportedAvatarMimeTypes() const; uint minimumAvatarHeight() const; uint minimumAvatarWidth() const; uint recommendedAvatarHeight() const; uint recommendedAvatarWidth() const; uint maximumAvatarHeight() const; uint maximumAvatarWidth() const; uint maximumAvatarBytes() const; private Q_SLOTS: void getKnownAvatarTokens(const Tp::UIntList &contacts, const Tp::Service::ConnectionInterfaceAvatarsAdaptor::GetKnownAvatarTokensContextPtr &context); void requestAvatars(const Tp::UIntList &contacts, const Tp::Service::ConnectionInterfaceAvatarsAdaptor::RequestAvatarsContextPtr &context); void setAvatar(const QByteArray &avatar, const QString &mimeType, const Tp::Service::ConnectionInterfaceAvatarsAdaptor::SetAvatarContextPtr &context); void clearAvatar( const Tp::Service::ConnectionInterfaceAvatarsAdaptor::ClearAvatarContextPtr &context); Q_SIGNALS: void avatarUpdated(uint contact, const QString &newAvatarToken); void avatarRetrieved(uint contact, const QString &token, const QByteArray &avatar, const QString &type); private: BaseConnectionAvatarsInterface *mInterface; }; class TP_QT_NO_EXPORT BaseConnectionClientTypesInterface::Adaptee : public QObject { Q_OBJECT public: Adaptee(BaseConnectionClientTypesInterface *interface); ~Adaptee() override; private Q_SLOTS: void getClientTypes(const Tp::UIntList &contacts, const Tp::Service::ConnectionInterfaceClientTypesAdaptor::GetClientTypesContextPtr &context); void requestClientTypes(uint contact, const Tp::Service::ConnectionInterfaceClientTypesAdaptor::RequestClientTypesContextPtr &context); Q_SIGNALS: void clientTypesUpdated(uint contact, const QStringList &clientTypes); private: BaseConnectionClientTypesInterface *mInterface; }; class TP_QT_NO_EXPORT BaseConnectionContactCapabilitiesInterface::Adaptee : public QObject { Q_OBJECT public: Adaptee(BaseConnectionContactCapabilitiesInterface *interface); ~Adaptee() override; private Q_SLOTS: void updateCapabilities(const Tp::HandlerCapabilitiesList &handlerCapabilities, const Tp::Service::ConnectionInterfaceContactCapabilitiesAdaptor::UpdateCapabilitiesContextPtr &context); void getContactCapabilities(const Tp::UIntList &handles, const Tp::Service::ConnectionInterfaceContactCapabilitiesAdaptor::GetContactCapabilitiesContextPtr &context); Q_SIGNALS: void contactCapabilitiesChanged(const Tp::ContactCapabilitiesMap &caps); private: BaseConnectionContactCapabilitiesInterface *mInterface; }; }