382 TInt ClientThreadInfo(TThreadId aClientInfo, TBool aCapabilityCheck); |
382 TInt ClientThreadInfo(TThreadId aClientInfo, TBool aCapabilityCheck); |
383 #endif |
383 #endif |
384 |
384 |
385 TInt GetNonOperationMtmData(TNonOperationMtmDataType& aMtmDataType, TPtrC8& aResultBuffer); |
385 TInt GetNonOperationMtmData(TNonOperationMtmDataType& aMtmDataType, TPtrC8& aResultBuffer); |
386 |
386 |
387 |
|
388 /** Updates a remote selection of id with relevant data when called by the Message Server. |
|
389 |
|
390 Implementations should provide this function if the messaging protocol supports |
|
391 updating of remote entries. If this is not supported, implementations should |
|
392 leave with KErrNotSupported. |
|
393 |
|
394 The Server-side MTM implementation must decide what information in the TMsvEntry |
|
395 is relevant to the remote entry, and translate it appropriately for the specific |
|
396 protocol. Most of the data contained in the TMsvEntry is specific to the Symbian |
|
397 OS Message Server, and would probably have no direct correlation with the |
|
398 protocol's own storage format. Some entry data may however be useful. For |
|
399 example, if the protocol supports remote renaming of folders, the implementation |
|
400 could: |
|
401 |
|
402 1. check for a folder type entry |
|
403 |
|
404 2. extract the folder name from aNewEntry.iDetails |
|
405 |
|
406 3. check if the folder name has changed by comparing the new name with iDetails |
|
407 in the index entry currently; if not, complete with KErrNone |
|
408 |
|
409 4. initiate a protocol-specific action to rename the remote folder |
|
410 |
|
411 The implementation should also always update the local Message Server index |
|
412 through CMsvServerEntry::ChangeL(). |
|
413 |
|
414 @param aSelection Selection of TMsvId which to update |
|
415 @param aMark Read and Unread mark value. |
|
416 @param aStatus Asynchronous completion word for the operation. |
|
417 |
|
418 @leave KErrNotSupported The Server-side MTM does not support this operation |
|
419 @leave Other leave codes Dependent on implementation */ |
|
420 IMPORT_C virtual TInt ChangeEntriesL( const CMsvEntrySelection& aSelection,TInt aMark, TRequestStatus& aStatus ); |
|
421 protected: |
387 protected: |
422 IMPORT_C CBaseServerMtm(CRegisteredMtmDll& aRegisteredMtmDll, CMsvServerEntry* aServerEntry); |
388 IMPORT_C CBaseServerMtm(CRegisteredMtmDll& aRegisteredMtmDll, CMsvServerEntry* aServerEntry); |
423 /** Handles the completion of any asynchronous requests that it makes. It is called |
389 /** Handles the completion of any asynchronous requests that it makes. It is called |
424 from the base class RunL() . |
390 from the base class RunL() . |
425 |
391 |