| 
									
										
										
										
											2017-04-27 20:24:53 +02:00
										 |  |  | // SPDX-License-Identifier: GPL-2.0
 | 
					
						
							| 
									
										
										
										
											2015-10-09 18:16:34 -03:00
										 |  |  | #ifndef ISOCIALNETWORKINTEGRATION_H
 | 
					
						
							|  |  |  | #define ISOCIALNETWORKINTEGRATION_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-10-09 19:17:58 -03:00
										 |  |  | #include <QtPlugin>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-10-09 18:16:34 -03:00
										 |  |  | /* 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. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-09 18:14:20 -02:00
										 |  |  | class ISocialNetworkIntegration : public QObject { | 
					
						
							|  |  |  |   Q_OBJECT | 
					
						
							| 
									
										
										
										
											2015-10-09 20:15:26 -03:00
										 |  |  | public: | 
					
						
							| 
									
										
										
										
											2015-11-09 18:14:20 -02:00
										 |  |  | 	ISocialNetworkIntegration(QObject* parent = 0); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-10-09 18:16:34 -03:00
										 |  |  | 	/*!
 | 
					
						
							|  |  |  | 	 * @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. | 
					
						
							|  |  |  | 	 */ | 
					
						
							| 
									
										
										
										
											2015-10-09 19:17:58 -03:00
										 |  |  | 	virtual QString socialNetworkName() const = 0; | 
					
						
							| 
									
										
										
										
											2015-10-09 18:16:34 -03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	/*!
 | 
					
						
							|  |  |  | 	 * @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. | 
					
						
							|  |  |  | 	 */ | 
					
						
							| 
									
										
										
										
											2015-10-09 19:17:58 -03:00
										 |  |  | 	virtual QString socialNetworkIcon() const = 0; | 
					
						
							| 
									
										
										
										
											2015-10-09 18:16:34 -03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	/*!
 | 
					
						
							|  |  |  | 	 * @name isConnected | 
					
						
							|  |  |  | 	 * @brief returns true if connected to this social network, false otherwise | 
					
						
							|  |  |  | 	 * @return true if connected to this social network, false otherwise | 
					
						
							|  |  |  | 	 */ | 
					
						
							| 
									
										
										
										
											2015-10-09 19:17:58 -03:00
										 |  |  | 	virtual bool isConnected() = 0; | 
					
						
							| 
									
										
										
										
											2015-10-09 18:16:34 -03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	/*!
 | 
					
						
							|  |  |  | 	 * @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. | 
					
						
							|  |  |  | 	 */ | 
					
						
							| 
									
										
										
										
											2015-10-09 19:17:58 -03:00
										 |  |  | 	virtual void requestLogin() = 0; | 
					
						
							| 
									
										
										
										
											2015-10-09 18:16:34 -03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	/*!
 | 
					
						
							|  |  |  | 	 * @name requestLogoff | 
					
						
							|  |  |  | 	 * @brief tries to logoff from this social network | 
					
						
							|  |  |  | 	 * | 
					
						
							|  |  |  | 	 * Try to logoff from this social network. | 
					
						
							|  |  |  | 	 */ | 
					
						
							| 
									
										
										
										
											2015-10-09 19:17:58 -03:00
										 |  |  | 	virtual void requestLogoff() = 0; | 
					
						
							| 
									
										
										
										
											2015-10-09 18:16:34 -03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	/*!
 | 
					
						
							|  |  |  | 	 * @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. | 
					
						
							|  |  |  | 	 */ | 
					
						
							| 
									
										
										
										
											2015-11-08 10:58:59 -02:00
										 |  |  | 	virtual void requestUpload() = 0; | 
					
						
							| 
									
										
										
										
											2015-10-09 18:16:34 -03:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-27 20:24:53 +02:00
										 |  |  | #endif
 |