diff -r 5e5d6b214f4f -r 81eeb8c83ce5 imstutils/imconnectionprovider/inc/cicpservicemanager.h --- a/imstutils/imconnectionprovider/inc/cicpservicemanager.h Tue Feb 02 10:12:18 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,414 +0,0 @@ -/* -* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: service manager callback implementation class -* -*/ - - -#ifndef C_CICPSERVICEMANAGER_H -#define C_CICPSERVICEMANAGER_H - - -// INCLUDES - -#include -#include -#include -#include -#include -#include -#include - -#include "timconnproviderenums.h" - -#define MAX_LENGTH 512 - -class MXIMPContext; //for MXIMPContext -class MXIMPClient; -class CICPServiceRequest; -class CXmppSettingsApi; //protocol specific settings store -class CIMCacheFactory; // imcache factory -class MIMCacheUpdater; // cache updater -class CSPSettings; //SP Settings - -/** -* CIcpServiceManager class -* @lib imconnectionprovider.dll -*/ -class CIcpServiceManager : public CBase, - public MXIMPContextObserver - { - //for test case purpose - friend class Cimconnectionprovider_test; - -public: - - /** - * Two-phased constructor - */ - static CIcpServiceManager* NewL( MCchServiceObserver& aServiceObserver ); - - /** - * Destructor. - */ - virtual ~CIcpServiceManager(); - -public: // New functions - - /** - * Client enables service. CCHService implementation - * should use MCCHServiceObserver for service state notifications. - * @see MCCHServiceObserver - * @param aServiceId - */ - void EnableServiceL( TUint aServiceId, - TCCHSubserviceType aSubServiceType ); - - /** - * Client enables service. CCHService implementation - * should use MCCHServiceObserver for service state notifications. - * @see MCCHServiceObserver - * @param aServiceId - * @param aIapId - */ - void EnableServiceL( TUint aServiceId, - TCCHSubserviceType aSubServiceType, - TUint aIapId ); - - /** - * Client disables service. - * @param aServiceId - */ - void DisableServiceL( TUint aServiceId, - TCCHSubserviceType aSubServiceType ); - - /** - * Client checks is the service available by the IAP id array. - * CCHService implementation should return ETrue if service is - * registrable by the (some) IAP, array contains. - * @param aServiceId - * @param aIapIdArray Id array of the currently available iaps. - * @return ETrue if service is available. - */ - TBool IsAvailableL( TUint aServiceId, - TCCHSubserviceType aSubServiceType, - const RArray& aIapIdArray ) const; - - /** - * Get service state information. - * @param aServiceId - * @param aState Current service state. - * @return General symbian error code. - */ - TInt GetServiceState( TUint aServiceId, - TCCHSubserviceType aSubServiceType, - TCCHSubserviceState& aState ) const; - - /** - * Get service network information. - * @param aServiceId - * @param aSnapId Used Snap id (should be set as null if - * not in use) - * @pamar aIapId Used IAP id (should be set as null if - * not in use) - * @return General symbian error code. - */ - TInt GetServiceNetworkInfoL( TUint aServiceId, - TCCHSubserviceType aSubServiceType, - TUint32& aSnapId, - TUint32& aIapId, - TBool& aSnapLocked, - TBool& aPasswordSet) const; - - /** - * Set Snap id for service. - * @param aServiceId - * @param aSnapId - * @return General symbian error code. - */ - TInt SetSnapId( TUint aServiceId, - TCCHSubserviceType aSubServiceType, - TUint aSnapId ); - - /** - * Set IAP id for service. - * @param aServiceId - * @param aSnapId - * @return General symbian error code. - */ - TInt SetIapId( TUint aServiceId, - TCCHSubserviceType aSubServiceType, - TUint aIapId ); - - /** - * Get service specifics information about service and protocol - * @param aServiceId - * @param aSubservice - * @param aBuffer - */ - void GetServiceInfoL( TUint aServiceId, - TCCHSubserviceType aSubServiceType, - RBuf& aBuffer ) const; - - /** - * Sets service reserved or unreserved - * @param aReserved Reserved - * @param aServiceId - * @param aSubServiceType Sub service type - * @return Symbian error codes - */ - TInt SetServiceReserved( TBool aReserved, - TUint aServiceId, - TCCHSubserviceType aSubServiceType ); - - - /** - * Returns the connection parameters - * @since S60 3.2.3 - * @param aServiceId Selected service id - * @param aServiceId Selected service type - * @param aParameter Connection parameter of the service - * @param aValue Value of the parameter - * @return Symbian error code - */ - TInt GetConnectionParameter( TUint aServiceId, - TCCHSubserviceType aSubServiceType, - TCchConnectionParameter aParameter, - TInt& aValue ) const; - - /** - * Returns the connection parameters - * @since S60 3.2.3 - * @param aServiceId Selected service id - * @param aServiceId Selected service type - * @param aParameter Connection parameter of the service - * @param aValue Value of the parameter - * @return Symbian error code - */ - void GetConnectionParameterL(TUint aServiceId, - TCCHSubserviceType aSubServiceType, - TCchConnectionParameter aParameter, - RBuf& aValue ) const; - - /** - * Sets the connection parameters - * @since S60 3.2.3 - * @param aServiceId Selected service id - * @param aServiceId Selected service type - * @param aParameter Connection parameter of the service - * @param aValue Value of the parameter - * @return Symbian error code - */ - TInt SetConnectionParameter( TUint aServiceId, - TCCHSubserviceType aSubServiceType, - TCchConnectionParameter aParameter, - TInt aValue ); - - /** - * Sets the connection parameters - * @since S60 3.2.3 - * @param aServiceId Selected service id - * @param aServiceId Selected service type - * @param aParameter Connection parameter of the service - * @param aValue Value of the parameter - * @return Symbian error code - */ - void SetConnectionParameterL( TUint aServiceId, - TCCHSubserviceType aSubServiceType, - TCchConnectionParameter aParameter, - const TDesC& aValue ); - - /** - * Returns service reserved info - * @param aServiceId - * @param aSubServiceType Sub service type - * @return ETrue if reserved - */ - TBool IsReserved( TUint aServiceId, - TCCHSubserviceType aSubServiceType ) const; - - /** - * Profile event call back. - * @since S60 3.2 - * @param aProfileId SIP profile id. - * @param aEvent a new profile event. - */ - void ProfileEventOccurred( const TUint32 aProfileId, - TCCHSubserviceState aEvent, TInt aError ); - - /** - * Service event call back. - * @since S60 3.2 - * @param aServiceId Service id. - * @param aEvent a new profile event. - */ - void ServiceEventOccurred( const TUint32 aServiceId, - const TCCHSubserviceType aSubService, - TCCHSubserviceState aEvent, TInt aError ); - - - /** - * Handles presence context event - * @param aContext - * @param aEvent Event - */ - void HandlePresenceContextEvent( const MXIMPContext& aContext, - const MXIMPBase& aEvent ); - - - - /** - * Handles bind to the presence context - * @param aServiceSettingId - */ - void BindL(TInt aServiceSettingId); - - /** - * Handles unbind to the presence context - */ - void UnBindL(); - -private: - - TInt ConvertXIMPErrToCChErr(const TInt aXimpErr); - - /** - * Default constructor - * @param aStateObserver State Observer - */ - CIcpServiceManager( MCchServiceObserver& aServiceObserver ); - - /** - * 2nd phase constructor - */ - void ConstructL(); - - - /** - * FindRequestId - * find the request id - * @param aRequestId to find - */ - CICPServiceRequest* FindRequestId(TXIMPRequestId& aRequestId ) ; - - - /** - * RemoveRequestId - * remove from the array - * @param aRequestId ,to remove - */ - CICPServiceRequest* RemoveRequestId(TXIMPRequestId& aRequestId) ; - - - /** Create a Request - * @Returns the Ptr to the new request created - * @param - aRequestId - * @param - aType - */ - CICPServiceRequest* CreateRequestL(TXIMPRequestId& aRequestId, - TIMConnProviderEnums::TRequestTypes aType ); - - - - /** - * SetIMDisabledL - * @param aServiceId: ServiceId - */ - void SetIMDisabledL(TUint32 aServiceId); - - - TBool ValidateServiceL( TUint32 aServiceId ) const; - TInt GetSPSettingsIntPropertyL( TUint32 aServiceId, - TServicePropertyName aPropertyName ) const; - - - TBool ValidateSubService( TCCHSubserviceType aSubServiceType ) const; - - - - /** - * Gets the name of the service - * - * @since S60 5.0 - * @param aServiceId, service id - * @param aServiceName, service name is copied to this parameter - * caller should allocate memory for this parameter - * @return None - */ - void GetServiceNameL( - TUint32 aServiceId, TDes& aServiceName ); - -private: - - /** - * Observer for state changes - */ - MCchServiceObserver& iServiceObserver; - - /** - * Event - */ - TCCHSubserviceState iOngoingState; - - /** - * Ongoing service id and subservice type - */ - - TUint iIapId; - - TUint iSnapId; - - TInt iServiceId; - - TInt iLastReportedError; - /** - * Ximp specific data handling - */ - //owns - MXIMPClient* iPresClient; - - //owns - MXIMPContext* iPresenceCtx; - - // Own - RPointerArray iReqIDArray; - - // Owned , settings api to set and reset owndata. - CXmppSettingsApi* iXmppParameters; - - //Stores the XIMPFw EventTypes Subscribed for - RArray< TInt32 > iAcceptedEventTypes; - - //stores the userid - HBufC* iOwnUserId; - - // owned, imcache factory ,call release on it. - CIMCacheFactory* iIMCacheFactory; - - // owned,by factory, cache updater - MIMCacheUpdater* iIMCacheUpdater ; - - HBufC* iServiceName; - - CSPSettings *iCSPSetting; - - #ifdef _DEBUG - #endif - - }; - -#endif // C_CICPSERVICEMANAGER_H - -// End of file -