smf/smfservermodule/smfserver/datastoremgr/smfSocialProfile.h
author cgandhi <chandradeep.gandhi@sasken.com>
Tue, 18 May 2010 17:37:12 +0530
changeset 7 be09cf1f39dd
permissions -rw-r--r--
Updating the source code for plugin manager, transport manager, smfserver and smf client.

/*!	\file 
	\brief File containing class description for SMFSocialProfile class.
	
	Copyright (c) 2010 Sasken Communication Technologies Ltd.
	All rights reserved.
	This component and the accompanying materials are made available
	under the terms of the "{License}"
	which accompanies  this distribution, and is available
	at the URL "{LicenseUrl}".

	\author Jaspinder Singh, Sasken Communication Technologies Ltd - Initial contribution

	\author
	\version 0.1

*/

#ifndef SMFSOCIALPROFILE_H
#define SMFSOCIALPROFILE_H

#include <QObject>
#include <QString>

#include "smfSns.h"
#include "smfUserProfile.h"

class DataStoreManager; //Forward Declaration

//!	\class 	SMFSocialProfile
/*!
	\brief	This class represents a user's public profile on a social networking site.
	\brief	A social profile represents the information about the user/contact profiles on various social networking sites. 
			Every profile on a social networking site gets a social profile. 
			A single social profile can be tied to one social networking site and one user profile.
			
	\sa 	SMFUserProfile , SMFSocialNetworkingSite
*/
class SMFSocialProfile: public QObject
{
	Q_OBJECT

    friend class DataStoreManager;
	
	public:
        SMFSocialProfile(const SMFSocialNetworkingSite& site, const QString& profile_url = "", const QString& screen_alias = "", QObject* parent = 0);
        SMFSocialProfile(int sns_id = -1, int user_id = -1, const QString& profile_url = "", const QString& screen_alias = "", QObject* parent = 0);
        SMFSocialProfile (const SMFSocialProfile& other);
		~SMFSocialProfile();
		int associatedUserID() const;
		int associatedSnsID() const;
		int profileID() const;
		const QString& profileURL() const;
		const QString& screenAlias() const;
	
	public slots:
		void setAssociatedSns(const SMFSocialNetworkingSite& site);
		void setAssociatedSnsID(int sns_id);
		void setProfileURL(const QString& profile_url);
		void setScreenAlias(const QString& screen_alias);
	
	private:
		int m_social_profile_id;
		int m_user_id;
		int m_sns_id;
		QString m_profile_url;
		QString m_screen_alias;		
		
	private slots:
		void setProfileID(int id);
        void setAssociatedUserID(int user_id);
        void setAssociatedUserProfile(const SMFUserProfile& user_profile);
};

#endif