camappengine/asynchfilesavequeue/src/asynchatom.cpp
changeset 15 50d5061ee01e
parent 14 34024902876b
child 17 880d946921e4
--- a/camappengine/asynchfilesavequeue/src/asynchatom.cpp	Fri Mar 19 09:33:47 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,718 +0,0 @@
-/*
-* Copyright (c) 2002-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:  Asynchronous FSQ Atom
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <asynchfsq.h>
-#include <sysutil.h> // for disk space query
-#include <bautils.h> // for deleting files
-#include "asynchatom.h"
-
-// CONSTANTS
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CAsynchFSQAtom::CAsynchFSQAtom
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CAsynchFSQAtom::CAsynchFSQAtom() : CActive( EPriorityNormal )
-    {
-    LOGTEXT( _L( "CAsynchFSQAtom::CAsynchFSQAtom() entering" ) );
-    }
-    
-// -----------------------------------------------------------------------------
-// CAsynchFSQAtom::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CAsynchFSQAtom::ConstructL( CAsynchFSQ* aOwner, 
-                                 TInt aPriority,
-                                 TFSQActionType aActionType,  
-                                 TDesC8& aData, 
-                                 const TDesC& aPath, 
-                                 const TDesC& aURL, 
-                                 TFSQSchemaType aSchema, 
-                                 const TDesC& aUserName, 
-                                 const TDesC& aPassword )
-    {
-    LOGTEXT( _L( "CAsynchFSQAtom::ConstructL() entering" ) );
-    iOwner = aOwner;
-    iState = EPending;
-    iDelayedFileName = NULL;
-    SetPriority(aPriority);
-    iSchema = aSchema;
-    
-    // prep to copy
-    iData = NULL;
-    iPath = NULL;
-    iURL = NULL;
-    iUserName = NULL;
-    iPassword = NULL;
-    
-    // copy
-    iActionType = aActionType;
-    
-    iData = &aData;  
-    if ( aPath != KNullDesC ) 
-        {
-        iPath = HBufC::NewL( aPath.Length() ); 
-        iPath->Des().Append( aPath ); 
-        }
-    if ( aURL != KNullDesC )
-        {
-        iURL = HBufC::NewL( aURL.Length() ); 
-        iURL->Des().Append( aURL ); 
-        }
-    if ( aUserName != KNullDesC )
-        {
-        iUserName = HBufC::NewL( aUserName.Length() ); 
-        iUserName->Des().Append( aUserName ); 
-        }
-    if ( aPassword != KNullDesC )
-        {
-        iPassword = HBufC::NewL( aPassword.Length() ); 
-        iPassword->Des().Append( aPassword ); 
-        }
-    
-    LOGTEXT( _L( "CAsynchFSQAtom::ConstructL() adding AO" ) );
-    CActiveScheduler::Add( this );
-    LOGTEXT( _L( "CAsynchFSQAtom::ConstructL() exiting" ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CAsynchFSQAtom::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CAsynchFSQAtom* CAsynchFSQAtom::NewL( CAsynchFSQ* aOwner, 
-                                      TInt aPriority,
-                                      TFSQActionType aActionType,  
-                                      TDesC8& aData, 
-                                      const TDesC& aPath, 
-                                      const TDesC& aURL, 
-                                      TFSQSchemaType aSchema, 
-                                      const TDesC& aUserName, 
-                                      const TDesC& aPassword )
-    {
-    LOGTEXT( _L( "CAsynchFSQAtom::NewL() entering" ) );
-    CAsynchFSQAtom* self = new( ELeave ) CAsynchFSQAtom();   
-    CleanupStack::PushL( self );
-    self->ConstructL(  aOwner, 
-                       aPriority,
-                       aActionType,  
-                       aData, 
-                       aPath, 
-                       aURL, 
-                       aSchema, 
-                       aUserName, 
-                       aPassword  );
-                       
-    CleanupStack::Pop();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CAsynchFSQAtom::~CAsynchFSQAtom   
-// Destructor for the atom class
-// -----------------------------------------------------------------------------
-//
-CAsynchFSQAtom::~CAsynchFSQAtom()
-    {
-    LOGTEXT( _L( "CAsynchFSQAtom::~CAsynchFSQAtom() entering" ) );
-    
-    LOGTEXT( _L( "CAsynchFSQAtom::~CAsynchFSQAtom() canceling" ) );
-    Cancel();
-    LOGTEXT( _L( "CAsynchFSQAtom::~CAsynchFSQAtom() canceled" ) );
-    
-    // Close file
-    iFile.Close(); 
-    
-    // Close file system
-    iFs.Close();
-    
-    // Free leftover data
-    if( iData )
-        {
-        LOGTEXT( _L( "CAsynchFSQAtom::~CAsynchFSQAtom() deleting iData" ) );
-        delete iData;
-        iData = NULL;
-        }
-
-    if( iPath )
-        {
-        LOGTEXT( _L( "CAsynchFSQAtom::~CAsynchFSQAtom() deleting iPath" ) );
-        delete iPath;
-        iPath = NULL;
-        }
-        
-    if( iURL )
-        {
-        LOGTEXT( _L( "CAsynchFSQAtom::~CAsynchFSQAtom() deleting iURL" ) );
-        delete iURL;
-        iURL = NULL;
-        }
-        
-    if( iUserName )
-        {
-        LOGTEXT( _L( "CAsynchFSQAtom::~CAsynchFSQAtom() deleting iUserName" ) );
-        delete iUserName;
-        iUserName = NULL;
-        }
-        
-    if( iPassword )
-        {
-        LOGTEXT( _L( "CAsynchFSQAtom::~CAsynchFSQAtom() deleting iPassword" ) );
-        delete iPassword;
-        iPassword = NULL;
-        }                
-        
-    if( iDelayedFileName )
-        {
-        LOGTEXT( _L( "CAsynchFSQAtom::~CAsynchFSQAtom() deleting iDelayedFileName" ) );
-        delete iDelayedFileName;
-        iPassword = NULL;
-        }      
-        
-    LOGTEXT( _L( "CAsynchFSQAtom::~CAsynchFSQAtom() exiting" ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CAsynchFSQAtom::Go
-// -----------------------------------------------------------------------------
-//
-TInt CAsynchFSQAtom::Go()
-    {
-    LOGTEXT( _L( "CAsynchFSQAtom::Go() entering" ) );
-    TInt err = KErrNone;
-    
-    if (( iState != EPending )||( IsActive() ))
-        {
-        err = KErrInUse;
-        }
-    else
-        {
-        // set new state
-        switch ( iActionType )
-	        {
-    	    case EFileSave:
-            case EFileSaveAndWebUpload:
-    	        {
-    	        LOGTEXT( _L( "CAsynchFSQAtom::Go() iState => ESaving" ) );
-    	        iState = ESaving;
-    	        break;	        
-    	        }
-    	    case EWebUpload:
-    	        {
-    	        LOGTEXT( _L( "CAsynchFSQAtom::Go() iState => EUploading" ) );
-    	        iState = EUploading;
-    	        break;	        
-    	        }
-    	    default:
-    	        {
-       	        LOGTEXT( _L( "CAsynchFSQAtom::Go() undefined activity requested" ) );
-                err = KErrNotSupported;
-    	        break;
-    	        }
-	        }	        
-    
-        // initiate AO activity
-        LOGTEXT( _L( "CAsynchFSQAtom::Go() setting active" ) );
-        SetActive();
-        TRequestStatus* statusPtr = &iStatus;
-        User::RequestComplete( statusPtr, KErrNone );
-        LOGTEXT( _L( "CAsynchFSQAtom::Go() request completed" ) );
-        }
-        
-    LOGTEXT( _L( "CAsynchFSQAtom::Go() returning" ) );
-    return err;
-    }
-    
-// -----------------------------------------------------------------------------
-// CAsynchFSQAtom::GetState
-// -----------------------------------------------------------------------------
-//
-TFSQAtomState CAsynchFSQAtom::GetState()
-    {
-    LOGTEXT( _L( "CAsynchFSQAtom::GetState() entering & returning" ) );
-    return iState;
-    }
-    
-// -----------------------------------------------------------------------------
-// CAsynchFSQAtom::DoesLocalSave
-// -----------------------------------------------------------------------------
-//
-TBool CAsynchFSQAtom::DoesLocalSave()
-    {
-    LOGTEXT( _L( "CAsynchFSQAtom::DoesLocalSave() entering" ) );
-    TBool ret = EFalse;
-    if (( iActionType == EFileSave )||( iActionType == EFileSaveAndWebUpload ))
-        {
-        ret = ETrue;
-        }
-    LOGTEXT2( _L( "CAsynchFSQAtom::DoesLocalSave() returning, ret=%d" ),ret );
-    return ret;
-    }
-    
-// -----------------------------------------------------------------------------
-// CAsynchFSQAtom::GetPath
-// -----------------------------------------------------------------------------
-//
-const TDesC& CAsynchFSQAtom::GetPath() const
-    {
-    LOGTEXT( _L( "CAsynchFSQAtom::GetPath() entering & returning" ) );
-    return *iPath;
-    }
-    
-// -----------------------------------------------------------------------------
-// CAsynchFSQAtom::DeleteLocal
-// -----------------------------------------------------------------------------
-//
-TInt CAsynchFSQAtom::DeleteLocal()
-    {
-    LOGTEXT( _L( "CAsynchFSQAtom::DeleteLocal() entering" ) );
-    TInt err = KErrNone;
-    
-    // delete or delayed delete
-    if (( iState == EPending ) || ( iState == ESaving )||( iState == ESavePending ))
-        {
-        LOGTEXT( _L( "CAsynchFSQAtom::DeleteLocal() delayed delete" ) );
-        // we are currently saving, so we have to delete later
-        iDelayedLocalDelete = ETrue;
-        }
-    else
-        {
-        LOGTEXT( _L( "CAsynchFSQAtom::DeleteLocal() deleting now" ) );
-        // delete now
-        err = KErrNotFound;
-        RFs fs;
-        TInt connectError = fs.Connect();
-        BaflUtils ba;
-        if( !connectError && ba.FileExists( fs, *iPath ) )
-            {
-            err = KErrNone;
-            ba.DeleteFile( fs, *iPath );
-            }
-        fs.Close();
-        }
-    
-    LOGTEXT2( _L( "CAsynchFSQAtom::DeleteLocal() returning, err=%d" ),err );
-    return err;
-    }
-    
-// -----------------------------------------------------------------------------
-// CAsynchFSQAtom::RenameLocal
-// -----------------------------------------------------------------------------
-//
-TInt CAsynchFSQAtom::RenameLocal( const TDesC& aNew )
-    {
-    LOGTEXT( _L( "CAsynchFSQAtom::RenameLocal() entering" ) );
-    TInt err = KErrNone;
-    
-    // delete or delayed delete
-    if (( iState == EPending ) || ( iState == ESaving )||( iState == ESavePending ))
-        {
-        LOGTEXT( _L( "CAsynchFSQAtom::RenameLocal() delayed rename" ) );
-        // we are currently saving, so we have to delete later
-        iDelayedLocalRename = ETrue;
-        TRAP( err,
-            iDelayedFileName = HBufC::NewL( aNew.Length() );
-            iDelayedFileName->Des().Append( aNew );
-            );
-        }
-    else
-        {
-        LOGTEXT( _L( "CAsynchFSQAtom::RenameLocal() renaming now" ) );
-        err = KErrNotFound;
-        RFs fs;
-        TInt connectError = fs.Connect();
-        BaflUtils ba;
-        if( !connectError && ba.FileExists( fs, *iPath ) )
-            {
-            err = KErrNone;
-            ba.RenameFile( fs, *iPath, aNew );
-            }
-        fs.Close();
-        }
-    
-    LOGTEXT2( _L( "CAsynchFSQAtom::RenameLocal() returning, err=%d" ),err );
-    return err;
-    }    
-    
-// -----------------------------------------------------------------------------
-// CAsynchFSQAtom::SaveL
-// -----------------------------------------------------------------------------
-//
-void CAsynchFSQAtom::SaveL()
-    {
-    LOGTEXT( _L( "CAsynchFSQAtom::SaveL() entering" ) );
-    iError = KErrNone;
-    
-    if ( iState != ESaving )
-        {
-        // the state machine is lost
-        LOGTEXT( _L( "CAsynchFSQAtom::SaveL() bad state, leaving..." ) );
-        User::Leave( KErrGeneral );
-        }
-
-    // Init
-    iError = iFs.Connect();
-    LOGTEXT2( _L( "CAsynchFSQAtom::SaveL() fsSession.Connect iError=%d" ),iError );
-    
-    // Get drive number
-    TInt drive = 0;
-    if( !iError )
-        {
-        iError = RFs::CharToDrive( iPath->Des()[0], drive );
-        LOGTEXT2( _L( "CAsynchFSQAtom::SaveL() CharToDrive iError=%d" ),iError );
-        }
-
-    // Check disk space
-    if ( !iError )
-        {
-        TBool fullDisk = EFalse;
-        TRAPD( utilErr,
-               fullDisk = SysUtil::DiskSpaceBelowCriticalLevelL( 
-                          &iFs, iData->Length(), drive ) );
-        if( utilErr )
-            {
-            LOGTEXT2( _L( "CAsynchFSQAtom::SaveL() SysUtil iError=%d" ),iError );
-            iError = utilErr;
-            }
-        else if( fullDisk )
-            {
-            iError = KErrDiskFull;
-            }
-        }
-   
-    // Attempt to create the file
-    if( !iError )
-        {    
-        if ( iOverwrite )
-            {
-            iError = iFile.Replace( iFs, iPath->Des(), EFileWrite );
-            LOGTEXT2( _L( "CAsynchFSQAtom::SaveL() file.Replace iError=%d" ),iError );
-            }
-        else
-            {
-            iError = iFile.Create( iFs, iPath->Des(), EFileWrite );
-            LOGTEXT2( _L( "CAsynchFSQAtom::SaveL() file.Open iError=%d" ),iError );
-            }
-        }
-        
-    // Write the file
-    if( !iError )
-        {
-        LOGTEXT( _L( "CAsynchFSQAtom::SaveL() about to write" ) );
-        SetActive();
-        iFile.Write( *iData, iStatus );
-        LOGTEXT( _L( "CAsynchFSQAtom::SaveL() write requested" ) );
-        }
-    
-    // Update state
-    LOGTEXT( _L( "CAsynchFSQAtom::SaveL() iState => ESavePending" ) );
-    iState = ESavePending;
-    
-    // leave if error
-    if ( iError )
-        {
-        LOGTEXT2( _L( "CAsynchFSQAtom::SaveL() Leaving with iError=%d" ),iError );
-        User::Leave( iError );
-        }
-    
-    LOGTEXT2( _L( "CAsynchFSQAtom::SaveL() exiting, iError=%d" ), iError );
-    }
-    
-// -----------------------------------------------------------------------------
-// CAsynchFSQAtom::SaveCleanupL
-// -----------------------------------------------------------------------------
-//
-void CAsynchFSQAtom::SaveCleanupL()
-    {
-    LOGTEXT( _L( "CAsynchFSQAtom::SaveCleanupL() entering" ) );
-        
-    if ( iState != ESavePending )
-        {
-        // the state machine is lost
-        LOGTEXT( _L( "CAsynchFSQAtom::SaveCleanupL() bad state, leaving..." ) );
-        User::Leave( KErrGeneral );
-        }
-        
-    // Flush file.
-    if( !iError )
-        {
-        LOGTEXT( _L( "CAsynchFSQAtom::SaveCleanupL() flushing" ) );
-        iError = iFile.Flush();
-        LOGTEXT( _L( "CAsynchFSQAtom::SaveCleanupL() flushed" ) );
-        }
-        
-    // Close file
-    iFile.Close(); 
-        
-    // Delayed rename, if needed
-    if (( !iError ) && ( iDelayedLocalRename ))
-        {
-        LOGTEXT( _L( "CAsynchFSQAtom::SaveCleanupL() doing delayed rename" ) );
-        BaflUtils ba;
-        if( ba.FileExists( iFs, *iPath ) )
-            {
-            iError = KErrNone;
-            TPtrC newPath = *iDelayedFileName;
-            ba.RenameFile( iFs, *iPath, newPath );
-            }
-        iDelayedLocalRename = EFalse;
-        }
-        
-    // Delayed delete, if needed
-    if (( !iError ) && ( iDelayedLocalDelete ))
-        {
-        LOGTEXT( _L( "CAsynchFSQAtom::SaveCleanupL() doing delayed delete" ) );
-        iError = KErrNotFound;
-        BaflUtils ba;
-        if( ba.FileExists( iFs, *iPath ) )
-            {
-            iError = KErrNone;
-            ba.DeleteFile( iFs, *iPath );
-            }
-        iDelayedLocalDelete = EFalse;
-        LOGTEXT2( _L( "CAsynchFSQAtom::SaveCleanupL() delete done, iError=%d" ), iError );
-        }
-        
-    // Close file system
-    iFs.Close();
-        
-    // Update state
-    switch ( iActionType )
-	    {
-	    case EFileSave:
-	        {
-            LOGTEXT( _L( "CAsynchFSQAtom::SaveCleanupL() iState => EComplete" ) );
-            iState = EComplete;            
-	        break;	        
-	        }
-	    case EFileSaveAndWebUpload:
-	        {
-            LOGTEXT( _L( "CAsynchFSQAtom::SaveCleanupL() iState => EUploading" ) );
-            iState = EUploading;            
-            
-            // re-initiate AO activity
-            LOGTEXT( _L( "CAsynchFSQAtom::SaveCleanupL() setting active" ) );
-            SetActive();
-            TRequestStatus* statusPtr = &iStatus;
-            User::RequestComplete( statusPtr, KErrNone );
-            LOGTEXT( _L( "CAsynchFSQAtom::SaveCleanupL() request completed" ) );
-	        break;	        
-	        }     	        
-	    default:
-	        {
-	        // the state machine is lost
-	        LOGTEXT( _L( "CAsynchFSQAtom::SaveCleanupL() bad action, leaving" ) );
-	        User::Leave( KErrGeneral );
-	        break;        
-	        }	        
-	    }	
-    
-    // report completion
-    LOGTEXT2( _L( "CAsynchFSQAtom::SaveCleanupL() notifying, iError=%d" ), iError );
-    iOwner->Notify( iError );
-        
-    LOGTEXT( _L( "CAsynchFSQAtom::SaveCleanupL() exiting" ));
-    }    
-    
-// -----------------------------------------------------------------------------
-// CAsynchFSQAtom::UploadL
-// -----------------------------------------------------------------------------
-//
-void CAsynchFSQAtom::UploadL()
-    {
-    LOGTEXT( _L( "CAsynchFSQAtom::UploadL() entering" ) );
-    iError = KErrNone;
-        
-    if ( iState != EUploading )
-        {
-        // the state machine is lost
-        LOGTEXT( _L( "CAsynchFSQAtom::UploadL() bad state, leaving..." ) );
-        User::Leave( KErrGeneral );
-        }
-    
-    // This activity is not yet supported, so just feign completion
-    LOGTEXT( _L( "CAsynchFSQAtom::UploadL() iState => EComplete" ) );
-    iState = EUploadPending;
-    
-    // re-initiate AO activity
-    LOGTEXT( _L( "CAsynchFSQAtom::UploadL() setting active" ) );
-    SetActive();
-    TRequestStatus* statusPtr = &iStatus;
-    User::RequestComplete( statusPtr, KErrNone );
-    LOGTEXT( _L( "CAsynchFSQAtom::UploadL() request completed" ) );
-    
-    LOGTEXT( _L( "CAsynchFSQAtom::UploadL() exiting" ) );
-    }
-    
-// -----------------------------------------------------------------------------
-// CAsynchFSQAtom::UploadCleanup
-// -----------------------------------------------------------------------------
-//
-void CAsynchFSQAtom::UploadCleanupL()
-    {
-    LOGTEXT( _L( "CAsynchFSQAtom::UploadCleanupL() entering" ) );
-    
-    if ( iState != ESaving )
-        {
-        // the state machine is lost
-        LOGTEXT( _L( "CAsynchFSQAtom::UploadCleanupL() bad state, leaving..." ) );
-        User::Leave( KErrGeneral );
-        }
-    
-    // This activity is not yet supported, so just feign completion
-    LOGTEXT( _L( "CAsynchFSQAtom::UploadCleanupL() iState => EComplete" ) );
-    iState = EComplete;
-    
-    // report completion
-    LOGTEXT2( _L( "CAsynchFSQAtom::UploadCleanupL() notifying, iError=%d" ), iError );
-    iOwner->Notify( iError );
-    
-    LOGTEXT( _L( "CAsynchFSQAtom::UploadCleanupL() exiting" ) );
-    }
-    
-// -----------------------------------------------------------------------------
-// CAsynchFSQAtom::ActionsLeft
-// -----------------------------------------------------------------------------
-//
-TInt CAsynchFSQAtom::ActionsLeft()
-    {
-    TInt actionsLeft = 0;
-    
-    // logically, this section is liable to change if more
-    // action types are added to the class
-    switch ( iState )
-	    {
-	    case EPending:
-	        {
-	        if ( iActionType == EFileSaveAndWebUpload )
-	            {
-	            actionsLeft = 2;
-	            }
-	        else
-	            {
-	            actionsLeft = 1;
-	            }
-	        break;
-	        }
-	    case ESaving:
-	    case ESavePending:
-	        {
-	        if ( iActionType == EFileSave )
-	            {
-	            actionsLeft = 1;
-	            }
-	        else
-	            {
-	            actionsLeft = 2;
-	            }
-	        break;	        
-	        }
-	    case EUploading:
-	    case EUploadPending:
-	        {
-	        actionsLeft = 1;
-	        break;
-	        }	        	        
-	    case EComplete:
-	        {
-	        actionsLeft = 0;
-	        break;
-	        }	        	        
-	    }	
-    
-    LOGTEXT2( _L( "CAsynchFSQAtom::ActionsLeft() returning, actionsLeft=%d" ), actionsLeft );
-    return actionsLeft;
-    }
-
-    
-// -----------------------------------------------------------------------------
-// CAsynchFSQAtom::RunL
-// -----------------------------------------------------------------------------
-//
-void CAsynchFSQAtom::RunL()
-    {
-    LOGTEXT( _L( "CAsynchFSQAtom::RunL() entering" ) );
-
-    switch ( iState )
-	    {
-	    case ESaving:
-	        {
-	        SaveL();
-	        break;	        
-	        }
-	    case ESavePending:
-	        {
-	        SaveCleanupL();
-	        break;	        
-	        }
-	    case EUploading:
-	        {
-	        UploadL();
-	        break;	        
-	        }	        	        
-	    case EUploadPending:
-	        {
-	        UploadCleanupL();
-	        break;
-	        }	        	        
-	    default:
-	        {
-	        // the state machine is lost
-	        LOGTEXT( _L( "CAsynchFSQAtom::RunL() bad state, leaving..." ) );
-	        User::Leave( KErrGeneral );
-	        break;        
-	        }	        
-	    }	
-
-    LOGTEXT( _L( "CAsynchFSQAtom::RunL() exiting" ) );
-    }
-    
-// -----------------------------------------------------------------------------
-// CAsynchFSQAtom::RunError
-// -----------------------------------------------------------------------------
-//
-TInt CAsynchFSQAtom::RunError( TInt aError )
-    {
-    LOGTEXT2( _L( "CAsynchFSQAtom::RunError() entering, aError=%d" ), aError );
-    // notify and wait for teardown
-    iState = EComplete;
-    iOwner->Notify( aError );
-    LOGTEXT( _L( "CAsynchFSQAtom::RunError() returning" ) );
-    return KErrNone;
-    }
-    
-// -----------------------------------------------------------------------------
-// CAsynchFSQAtom::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CAsynchFSQAtom::DoCancel()
-    {
-    LOGTEXT( _L( "CAsynchFSQAtom::DoCancel() entering" ) );
-
-    LOGTEXT( _L( "CAsynchFSQAtom::DoCancel() exit" ) );
-    }
-    
-
-//  End of File