example/clientapi/smf/inc/smfplugins/base/smfproviderbase_p.h
changeset 3 0446eb7b28aa
parent 2 86af6c333601
child 4 969092730d34
equal deleted inserted replaced
2:86af6c333601 3:0446eb7b28aa
     1 /**
       
     2  * Copyright (c) 2010 Sasken Communication Technologies Ltd.
       
     3  * All rights reserved.
       
     4  * This component and the accompanying materials are made available
       
     5  * under the terms of the "Eclipse Public License v1.0" 
       
     6  * which accompanies  this distribution, and is available
       
     7  * at the URL "http://www.eclipse.org/legal/epl-v10.html"
       
     8  *
       
     9  * Initial Contributors:
       
    10  * Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution
       
    11  *
       
    12  * Contributors:
       
    13  * Manasij Roy, Nalina Hariharan
       
    14  * 
       
    15  * Description:
       
    16  * Private class implemented for implicit sharing of SmfProviderBase class
       
    17  *
       
    18  */
       
    19 
       
    20 #ifndef SMFPROVIDERBASE_P_H_
       
    21 #define SMFPROVIDERBASE_P_H_
       
    22 
       
    23 #include <QImage>
       
    24 #include <QUrl>
       
    25 #include <QBuffer>
       
    26 #include <smfglobal.h>
       
    27 #include <QSharedData>
       
    28 
       
    29 
       
    30 class SmfProviderBasePrivate : public QSharedData
       
    31 {
       
    32 public:
       
    33 	/**
       
    34 	 * Constructor
       
    35 	 */
       
    36 	SmfProviderBasePrivate( ) { 
       
    37 		m_serviceName.clear(); 
       
    38 		m_description.clear();
       
    39 		m_serviceUrl.clear();
       
    40 		m_applicationUrl.clear();
       
    41 		m_pluginId = 0;
       
    42 		m_authenticationAppId = 0;
       
    43 		m_registrationId.clear();
       
    44 		m_loadRefCount = 0;
       
    45 	}
       
    46 	
       
    47 	/**
       
    48 	 * Copy Consturctor
       
    49 	 * @param aOther The reference object to be copy constructed
       
    50 	 */
       
    51 	SmfProviderBasePrivate( const SmfProviderBasePrivate &aOther ) : 
       
    52 		QSharedData ( aOther ), 
       
    53 		m_serviceName ( aOther.m_serviceName ),
       
    54 		m_serviceIcon ( aOther.m_serviceIcon ),
       
    55 		m_description ( aOther.m_description ),
       
    56 		m_serviceUrl ( aOther.m_serviceUrl ),
       
    57 		m_applicationUrl ( aOther.m_applicationUrl ),
       
    58 		m_applicationIcon ( aOther.m_applicationIcon ),
       
    59 		m_pluginId ( aOther.m_pluginId ),
       
    60 		m_authenticationAppId ( aOther.m_authenticationAppId ),
       
    61 		m_registrationId ( aOther.m_registrationId ), 
       
    62 		m_usage ( aOther.m_usage ),
       
    63 		m_loadRefCount ( aOther.m_loadRefCount )	{ }
       
    64 	
       
    65 	/**
       
    66 	 * Destructor
       
    67 	 */
       
    68 	~SmfProviderBasePrivate( );
       
    69   
       
    70 	QString m_serviceName;	// the Localisable name of the service
       
    71 	QImage m_serviceIcon;	// the Logo of the service
       
    72 	QString m_description;	// the Readable service description
       
    73 	QUrl m_serviceUrl;		// the Website of the service
       
    74 	QUrl m_applicationUrl; 	// URL of the Application providing this service
       
    75 	QImage m_applicationIcon;	//Icon of the application
       
    76 	quint32 m_pluginId;		// The Plugin specific ID
       
    77 	quint32 m_authenticationAppId; // ID of the authentication application for this service
       
    78 	QString m_registrationId; 	// unique registration ID provided by the 
       
    79 							// Smf for authorised plugins
       
    80 	SmfPluginDataUsage m_usage;	//data usage of each plugin
       
    81 	uint m_loadRefCount;	// reference count increased with each load request 
       
    82 							// and decreased with each unload request
       
    83 	
       
    84 };
       
    85 
       
    86 #endif /* SMFPROVIDERBASE_P_H_ */