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 |