diff options
author | Tomaz Canabrava <tomaz.canabrava@intel.com> | 2015-10-09 18:16:34 -0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-10-30 10:36:51 -0700 |
commit | 6930c689b7b5449a98f91430cbd96627050d8e2e (patch) | |
tree | 416e4626e4975d127e7a233ba4e104c88ee4cdd9 /subsurface-core | |
parent | c1b2907071432f6a313605950fa95c8eff000a55 (diff) | |
download | subsurface-6930c689b7b5449a98f91430cbd96627050d8e2e.tar.gz |
Add an interface for Social Network Interfaces
The Social Network plugins need an interface file to describe
the expected behavior of it, this little header file will serve
for that.
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'subsurface-core')
-rw-r--r-- | subsurface-core/isocialnetworkintegration.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/subsurface-core/isocialnetworkintegration.h b/subsurface-core/isocialnetworkintegration.h new file mode 100644 index 000000000..e20ab646f --- /dev/null +++ b/subsurface-core/isocialnetworkintegration.h @@ -0,0 +1,67 @@ +#ifndef ISOCIALNETWORKINTEGRATION_H +#define ISOCIALNETWORKINTEGRATION_H + +/* 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 { + /*! + * @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. + */ + 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. + */ + QIcon 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 + */ + 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. + */ + void requestLogin() = 0; + + /*! + * @name requestLogoff + * @brief tries to logoff from this social network + * + * Try to logoff from this social network. + */ + 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. + */ + void uploadCurrentDive() = 0; +}; + +#endif
\ No newline at end of file |