49 CHarvesterClientAO::~CHarvesterClientAO() // destruct |
49 CHarvesterClientAO::~CHarvesterClientAO() // destruct |
50 { |
50 { |
51 OstTrace0( TRACE_NORMAL, CHARVESTERCLIENTAO_CHARVESTERCLIENTAO, "CHarvesterClientAO::~CHarvesterClientAO" ); |
51 OstTrace0( TRACE_NORMAL, CHARVESTERCLIENTAO_CHARVESTERCLIENTAO, "CHarvesterClientAO::~CHarvesterClientAO" ); |
52 |
52 |
53 WRITELOG( "CHarvesterClientAO::~CHarvesterClientAO()" ); |
53 WRITELOG( "CHarvesterClientAO::~CHarvesterClientAO()" ); |
54 Cancel(); |
54 CancelRequest(); |
55 } |
55 } |
56 |
56 |
57 // --------------------------------------------------------------------------- |
57 // --------------------------------------------------------------------------- |
58 // CHarvesterClientAO |
58 // CHarvesterClientAO |
59 // First-phase C++ constructor |
59 // First-phase C++ constructor |
60 // --------------------------------------------------------------------------- |
60 // --------------------------------------------------------------------------- |
61 // |
61 // |
62 CHarvesterClientAO::CHarvesterClientAO( RHarvesterClient& aHarvesterClient ) |
62 CHarvesterClientAO::CHarvesterClientAO( RHarvesterClient& aHarvesterClient ) |
63 : CActive( CActive::EPriorityStandard ), |
63 : CActive( CActive::EPriorityUserInput ), |
64 iObserver( NULL ), |
64 iObserver( NULL ), |
65 iHarvesterClient( aHarvesterClient ) |
65 iHarvesterClient( aHarvesterClient ), |
|
66 iCancelled( EFalse ) |
66 { |
67 { |
67 OstTrace0( TRACE_NORMAL, DUP1_CHARVESTERCLIENTAO_CHARVESTERCLIENTAO, "CHarvesterClientAO::CHarvesterClientAO" ); |
68 OstTrace0( TRACE_NORMAL, DUP1_CHARVESTERCLIENTAO_CHARVESTERCLIENTAO, "CHarvesterClientAO::CHarvesterClientAO" ); |
68 |
69 |
69 WRITELOG( "CHarvesterClientAO::CHarvesterClientAO()" ); |
70 WRITELOG( "CHarvesterClientAO::CHarvesterClientAO()" ); |
70 } |
71 } |
98 // --------------------------------------------------------------------------- |
99 // --------------------------------------------------------------------------- |
99 // |
100 // |
100 void CHarvesterClientAO::RemoveObserver( MHarvestObserver* /*aObserver*/ ) |
101 void CHarvesterClientAO::RemoveObserver( MHarvestObserver* /*aObserver*/ ) |
101 { |
102 { |
102 WRITELOG( "CHarvesterClientAO::RemoveObserver()" ); |
103 WRITELOG( "CHarvesterClientAO::RemoveObserver()" ); |
|
104 OstTrace0( TRACE_NORMAL, CHARVESTERCLIENTAO_REMOVEOBSERVER, "CHarvesterClientAO::RemoveObserver" ); |
103 if ( iObserver ) |
105 if ( iObserver ) |
104 { |
106 { |
105 WRITELOG( "CHarvesterClientAO::RemoveObserver() - deleting observer" ); |
107 WRITELOG( "CHarvesterClientAO::RemoveObserver() - deleting observer" ); |
106 iObserver = NULL; |
108 iObserver = NULL; |
107 } |
109 } |
108 |
110 |
109 Cancel(); |
111 CancelRequest(); |
110 } |
112 } |
111 |
113 |
112 // --------------------------------------------------------------------------- |
114 // --------------------------------------------------------------------------- |
113 // DoCancel |
115 // DoCancel |
114 // --------------------------------------------------------------------------- |
116 // --------------------------------------------------------------------------- |
116 void CHarvesterClientAO::DoCancel() |
118 void CHarvesterClientAO::DoCancel() |
117 { |
119 { |
118 WRITELOG( "CHarvesterClientAO::DoCancel()" ); |
120 WRITELOG( "CHarvesterClientAO::DoCancel()" ); |
119 OstTrace0( TRACE_NORMAL, CHARVESTERCLIENTAO_DOCANCEL, "CHarvesterClientAO::DoCancel" ); |
121 OstTrace0( TRACE_NORMAL, CHARVESTERCLIENTAO_DOCANCEL, "CHarvesterClientAO::DoCancel" ); |
120 iHarvesterClient.UnregisterHarvestComplete(); |
122 iHarvesterClient.UnregisterHarvestComplete(); |
|
123 WRITELOG( "CHarvesterClientAO::DoCancel() - end" ); |
121 } |
124 } |
122 |
125 |
123 // --------------------------------------------------------------------------- |
126 // --------------------------------------------------------------------------- |
124 // Active |
127 // Active |
125 // --------------------------------------------------------------------------- |
128 // --------------------------------------------------------------------------- |
126 // |
129 // |
127 void CHarvesterClientAO::Active() |
130 void CHarvesterClientAO::Active() |
128 { |
131 { |
|
132 WRITELOG( "CHarvesterClientAO::Active" ); |
129 if ( iObserver && !IsActive()) |
133 if ( iObserver && !IsActive()) |
130 { |
134 { |
|
135 WRITELOG( "CHarvesterClientAO::Active - calling RegisterHarvestComplete" ); |
131 iHarvesterClient.RegisterHarvestComplete(iURI, iStatus); |
136 iHarvesterClient.RegisterHarvestComplete(iURI, iStatus); |
|
137 iCancelled = EFalse; |
132 SetActive(); |
138 SetActive(); |
133 } |
139 } |
134 } |
140 } |
135 |
141 |
136 // --------------------------------------------------------------------------- |
142 // --------------------------------------------------------------------------- |
155 WRITELOG( "CHarvesterClientAO::RunL() - ECompleteRequest - calling callback" ); |
161 WRITELOG( "CHarvesterClientAO::RunL() - ECompleteRequest - calling callback" ); |
156 iObserver->HarvestingComplete( iURI, status ); |
162 iObserver->HarvestingComplete( iURI, status ); |
157 } |
163 } |
158 |
164 |
159 // if the request was not canceled or server is not terminated, Activating AO again |
165 // if the request was not canceled or server is not terminated, Activating AO again |
160 if ( status != KErrCancel && status != KErrServerTerminated && iObserver ) |
166 if ( status != KErrCancel && status != KErrServerTerminated && iObserver && !iCancelled ) |
161 { |
167 { |
|
168 WRITELOG( "CHarvesterClientAO::RunL() - not cancelled or terminated, calling Active" ); |
162 Active(); |
169 Active(); |
163 } |
170 } |
|
171 WRITELOG( "CHarvesterClientAO::RunL() - end" ); |
164 } |
172 } |
165 |
173 |
166 // --------------------------------------------------------------------------- |
174 // --------------------------------------------------------------------------- |
167 // RunError |
175 // RunError |
168 // --------------------------------------------------------------------------- |
176 // --------------------------------------------------------------------------- |
175 { |
183 { |
176 WRITELOG1( "CHarvesterClientAO::RunError(), errorcode: %d", aError ); |
184 WRITELOG1( "CHarvesterClientAO::RunError(), errorcode: %d", aError ); |
177 |
185 |
178 return KErrNone; |
186 return KErrNone; |
179 } |
187 } |
|
188 |
|
189 // --------------------------------------------------------------------------- |
|
190 // Active |
|
191 // --------------------------------------------------------------------------- |
|
192 // |
|
193 void CHarvesterClientAO::CancelRequest() |
|
194 { |
|
195 WRITELOG( "CHarvesterClientAO::CancelRequest" ); |
|
196 if( !iCancelled ) |
|
197 { |
|
198 WRITELOG( "CHarvesterClientAO::CancelRequest - not cancelled, calling Cancel" ); |
|
199 iCancelled = ETrue; |
|
200 Cancel(); |
|
201 } |
|
202 if( !IsActive() ) |
|
203 { |
|
204 WRITELOG( "CHarvesterClientAO::CancelRequest - setting priority to High" ); |
|
205 SetPriority( CActive::EPriorityHigh ); |
|
206 } |
|
207 } |
|
208 |