imstutils/imconnectionprovider/inc/cicpservicemanager.h
changeset 15 81eeb8c83ce5
parent 0 5e5d6b214f4f
--- 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 <e32base.h>
-#include <cchservice.h>
-#include <ximpbase.h>
-#include <ximpcontext.h>
-#include <ximpcontextobserver.h>
-#include <ximpcontextstate.h>
-#include <spdefinitions.h>
-
-#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<TUint32>& 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<CICPServiceRequest> 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
-