diff options
| author | Andrew Branson <andrew.branson@jolla.com> | 2026-02-10 10:41:02 +0100 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@jolla.com> | 2026-02-10 17:09:39 +0100 |
| commit | 4351f4627ba9e71775438dd26c9acddd002c7e11 (patch) | |
| tree | 3c72c980c5c81507109087bda67052b7ec8216b6 /buteo-plugins/buteo-common/socialdbuteoplugin.h | |
Initial commit
Diffstat (limited to 'buteo-plugins/buteo-common/socialdbuteoplugin.h')
| -rw-r--r-- | buteo-plugins/buteo-common/socialdbuteoplugin.h | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/buteo-plugins/buteo-common/socialdbuteoplugin.h b/buteo-plugins/buteo-common/socialdbuteoplugin.h new file mode 100644 index 0000000..57de171 --- /dev/null +++ b/buteo-plugins/buteo-common/socialdbuteoplugin.h @@ -0,0 +1,75 @@ +/**************************************************************************** + ** + ** Copyright (C) 2013-2014 Jolla Ltd. + ** Contact: Raine Makelainen <raine.makelainen@jollamobile.com> + ** + ** This program/library is free software; you can redistribute it and/or + ** modify it under the terms of the GNU Lesser General Public License + ** version 2.1 as published by the Free Software Foundation. + ** + ** This program/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 program/library; if not, write to the Free + ** Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + ** 02110-1301 USA + ** + ****************************************************************************/ + +#ifndef SOCIALDBUTEOPLUGIN_H +#define SOCIALDBUTEOPLUGIN_H + +#include <QtCore/qglobal.h> +#include "buteosyncfw_p.h" + +/* + Datatype-specific implementations of this class + allow per-account sync profiles for that data type. +*/ + +class SocialNetworkSyncAdaptor; +class Q_DECL_EXPORT SocialdButeoPlugin : public Buteo::ClientPlugin +{ + Q_OBJECT + +protected: + virtual SocialNetworkSyncAdaptor *createSocialNetworkSyncAdaptor() = 0; + +public: + SocialdButeoPlugin(const QString& pluginName, + const Buteo::SyncProfile& profile, + Buteo::PluginCbInterface *cbInterface, + const QString &socialServiceName, + const QString &dataTypeName); + virtual ~SocialdButeoPlugin(); + + bool init() override; + bool uninit() override; + bool startSync() override; + void abortSync(Sync::SyncStatus status = Sync::SYNC_ABORTED) override; + Buteo::SyncResults getSyncResults() const override; + bool cleanUp() override; + +public Q_SLOTS: + void connectivityStateChanged(Sync::ConnectivityType type, bool state) override; + +private Q_SLOTS: + void syncStatusChanged(); + +protected: + QList<Buteo::SyncProfile*> ensurePerAccountSyncProfilesExist(); + +private: + void updateResults(const Buteo::SyncResults &results); + Buteo::SyncResults m_syncResults; + Buteo::ProfileManager m_profileManager; + SocialNetworkSyncAdaptor *m_socialNetworkSyncAdaptor; + QString m_socialServiceName; + QString m_dataTypeName; + int m_profileAccountId; +}; + +#endif // SOCIALDBUTEOPLUGIN_H |
