83 NM_FUNCTION; |
82 NM_FUNCTION; |
84 |
83 |
85 mRequestId = NmNotFoundError; |
84 mRequestId = NmNotFoundError; |
86 } |
85 } |
87 |
86 |
88 /*! |
|
89 |
|
90 */ |
|
91 void NmFwaRemoveDraftMessageOperation::doCancelOperation() |
|
92 { |
|
93 NM_FUNCTION; |
|
94 |
|
95 // remove draft operation is not cancellable |
|
96 } |
|
97 |
|
98 /*! |
87 /*! |
99 Asynchronous request response message. |
88 Asynchronous request response message. |
100 |
89 |
101 \param aEvent Plugin event description. |
90 \param aEvent Plugin event description. |
102 \param aRequestId Request id of asyncronous operation. |
91 \param aRequestId Request id of asyncronous operation. |
123 */ |
112 */ |
124 void NmFwaRemoveDraftMessageOperation::removeMessageL() |
113 void NmFwaRemoveDraftMessageOperation::removeMessageL() |
125 { |
114 { |
126 NM_FUNCTION; |
115 NM_FUNCTION; |
127 |
116 |
128 TFSMailMsgId mailboxId( mMessage->envelope().mailboxId() ); |
117 TFSMailMsgId mailboxId(mMessage->envelope().mailboxId()); |
129 TFSMailMsgId folderId( mMessage->envelope().folderId() ); |
118 TFSMailMsgId folderId(mMessage->envelope().folderId()); |
130 TFSMailMsgId messageId( mMessage->envelope().messageId() ); |
119 TFSMailMsgId messageId(mMessage->envelope().messageId()); |
131 |
120 |
132 CFSMailFolder* folder = mMailClient.GetFolderByUidL( mailboxId, folderId ); |
121 CFSMailFolder *folder = mMailClient.GetFolderByUidL(mailboxId, folderId); |
133 CleanupStack::PushL(folder); |
122 CleanupStack::PushL(folder); |
134 if ( folder ) { |
123 if (folder) { |
135 // try to use the asynchronous version first |
124 // try to use the asynchronous version first |
136 TRAPD(err, mRequestId = folder->RemoveMessageL( messageId, *this )); |
125 TRAPD(err, mRequestId = folder->RemoveMessageL(messageId, *this)); |
137 |
126 |
138 if(err == KErrFSMailPluginNotSupported) { |
127 if(err == KErrFSMailPluginNotSupported) { |
139 // async version not supported, use sync version |
128 // async version not supported, use sync version |
140 folder->RemoveMessageL( messageId ); |
129 folder->RemoveMessageL(messageId); |
141 completeOperation(NmNoError); |
130 completeOperation(NmNoError); |
142 } else if (KErrNone != err) { |
131 } else if (KErrNone != err) { |
143 completeOperation(NmGeneralError); |
132 completeOperation(NmGeneralError); |
144 } |
133 } |
145 } |
134 } |
146 else { |
135 else { |
147 User::Leave( KErrNotFound ); |
136 User::Leave(KErrNotFound); |
148 } |
137 } |
149 CleanupStack::PopAndDestroy(folder); |
138 CleanupStack::PopAndDestroy(folder); |
150 } |
139 } |