devicediagnosticsfw/diagresultsdb/server/inc/diagresultsdbsession.h
changeset 32 5d0ec111abfc
parent 27 2c8580950a26
child 35 0deca9b72b62
--- a/devicediagnosticsfw/diagresultsdb/server/inc/diagresultsdbsession.h	Fri May 14 16:42:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,273 +0,0 @@
-/*
-* Copyright (c) 2007-2007 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:  Symbian OS server session.
-*  libraries   : 
-*
-*/
-
-
-#ifndef DIAGRESULTSDBSESSION_H
-#define DIAGRESULTSDBSESSION_H
-
-class CDiagResultsDbServer;
-class CDiagResultsDbTestRecord;
-
-#include "diagresultsdbstore.h"
-
-//System includes
-#include <e32cmn.h> //TUid
-#include <e32base.h>
-
-/**
-* Server session. Represents a session (version 2) 
-* for a client thread on the server-side.
-*
-* @since S60 v5.0
-**/
-class CDiagResultsDbSession : 
-                        public CSession2, 
-                        public MRecordLoadingObserver
-	{
-public:
-
-    /**
-    * Destructor.
-    **/
-	~CDiagResultsDbSession();
-		
-	/**
-	* NewL. 
-	*
-	* @param aServer Server object.
-	* @return DB session.
-	**/	
-	static CDiagResultsDbSession* NewL(CDiagResultsDbServer * aServer);
-	
-public: // From CSession
-    
-    /**
-    * Handles the servicing of a client request that has been 
-    * passed to the server.
-    *
-    * @param aMessage The message containing the details of the client request.
-    **/
-	void ServiceL(const RMessage2 &aMessage);
-
-public: // New methods
-
-    /**
-    * Handle the client message.
-    *
-    * @param aMessage Details of the client request.
-    * @return ETrue if client request is asynchronous, EFalse is synchronous.
-    **/
-	TBool DispatchMessageL(const RMessage2 &aMessage);
-	
-	/**
-	* Create a new subsession.
-	*
-	* @param aTestRecord Test record that represents the subsession.
-	**/
-	void CreateSubsessionL(CDiagResultsDbTestRecordHandle* aTestRecordHandle,
-	                       TBool aReadonly );
-	
-	/**
-	* Close the subsession.
-	**/
-	void CloseSubsessionL();
-   
-    /**
-    * Returns the Uid of the results database file.
-    *
-    * @return TUid of the database file.
-    **/
-    TUid DbUid() const;
-    
-    /**
-    * Returns the results store.
-    *
-    * @return Results store.
-    **/
-    CDiagResultsDbStore& Store();
-    
-    /**
-    * Helper function to read buffer from client side.
-    *
-    * @param aMessage Details of the client request.
-    * @param aParam Message argument number.
-    * @param aBuffer Buffer that is filled with client side data.
-    **/
-    void ReadBufferL(const RMessage2& aMessage, TInt aParam, 
-                     CBufFlat*& aBuffer);
-    
-    /**
-    * Subsession must tell to the session has it written data.
-    **/
-    void HasWritten();
-            
-    /**
-    * Indicates has the session wrote any data.
-    * @return ETrue if session has wrote data, EFalse otherwise.
-    **/
-    TBool SessionHasWritten() const;    
-    
-    /**
-    * Turn off compacting. For example KErrDiskFull causes compacting to fail.
-    **/
-    void DoNotCompact();   
-    
-    
-public: //From MRecordLoadingObserver
-    
-    /**
-    * Returns an array of test records. Contains all test records 
-    * from a single database file.
-    *
-    * @param aError Indicates if there were any errors.
-    * @param aArray An array of test records. Ownership is transferred.
-    **/
-    void ExistingRecordsL( TInt aError, 
-                           RPointerArray<CDiagResultsDbTestRecord>* aArray );
-    
-protected: // service functions for client requests    
-           // Look at DiagResultsDatabaseCommon.h for the client requests.
-
-    void ConnectSubsessionL( const RMessage2 &aMessage );
-     
-    void CreateNewRecordL ( const RMessage2 &aMessage );
-    
-    void GetLastRecordL( const RMessage2 &aMessage );
-    
-    void GetLastNotCompletedRecordL( const RMessage2 &aMessage );
-    
-    void GetRecordListL( const RMessage2 &aMessage );
-    
-    void GetRecordInfoListL( const RMessage2 &aMessage );
-    
-    void GetLastResultsL( const RMessage2 &aMessage );
-    
-    void CancelLastResultsL(const RMessage2 &aMessage);
-    
-    void GetSingleLastResultL( const RMessage2 &aMessage );
-    
-private:
-
-    /**
-	* Constructor.
-	*
-	* @param aServer Server object.
-	**/
-	CDiagResultsDbSession(CDiagResultsDbServer * aServer);
-
-    /**
-    * ConstructL.
-    **/
-	void ConstructL();
-	
-	/**
-	* Find database item from the array based on uid.
-	*
-	* @param aUid Uid of the database item.
-	* @param aArray Pointer array that contains test records.
-	* @return Database item or NULL if not found.
-	**/
-	CDiagResultsDatabaseItem* FindDatabaseItemL( 
-	                        TUid aUid, 
-	                        RPointerArray<CDiagResultsDbTestRecord>* aArray );
-	
-    /**
-	* Search for the newest test results.
-	*
-	* @param aUidArray Contains the uids to be searched.
-	* @param aTestRecordArray Contains all test records.
-	* @param aResultsArray Contains the found results or NULL if the test 
-	*                      result was not found.	
-	**/                        
-    void SearchLastResultsL( 
-                         const CArrayFixFlat<TUid>& aUidArray, 
-                         RPointerArray<CDiagResultsDbTestRecord>& aTestRecordArray, 
-                         RPointerArray<CDiagResultsDatabaseItem>& aResultsArray );
-        
-    /**
-    * Reads uids that are searched from the buffer and creates the test result array.
-    *
-    * @param aArray Contains all test records.
-    **/                         
-    void FindLastResultsL( RPointerArray<CDiagResultsDbTestRecord>& aArray );     
-    
-    /**
-    * Read last results buffer if there would be any additional test results.
-    *
-    * @param aUidArray Test results to be searched.
-    * @param aResultsArray results array. Found test results are appended into this.
-    **/
-    void CheckLastResultsBufferL( 
-                         const CArrayFixFlat<TUid>& aUidArray,                           
-                         RPointerArray<CDiagResultsDatabaseItem>& aResultsArray );
-    
-    /**
-    * Read last results buffer if there would be any additional test results.
-    *
-    * @param aTestUid UID to be searched from the last buffer.
-    * @param aResult Returns the last result if found. Otherwise NULL.
-    **/
-    void CheckLastResultsBufferL(
-                         TUid aTestUid,                           
-                         CDiagResultsDatabaseItem*& aResult );
-                        	                        
-	
-private: // Data
-
-    // Server pointer.
-	CDiagResultsDbServer *iServer;
-	
-	// Counts subsession.
-	CObjectCon* iSubsessionContainer;
-	
-	// Index to the container.
-	CObjectIx* iSubsessionIndex; 
-	
-	// Client request details.
-	RMessage2 iMsg;
-	
-	//Indicates are we handling InitiateGetLastResults or InitiateGetLastResult
-	TInt iLastResultCommand;
-	
-	// This is needed when InitiateGetLastResults is called.
-	RMessage2 iLastResultsMsg;
-	
-    // This is needed when InitiateGetLastResult is called.
-	RMessage2 iLastSingleResultsMsg;
-    
-    // Database uid. 
-    TUid iDbUid; 
-    
-    // Contains the permanent file store.
-    CDiagResultsDbStore* iStore;
-    
-    // GetLastResultsL operation needs this.
-    RPointerArray<CDiagResultsDatabaseItem>* iBufferedLastResults;
-    
-    // Contains buffered test result.
-    // 
-    CDiagResultsDatabaseItem* iBufferedSingleResult;
-    
-    // Indicates has this session wrote any data.
-    TBool iHasWrittenData;
-    
-    // Dynamic flat buffer for transmitting data across IPC.
-    CBufFlat* iBuffer;
-	};
-
-#endif // DIAGRESULTSDBSESSION_H