31 CHarvesterRequestActive::~CHarvesterRequestActive() |
30 CHarvesterRequestActive::~CHarvesterRequestActive() |
32 { |
31 { |
33 if( IsActive() ) |
32 if( IsActive() ) |
34 { |
33 { |
35 Cancel(); |
34 Cancel(); |
36 iRequestCompleted = ETrue; |
|
37 } |
35 } |
38 |
36 |
|
37 iRequestCompleted = ETrue; |
39 delete iAlbumIds; |
38 delete iAlbumIds; |
40 iAlbumIds = NULL; |
39 iAlbumIds = NULL; |
41 } |
40 } |
42 |
41 |
43 // --------------------------------------------------------------------------- |
42 // --------------------------------------------------------------------------- |
44 // CHarvesterRequestActive::NewL |
43 // CHarvesterRequestActive::NewL |
45 // Two-phased constructor. |
44 // Two-phased constructor. |
46 // --------------------------------------------------------------------------- |
45 // --------------------------------------------------------------------------- |
47 // |
46 // |
48 CHarvesterRequestActive* CHarvesterRequestActive::NewL( |
47 CHarvesterRequestActive* CHarvesterRequestActive::NewL( |
49 RHarvesterClient& aClient, |
48 RHarvesterClient& aClient, MHarvestObserver* aObserver, |
50 TInt aService, const TDesC& aUri, |
49 TInt aService, const TDesC& aUri, |
51 HBufC8* aAlbumIds, TBool aAddLocation, |
50 HBufC8* aAlbumIds, TBool aAddLocation, |
52 CHarvesterRequestQueue* aQueue ) |
51 CHarvesterRequestQueue* aQueue ) |
53 { |
52 { |
54 CHarvesterRequestActive* self = new( ELeave )CHarvesterRequestActive( aClient, |
53 CHarvesterRequestActive* self = new( ELeave )CHarvesterRequestActive( aClient, aObserver, |
55 aService, aUri, aAlbumIds, aAddLocation, aQueue ); |
54 aService, aUri, aAlbumIds, aAddLocation, aQueue ); |
56 return self; |
55 return self; |
57 } |
56 } |
58 |
57 |
59 // --------------------------------------------------------------------------- |
58 // --------------------------------------------------------------------------- |
60 // CHarvesterRequestActive::CHarvesterRequestActive() |
59 // CHarvesterRequestActive::CHarvesterRequestActive() |
61 // C++ default constructor can NOT contain any code, that might leave. |
60 // C++ default constructor can NOT contain any code, that might leave. |
62 // --------------------------------------------------------------------------- |
61 // --------------------------------------------------------------------------- |
63 // |
62 // |
64 CHarvesterRequestActive::CHarvesterRequestActive( RHarvesterClient& aClient, |
63 CHarvesterRequestActive::CHarvesterRequestActive( RHarvesterClient& aClient, |
65 TInt aService, const TDesC& aUri, |
64 MHarvestObserver* aObserver, TInt aService, const TDesC& aUri, |
66 HBufC8* aAlbumIds, TBool aAddLocation, CHarvesterRequestQueue* aQueue ) |
65 HBufC8* aAlbumIds, TBool aAddLocation, CHarvesterRequestQueue* aQueue ) |
67 : CActive( CActive::EPriorityStandard ), iClient( aClient ), |
66 : CActive( CActive::EPriorityStandard ), iClient( aClient ), iObserver( aObserver ), |
68 iService( aService ), iUri( aUri ), iAlbumIds( aAlbumIds ), iAddLocation( aAddLocation ), |
67 iService( aService ), iUri( aUri ), iAlbumIds( aAlbumIds ), iAddLocation( aAddLocation ), |
69 iRequestQueue( aQueue ), iLocation( EFalse ), iCancelled( EFalse ) |
68 iRequestQueue( aQueue ), iLocation( EFalse ), iCancelled( EFalse ) |
70 { |
69 { |
71 CActiveScheduler::Add( this ); |
70 CActiveScheduler::Add( this ); |
72 } |
71 } |
120 TIpcArgs ipcArgs( &iUri, iAlbumIds, &iLocation ); |
135 TIpcArgs ipcArgs( &iUri, iAlbumIds, &iLocation ); |
121 iPersistentArgs = ipcArgs; |
136 iPersistentArgs = ipcArgs; |
122 |
137 |
123 if( !iCancelled ) |
138 if( !iCancelled ) |
124 { |
139 { |
125 iClient.HarvestFile( iService, iPersistentArgs, iStatus, iUri ); |
140 iClient.HarvestFile( iService, iPersistentArgs, iStatus ); |
126 SetActive(); |
141 SetActive(); |
127 } |
142 } |
128 } |
143 } |
129 |
144 |
130 // --------------------------------------------------------------------------- |
145 // --------------------------------------------------------------------------- |
131 // CHarvesterRequestActive::ForceHarvest() |
146 // CHarvesterRequestActive::ForceHarvest() |
132 // --------------------------------------------------------------------------- |
147 // --------------------------------------------------------------------------- |
133 // |
148 // |
134 void CHarvesterRequestActive::ForceHarvest() |
149 void CHarvesterRequestActive::ForceHarvest() |
135 { |
150 { |
136 WRITELOG( "CHarvesterRequestActive::ForceHarvest()"); |
151 iObserver = NULL; |
137 |
152 |
138 TPckg<TBool> location( iAddLocation ); |
153 TPckg<TBool> location( iAddLocation ); |
139 iLocation.Set( location ); |
154 iLocation.Set( location ); |
140 |
155 |
141 TIpcArgs ipcArgs( &iUri, iAlbumIds, &iLocation ); |
156 TIpcArgs ipcArgs( &iUri, iAlbumIds, &iLocation ); |