diff -r 05bc53fe583b -r 83ca720e2b9a cmmanager/cmmgr/cmmserver/inc/cmmsession.h --- a/cmmanager/cmmgr/cmmserver/inc/cmmsession.h Tue Aug 31 15:35:44 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,293 +0,0 @@ -/* -* Copyright (c) 2009-2010 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: -* Handles client requests. -* -*/ - - -#ifndef CMMSESSION_H_ -#define CMMSESSION_H_ - -#include -#include - -#include "cmmcache.h" - -class CCmmServer; -class CCmmConnMethodInstance; -class CCmmDestinationInstance; - - -/** - * A handler for the service requests received from clients. - */ -class CCmmSession : public CSession2 - { -public: - /** - * Creates a CVpnManagerSession object using two phase construction, - * and returns a pointer to the created object - * - * @param Client's thread - * @param The server - * - * @result Pointer to the new session - */ - static CCmmSession* NewL( CCmmServer& aServer, CCmmCache& aCache ); - - /** - * Creates a CVpnManagerSession object using two phase construction, - * and returns a pointer to the created object - * (leaving a pointer to the object on the cleanup stack) - * - * @param Client's thread - * @param The server - * - * @result Pointer to the new session - */ - static CCmmSession* NewLC( CCmmServer& aServer, CCmmCache& aCache ); - - /** - * Destroy the object and release all memory objects. - */ - ~CCmmSession(); - -public: - /** - * Service request from client. - * - * @param aMessage Message from client (containing requested operation and - * any relevant data). - */ - void ServiceL( const RMessage2& aMessage ); - - /** - * Finds a connection method instance that belongs to this session and - * matches the provided ID. Return NULL if no match is found. - */ - CCmmConnMethodInstance* FindConnMethodInstanceById( - const TUint32 aConnMethodId ); - - /** - * Finds a destination instance that belongs to this session and matches - * the provided handle. - */ - CCmmDestinationInstance* FindDestinationInstanceByHandleL( - const TInt aDestinationHandle ); - - /** - * Finds a destination instance that belongs to this session and matches - * the provided ID. Return NULL if no match is found. - */ - CCmmDestinationInstance* FindDestinationInstanceById( - const TUint32 aDestinationId ); - - /** - * Check from all open destination handles in this session if the given - * connection method is inside any of them. The given destination is - * skipped. - */ - TBool ConnMethodInOtherDestination( - const TUint32 aConnMethodId, - const TUint32 aDestinationId ); - - /** - * Check for restrictions for adding an embedded destination from destination - * instances of all clients. - * @param aDestinationId The ID of the destination where a destination is - * beeing embedded. - * @param aEmbeddedDestinationId The ID of the destination that is beeing - * embedded. - */ - TBool EmbeddedDestinationConflictsFromAllSessions( - const TUint32 aDestinationId, - const TUint32 aEmbeddedDestinationId ); - - /** - * Check for restrictions for adding an embedded destination from destination - * instances of this session. - * @param aDestinationId The ID of the destination where a destination is - * beeing embedded. - * @param aEmbeddedDestinationId The ID of the destination that is beeing - * embedded. - */ - TBool EmbeddedDestinationConflicts( - const TUint32 aDestinationId, - const TUint32 aEmbeddedDestinationId ); - - /** - * After update to database, refresh temporary ID to real ID if necessary - * and refresh status information for any related handles for all client - * sessions. - */ - void RefreshHandlesForAllSessions( const TCmmIdStruct& aIdStruct ); - - /** - * Removes a connection method from any open destination handle in this - * session. - */ - void RemoveConnMethodFromDestinationHandles( - const TUint32 aConnMethodId ); - - /** - * Notify this sessions destination/connection method handles about an - * updated/deleted destination/connection method. - */ - void RefreshHandles( const TUint32 aId ) const; - -private: - /** - * The first phase of two phase construction. - * - * @param Client's thread - * @param The server - */ - CCmmSession( CCmmServer& aServer, CCmmCache& aCache ); - - /** - * Destination specific service dispatcher. - * @param aMessage Message sent by the plugin - */ - void ServiceDestinationL( const RMessage2& aMessage ); - - /** - * Connection Method specific service dispatcher. - * @param aMessage Message sent by the plugin - */ - void ServiceConnMethodL( const RMessage2& aMessage ); - - /** - * The second phase of two phase construction. - */ - void ConstructL() ; - - void GetBearerInfoIntL( const RMessage2& aMessage ); - void GetBearerInfoBoolL( const RMessage2& aMessage ); - void GetBearerInfoStringL( const RMessage2& aMessage ); - void GetBearerInfoString8L( const RMessage2& aMessage ); - void GetConnMethodInfoIntL( const RMessage2& aMessage ); - void GetConnMethodInfoBoolL( const RMessage2& aMessage ); - void GetConnMethodInfoStringL( const RMessage2& aMessage ); - void GetConnMethodInfoString8L( const RMessage2& aMessage ); - void GetConnMethodArrayL( const RMessage2& aMessage ); - void GetAllDestinationsL( const RMessage2& aMessage ); - void GetEasyWLANIdL( const RMessage2& aMessage ); - void GetSupportedBearersL( const RMessage2& aMessage ); - void GetUncategorizedIconL( const RMessage2& aMessage ); - void ReadDefaultConnectionL( const RMessage2& aMessage ); - void ReadGenConnSettingsL( const RMessage2& aMessage ); - void WriteGenConnSettingsL( const RMessage2& aMessage ); - void GetBearerPriorityArrayL( const RMessage2& aMessage ); - void UpdateBearerPriorityArrayL( const RMessage2& aMessage ); - void CopyConnMethodL( const RMessage2& aMessage ); - void MoveConnMethodL( const RMessage2& aMessage ); - void RemoveConnMethodL( const RMessage2& aMessage ); - void RemoveAllReferencesL( const RMessage2& aMessage ); - - void GetDestinationL( const RMessage2& aMessage ); - void RefreshDestinationL( const RMessage2& aMessage ); - void CreateDestinationWithNameL( const RMessage2& aMessage ); - void CreateDestinationWithNameAndIdL( const RMessage2& aMessage ); - void CloseDestination( const RMessage2& aMessage ); - void GetConnectionMehodCountL( const RMessage2& aMessage ); - void GetConnMethodPriorityL( const RMessage2& aMessage ); - void GetDestinationNameL( const RMessage2& aMessage ); - void GetDestinationIdL( const RMessage2& aMessage ); - void GetDestinationElementIdL( const RMessage2& aMessage ); - void GetDestinationMetadataL( const RMessage2& aMessage ); - void GetDestinationProtectionLevelL( const RMessage2& aMessage ); - void IsDestinationConnectedL( const RMessage2& aMessage ); - void IsDestinationHiddenL( const RMessage2& aMessage ); - void DestinationIsEqualL( const RMessage2& aMessage ); - void GetDestinationIconL( const RMessage2& aMessage ); - - void DestAddConnMethodL( const RMessage2& aMessage ); - void DestAddEmbeddedDestinationL( const RMessage2& aMessage ); - void DestDeleteConnMethodL( const RMessage2& aMessage ); - void DestRemoveConnMethodL( const RMessage2& aMessage ); - - void ModifyConnMethodPriorityL( const RMessage2& aMessage ); - void SetDestinationNameL( const RMessage2& aMessage ); - void SetDestinationMetadataL( const RMessage2& aMessage ); - void SetDestinationProtectionL( const RMessage2& aMessage ); - void SetDestinationHiddenL( const RMessage2& aMessage ); - void UpdateDestinationL( const RMessage2& aMessage ); - void DeleteDestinationL( const RMessage2& aMessage ); - void SetDestinationIconL( const RMessage2& aMessage ); - - void CreateConnMethodL( const RMessage2& aMessage ); - void UpdateConnMethodL( const RMessage2& aMessage ); - void CloseConnMethod( const RMessage2& aMessage ); - void DeleteConnMethodL( const RMessage2& aMessage ); - void GetConnMethodWithIdL( const RMessage2& aMessage ); - void RefreshConnMethodL( const RMessage2& aMessage ); - void GetIntAttributeL( const RMessage2& aMessage ); - void GetBoolAttributeL( const RMessage2& aMessage ); - void GetStringAttributeL( const RMessage2& aMessage ); - void GetString8AttributeL( const RMessage2& aMessage ); - void SetIntAttributeL( const RMessage2& aMessage ); - void SetBoolAttributeL( const RMessage2& aMessage ); - void SetStringAttributeL( const RMessage2& aMessage ); - void SetString8AttributeL( const RMessage2& aMessage ); - void CreateConnMethodWithIdL( const RMessage2& aMessage ); - void GetConnMethodFromDestWithIndexL( const RMessage2& aMessage ); - void GetConnMethodFromDestWithIdL( const RMessage2& aMessage ); - void CreateConnMethodToDestL( const RMessage2& aMessage ); - void CreateConnMethodToDestWithIdL( const RMessage2& aMessage ); - void CmIsEqualL( const RMessage2& aMessage ); - void CreateCopyOfExistingL( const RMessage2& aMessage ); - void GetEmbeddedDestinationL( const RMessage2& aMessage ); - - /** - * Check if CM is protected and if so then check the needed capabilities. - */ - void CheckCapabilitiesForProtectedCML( - const RMessage2& aMessage, - CCmmConnMethodInstance* aConnectionMethod ); - - /** - * Checks the disk space. - */ - TBool CheckSpaceBelowCriticalLevelL(); - -private: - RMessage2 iMessage; - - CCmmServer& iServer; - - // Object container for this session (our handles) - CObjectCon* iDestinationContainer; - - // Object index which stores objects for this session - CObjectIx* iDestinationObjects; - - // Object container for this session (our handles) - CObjectCon* iConnMethodContainer; - - // Object index which stores objects for this session - CObjectIx* iConnMethodObjects; - - CCmmCache& iCache; // Not owned - - // Tells if Fileserver handle is valid. - TBool iFsConnected; - - // File server handle. - RFs iFs; - }; - -#endif // CMMSESSION_H_ - -// End of file