subsurface/subsurface-core/isocialnetworkintegration.h
Tomaz Canabrava 287977b04c Change from uploadCurrentDive to requestUpload call
Since we can't forbit the plugins to upload more than just the
current dive, it's better to change the name of the call.
also add a stub to make sure it's calling the right method inside
the plugin.

Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-08 09:44:55 -08:00

72 lines
No EOL
2.1 KiB
C++

#ifndef ISOCIALNETWORKINTEGRATION_H
#define ISOCIALNETWORKINTEGRATION_H
#include <QtPlugin>
/* This Interface represents a Plugin for Social Network integration,
* with it you may be able to create plugins for facebook, instagram,
* twitpic, google plus and any other thing you may imagine.
*
* We bundle facebook integration as an example.
*/
class ISocialNetworkIntegration {
public:
/*!
* @name socialNetworkName
* @brief The name of this social network
* @return The name of this social network
*
* The name of this social network will be used to populate the Menu to toggle states
* between connected/disconnected, and also submit stuff to it.
*/
virtual QString socialNetworkName() const = 0;
/*!
* @name socialNetworkIcon
* @brief The icon of this social network
* @return The icon of this social network
*
* The icon of this social network will be used to populate the menu, and can also be
* used on a toolbar if requested.
*/
virtual QString socialNetworkIcon() const = 0;
/*!
* @name isConnected
* @brief returns true if connected to this social network, false otherwise
* @return true if connected to this social network, false otherwise
*/
virtual bool isConnected() = 0;
/*!
* @name requestLogin
* @brief try to login on this social network.
*
* Try to login on this social network. All widget implementation that
* manages login should be done inside this function.
*/
virtual void requestLogin() = 0;
/*!
* @name requestLogoff
* @brief tries to logoff from this social network
*
* Try to logoff from this social network.
*/
virtual void requestLogoff() = 0;
/*!
* @name uploadCurrentDive
* @brief send the current dive info to the Social Network
*
* Should format all the options and pixmaps from the current dive
* to update to the social network. All widget stuff related to sendint
* dive information should be executed inside this function.
*/
virtual void requestUpload() = 0;
};
Q_DECLARE_INTERFACE(ISocialNetworkIntegration, "org.subsurface.ISocialNetworkIntegration.v1")
Q_DECLARE_METATYPE(ISocialNetworkIntegration*);
#endif