15 * |
15 * |
16 */ |
16 */ |
17 |
17 |
18 #include <utf.h> |
18 #include <utf.h> |
19 |
19 |
20 #include "ipsplgmessagepartstoreroperation.h" |
|
21 #include "CFSMailPlugin.h" |
|
22 #include "emailtrace.h" |
20 #include "emailtrace.h" |
|
21 #include "ipsplgheaders.h" |
23 |
22 |
24 // --------------------------------------------------------------------------- |
23 // --------------------------------------------------------------------------- |
25 // --------------------------------------------------------------------------- |
24 // --------------------------------------------------------------------------- |
26 CIpsPlgMessagePartStorerOperation* CIpsPlgMessagePartStorerOperation::NewL( |
25 CIpsPlgMessagePartStorerOperation* CIpsPlgMessagePartStorerOperation::NewL( |
27 CMsvSession& aMsvSession, TRequestStatus& aObserverRequestStatus, |
26 CMsvSession& aMsvSession, TRequestStatus& aObserverRequestStatus, |
76 |
75 |
77 // --------------------------------------------------------------------------- |
76 // --------------------------------------------------------------------------- |
78 // --------------------------------------------------------------------------- |
77 // --------------------------------------------------------------------------- |
79 void CIpsPlgMessagePartStorerOperation::DoCancel() |
78 void CIpsPlgMessagePartStorerOperation::DoCancel() |
80 { |
79 { |
|
80 // <qmail> |
|
81 TRequestStatus* status = &iObserverRequestStatus; |
|
82 if ( status && status->Int() == KRequestPending ) |
|
83 { |
|
84 if (&iFSOperationObserver) |
|
85 { |
|
86 iFSProgress.iProgressStatus = TFSProgress::EFSStatus_RequestCancelled; |
|
87 iFSProgress.iError = KErrCancel; |
|
88 iFSProgress.iParam = NULL; |
|
89 |
|
90 TRAP_IGNORE( iFSOperationObserver.RequestResponseL( iFSProgress, iFSRequestId ) ); |
|
91 } |
|
92 User::RequestComplete( status, iStatus.Int() ); |
|
93 } |
|
94 // </qmail> |
81 FUNC_LOG; |
95 FUNC_LOG; |
82 } |
96 } |
83 |
97 |
84 // --------------------------------------------------------------------------- |
98 // --------------------------------------------------------------------------- |
85 // --------------------------------------------------------------------------- |
99 // --------------------------------------------------------------------------- |
86 const TDesC8& CIpsPlgMessagePartStorerOperation::ProgressL() |
100 const TDesC8& CIpsPlgMessagePartStorerOperation::ProgressL() |
87 { |
101 { |
88 FUNC_LOG; |
102 FUNC_LOG; |
89 return KNullDesC8; |
103 return KNullDesC8; |
90 } |
104 } |
|
105 |
|
106 // <qmail> |
|
107 // --------------------------------------------------------------------------- |
|
108 // --------------------------------------------------------------------------- |
|
109 // |
|
110 const TDesC8& CIpsPlgMessagePartStorerOperation::GetErrorProgressL( TInt /*aError*/ ) |
|
111 { |
|
112 FUNC_LOG; |
|
113 |
|
114 return KNullDesC8; // error progress info not supported |
|
115 } |
|
116 |
|
117 // --------------------------------------------------------------------------- |
|
118 // --------------------------------------------------------------------------- |
|
119 // |
|
120 TFSProgress CIpsPlgMessagePartStorerOperation::GetFSProgressL() const |
|
121 { |
|
122 FUNC_LOG; |
|
123 |
|
124 return iFSProgress; |
|
125 } |
|
126 |
|
127 // ---------------------------------------------------------------------------- |
|
128 // ---------------------------------------------------------------------------- |
|
129 TIpsOpType CIpsPlgMessagePartStorerOperation::IpsOpType() const |
|
130 { |
|
131 FUNC_LOG; |
|
132 return EIpsOpTypeMessagePartStorerOp; |
|
133 } |
|
134 // </qmail> |
91 |
135 |
92 // --------------------------------------------------------------------------- |
136 // --------------------------------------------------------------------------- |
93 // --------------------------------------------------------------------------- |
137 // --------------------------------------------------------------------------- |
94 CIpsPlgMessagePartStorerOperation::CIpsPlgMessagePartStorerOperation( |
138 CIpsPlgMessagePartStorerOperation::CIpsPlgMessagePartStorerOperation( |
95 CMsvSession& aMsvSession, TRequestStatus& aObserverRequestStatus, |
139 CMsvSession& aMsvSession, TRequestStatus& aObserverRequestStatus, |
96 CFSMailPlugin& aPlugin, |
140 CFSMailPlugin& aPlugin, |
97 RPointerArray<CFSMailMessagePart> &aMessageParts, |
141 RPointerArray<CFSMailMessagePart> &aMessageParts, |
98 MFSMailRequestObserver& aFSOperationObserver, const TInt aRequestId) : |
142 MFSMailRequestObserver& aFSOperationObserver, const TInt aRequestId) : |
99 CMsvOperation(aMsvSession, CActive::EPriorityStandard, |
143 CIpsPlgBaseOperation(aMsvSession, aObserverRequestStatus, aRequestId, TFSMailMsgId()), |
100 aObserverRequestStatus), iPlugin(aPlugin), iMessageParts( |
144 iPlugin(aPlugin), |
101 aMessageParts), iFSOperationObserver(aFSOperationObserver), |
145 iMessageParts(aMessageParts), |
102 iRequestId(aRequestId), iExecutionIndex(0), iDataBuffer(NULL) |
146 iFSOperationObserver(aFSOperationObserver), |
|
147 iExecutionIndex(0), |
|
148 iDataBuffer(NULL) |
103 { |
149 { |
104 FUNC_LOG; |
150 FUNC_LOG; |
105 } |
151 } |
106 |
152 |
107 // --------------------------------------------------------------------------- |
153 // --------------------------------------------------------------------------- |
131 |
177 |
132 if (!StoreNextPartL()) |
178 if (!StoreNextPartL()) |
133 { |
179 { |
134 if (&iFSOperationObserver) |
180 if (&iFSOperationObserver) |
135 { |
181 { |
136 TFSProgress prog = |
182 // <qmail> |
137 { |
183 iFSProgress.iProgressStatus = TFSProgress::EFSStatus_RequestComplete; |
138 TFSProgress::EFSStatus_RequestComplete, 0, 0, 0 |
184 iFSProgress.iError = KErrNone; |
139 }; |
185 iFSProgress.iParam = NULL; |
140 TRAP_IGNORE( iFSOperationObserver.RequestResponseL( prog, iRequestId ) ); |
186 |
|
187 TRAP_IGNORE( iFSOperationObserver.RequestResponseL( iFSProgress, iFSRequestId ) ); |
|
188 // </qmail> |
141 } |
189 } |
142 TRequestStatus* status = &iObserverRequestStatus; |
190 TRequestStatus* status = &iObserverRequestStatus; |
143 User::RequestComplete(status, KErrNone); |
191 User::RequestComplete(status, KErrNone); |
144 } |
192 } |
145 } |
193 } |