connectivitymodules/SeCon/services/pcd/src/sconbackuprestore.cpp
changeset 40 b63e67867dcd
parent 19 2691f6aa1921
equal deleted inserted replaced
39:9905f7d46607 40:b63e67867dcd
     1 /*
     1 /*
     2 * Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies).
     2 * Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
    34 //                                          cost TInt& aMaxObjectSize )
    34 //                                          cost TInt& aMaxObjectSize )
    35 // Two-phase constructor
    35 // Two-phase constructor
    36 // -----------------------------------------------------------------------------
    36 // -----------------------------------------------------------------------------
    37 //
    37 //
    38 CSConBackupRestore* CSConBackupRestore::NewL( CSConBackupRestoreQueue* aQueue,
    38 CSConBackupRestore* CSConBackupRestore::NewL( CSConBackupRestoreQueue* aQueue,
    39                                             const TInt aMaxObjectSize, RFs& aFs )
    39                                               RFs& aFs )
    40     {
    40     {
    41     TRACE_FUNC_ENTRY;
       
    42     CSConBackupRestore* self = new (ELeave) CSConBackupRestore( aQueue, aFs );
    41     CSConBackupRestore* self = new (ELeave) CSConBackupRestore( aQueue, aFs );
    43     CleanupStack::PushL( self );
    42     CleanupStack::PushL( self );
    44     self->ConstructL( aMaxObjectSize );
    43     self->ConstructL();
    45     CleanupStack::Pop( self );
    44     CleanupStack::Pop( self );
    46     TRACE_FUNC_EXIT;
       
    47     return self;
    45     return self;
    48     }
    46     }
    49 
    47 
    50 // -----------------------------------------------------------------------------
    48 // -----------------------------------------------------------------------------
    51 // CSConBackupRestore::CSConBackupRestore( CSConBackupRestoreQueue* aQueue )
    49 // CSConBackupRestore::CSConBackupRestore( CSConBackupRestoreQueue* aQueue )
    53 // -----------------------------------------------------------------------------
    51 // -----------------------------------------------------------------------------
    54 //
    52 //
    55 CSConBackupRestore::CSConBackupRestore( CSConBackupRestoreQueue* aQueue, RFs& aFs ) : 
    53 CSConBackupRestore::CSConBackupRestore( CSConBackupRestoreQueue* aQueue, RFs& aFs ) : 
    56             CActive( EPriorityStandard ), iQueue( aQueue ), iFs( aFs )
    54             CActive( EPriorityStandard ), iQueue( aQueue ), iFs( aFs )
    57     {
    55     {
       
    56     CActiveScheduler::Add( this );
    58     }
    57     }
    59     
    58     
    60 // -----------------------------------------------------------------------------
    59 // -----------------------------------------------------------------------------
    61 // CSConBackupRestore::ConstructL( const TInt aMaxObjectSize )
    60 // CSConBackupRestore::ConstructL( const TInt aMaxObjectSize )
    62 // Initializes member data
    61 // Initializes member data
    63 // -----------------------------------------------------------------------------
    62 // -----------------------------------------------------------------------------
    64 //
    63 //
    65 void CSConBackupRestore::ConstructL( const TInt aMaxObjectSize )
    64 void CSConBackupRestore::ConstructL()
    66     {
    65     {
    67     iMaxObjectSize = aMaxObjectSize;
    66     iSBEClient = CSConSBEClient::NewL( iFs );
    68     iSBEClient = CSConSBEClient::NewL( aMaxObjectSize, iFs );
       
    69     CActiveScheduler::Add( iSBEClient );
       
    70     }   
    67     }   
    71     
    68     
    72 // -----------------------------------------------------------------------------
    69 // -----------------------------------------------------------------------------
    73 // CSConBackupRestore::~CSConBackupRestore()
    70 // CSConBackupRestore::~CSConBackupRestore()
    74 // Destructor
    71 // Destructor
    75 // -----------------------------------------------------------------------------
    72 // -----------------------------------------------------------------------------
    76 //
    73 //
    77 CSConBackupRestore::~CSConBackupRestore()
    74 CSConBackupRestore::~CSConBackupRestore()
    78     {
    75     {
    79     TRACE_FUNC_ENTRY;
       
    80     if( iSBEClient )
    76     if( iSBEClient )
    81         {
    77         {
    82         if( iSBEClient->IsActive() )
    78         iSBEClient->Cancel();
    83             {
       
    84             iSBEClient->Cancel();
       
    85             }
       
    86         
       
    87         delete iSBEClient;
    79         delete iSBEClient;
    88         iSBEClient = NULL;
    80         iSBEClient = NULL;
    89         }
    81         }
    90     TRACE_FUNC_EXIT;
       
    91     }
    82     }
    92     
    83     
    93 // -----------------------------------------------------------------------------
    84 // -----------------------------------------------------------------------------
    94 // CSConBackupRestore::StartBackupRestore( TInt aTaskId )
    85 // CSConBackupRestore::StartBackupRestore( TInt aTaskId )
    95 // Starts backup-restore task
    86 // Starts backup-restore task
   164 void CSConBackupRestore::Reset()
   155 void CSConBackupRestore::Reset()
   165     {
   156     {
   166     TRACE_FUNC_ENTRY;
   157     TRACE_FUNC_ENTRY;
   167     if( iSBEClient )
   158     if( iSBEClient )
   168         {
   159         {
   169         if( iSBEClient->IsActive() )
   160         iSBEClient->Cancel();
   170             {
       
   171             iSBEClient->Cancel();
       
   172             }
       
   173         
       
   174         delete iSBEClient;
   161         delete iSBEClient;
   175         iSBEClient = NULL;
   162         iSBEClient = NULL;
   176         }
   163         }
   177         
   164         
   178     TRAPD( err, iSBEClient = CSConSBEClient::NewL( iMaxObjectSize, iFs ) );
   165     TRAP_IGNORE( iSBEClient = CSConSBEClient::NewL( iFs ) );
   179     
       
   180     if( err == KErrNone )
       
   181         {
       
   182         CActiveScheduler::Add( iSBEClient );
       
   183         }
       
   184     
   166     
   185     iBackupRestoreActive = EFalse;
   167     iBackupRestoreActive = EFalse;
   186     TRACE_FUNC_EXIT;
   168     TRACE_FUNC_EXIT;
   187     }
   169     }
   188 
   170 
   210 // Implementation of CActive::RunL()
   192 // Implementation of CActive::RunL()
   211 // -----------------------------------------------------------------------------
   193 // -----------------------------------------------------------------------------
   212 //          
   194 //          
   213 void CSConBackupRestore::RunL()
   195 void CSConBackupRestore::RunL()
   214     {
   196     {
   215     TRACE_FUNC_ENTRY;
   197     TRACE_FUNC;
   216     
       
   217     iQueue->CompleteTask( iCurrentTask, iStatus.Int() );
   198     iQueue->CompleteTask( iCurrentTask, iStatus.Int() );
   218     iBackupRestoreActive = EFalse;
   199     iBackupRestoreActive = EFalse;
   219     TRACE_FUNC_EXIT;
       
   220     }
   200     }
   221     
   201     
   222 // End of file
   202 // End of file