Revision: 201039 RCL_3 PDK_3.0.4
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 13 Oct 2010 15:05:36 +0300
branchRCL_3
changeset 59 d1d846af7341
parent 49 002ade1da91c
Revision: 201039 Kit: 201041
messagingfw/msgsrvnstore/mtmbase/inc/MTUD.HRH
messagingfw/msgsrvnstore/server/bwins/v2_MSGSU.DEF
messagingfw/msgsrvnstore/server/eabi/v2_msgsU.def
messagingfw/msgsrvnstore/server/group/messageserver.iby
messagingfw/msgsrvnstore/server/inc/MCLIENT.H
messagingfw/msgsrvnstore/server/inc/MSERVER.H
messagingfw/msgsrvnstore/server/inc/MSVAPI.H
messagingfw/msgsrvnstore/server/inc/MSVLOPS.H
messagingfw/msgsrvnstore/server/inc/MSVROPS.H
messagingfw/msgsrvnstore/server/inc/MSVROPS.INL
messagingfw/msgsrvnstore/server/inc/MSVSERV.H
messagingfw/msgsrvnstore/server/inc/MTSR.H
messagingfw/msgsrvnstore/server/src/CMsvPlainBodyText.cpp
messagingfw/msgsrvnstore/server/src/MCLENTRY.CPP
messagingfw/msgsrvnstore/server/src/MCLIENT.CPP
messagingfw/msgsrvnstore/server/src/MSVLOCAL.CPP
messagingfw/msgsrvnstore/server/src/MSVOPERT.CPP
messagingfw/msgsrvnstore/server/src/MSVSESS.CPP
messagingfw/msgsrvnstore/server/src/MTSR.CPP
messagingfw/senduiservices/bwinscw/SENDUIU.DEF
messagingfw/senduiservices/eabi/SENDUIU.DEF
messagingfw/senduiservices/inc/SendUiImpl.h
messagingfw/senduiservices/src/SendUi.cpp
messagingfw/senduiservices/src/SendUiImpl.cpp
msgfw_pub/send_ui_api/inc/SendUi.h
--- a/messagingfw/msgsrvnstore/mtmbase/inc/MTUD.HRH	Tue Sep 14 22:16:31 2010 +0300
+++ b/messagingfw/msgsrvnstore/mtmbase/inc/MTUD.HRH	Wed Oct 13 15:05:36 2010 +0300
@@ -32,6 +32,21 @@
 #define	EMtudCommandTransferReceive		0x2000
 #define EMtudCommandSendAs				0x4000
 
+// 3 party mtm can be visible in messaging 
+// app by installing 
+// thier sisx mtm on device.
+// This flag is added to help them to allow 
+// their function command( item specific only)
+// to be visible in Stylus menu when 
+// user long tap on their message visible in
+// messaging folder
+// Note: This flag should be set(OR) 
+// only in  3 party mtm RSS file for specific 
+// command. It should be not be set 
+// or reset anywhere else.
+// messaging app will only read this setting.
+#define EMtudCommandItemSpecific	        0x8000
+
 //
 // Key flags - for TMtmUiFunction::iPreferredHotKeyModifiers
 
--- a/messagingfw/msgsrvnstore/server/bwins/v2_MSGSU.DEF	Tue Sep 14 22:16:31 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/bwins/v2_MSGSU.DEF	Wed Oct 13 15:05:36 2010 +0300
@@ -719,6 +719,4 @@
 	?UnpackL@TMsvPackedDriveIdOperation@@QAEXAAV?$RArray@W4TDriveNumber@@@@@Z @ 718 NONAME ABSENT ; void TMsvPackedDriveIdOperation::UnpackL(class RArray<enum TDriveNumber> &)
 	?UpdateDrivePriorityL@CMsvSession@@QAEXW4TDriveNumber@@AAI@Z @ 719 NONAME ABSENT ; void CMsvSession::UpdateDrivePriorityL(enum TDriveNumber, unsigned int &)
 	?UpdateDrivePriorityL@RMsvServerSession@@QAEXW4TDriveNumber@@AAI@Z @ 720 NONAME ABSENT ; void RMsvServerSession::UpdateDrivePriorityL(enum TDriveNumber, unsigned int &)
-	?ChangeEntriesL@CBaseServerMtm@@UAEHABVCMsvEntrySelection@@HAAVTRequestStatus@@@Z @ 721 NONAME ; int CBaseServerMtm::ChangeEntriesL(class CMsvEntrySelection const &, int, class TRequestStatus &)
-	?ChangeL@CMsvEntry@@QAEPAVCMsvOperation@@ABVCMsvEntrySelection@@HAAVTRequestStatus@@@Z @ 722 NONAME ; class CMsvOperation * CMsvEntry::ChangeL(class CMsvEntrySelection const &, int, class TRequestStatus &)
 
--- a/messagingfw/msgsrvnstore/server/eabi/v2_msgsU.def	Tue Sep 14 22:16:31 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/eabi/v2_msgsU.def	Wed Oct 13 15:05:36 2010 +0300
@@ -1022,8 +1022,4 @@
 	_ZN26TMsvPackedDriveIdOperationC2ERP6HBufC8 @ 1021 NONAME ABSENT
 	_ZNK9CMsvEntry26ChildrenOfAvailableDrivesLEv @ 1022 NONAME ABSENT
 	_ZN28CMsvSearchsortOpOnHeaderBody4NewLER11CMsvSessioni @ 1023 NONAME
-	_ZN14CBaseServerMtm14ChangeEntriesLERK18CMsvEntrySelectioniR14TRequestStatus @ 1024 NONAME
-	_ZN9CMsvEntry7ChangeLERK18CMsvEntrySelectioniR14TRequestStatus @ 1025 NONAME
-	_ZTI31CMsvLocalChangeEntriesOperation @ 1026 NONAME
-	_ZTV31CMsvLocalChangeEntriesOperation @ 1027 NONAME
 
--- a/messagingfw/msgsrvnstore/server/group/messageserver.iby	Tue Sep 14 22:16:31 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/group/messageserver.iby	Wed Oct 13 15:05:36 2010 +0300
@@ -26,18 +26,18 @@
 #define MSGHEAPMAX  0x400000
 #endif
 
-file=ABI_DIR\BUILD_DIR\msexe.exe	System\Programs\MSexe.exe	heapmax=MSGHEAPMAX
-file=ABI_DIR\BUILD_DIR\msgs.dll		System\Libs\MSGS.dll
+file=ABI_DIR\BUILD_DIR\MSexe.exe	System\Programs\MSexe.exe	heapmax=MSGHEAPMAX
+file=ABI_DIR\BUILD_DIR\MSGS.dll		System\Libs\MSGS.dll
 
-data=EPOCROOT##epoc32\data\z\private\1000484b\backup_registration.xml		private\1000484b\backup_registration.xml
+data=EPOCROOT##epoc32\data\Z\private\1000484b\backup_registration.xml		private\1000484b\backup_registration.xml
 
 #include "messageserver.hby"
 
-data=EPOCROOT##epoc32\data\z\private\1000484b\msgcache.ini 					private\1000484b\msgcache.ini
+data=EPOCROOT##epoc32\data\Z\private\1000484b\msgcache.ini 					private\1000484b\msgcache.ini
 
 #ifdef SYMBIAN_MSGS_ENHANCED_REMOVABLE_MEDIA_SUPPORT
-data=EPOCROOT##epoc32\data\z\private\1000484b\msgprioritydriveList.ini 		private\1000484b\msgprioritydrivelist.ini
-data=EPOCROOT##epoc32\data\z\private\10202BE9\10286a26.txt					private\10202BE9\10286a26.txt
+data=EPOCROOT##epoc32\data\Z\private\1000484b\msgPriorityDriveList.ini 		private\1000484b\msgprioritydrivelist.ini
+data=EPOCROOT##epoc32\data\Z\private\10202BE9\10286a26.txt					private\10202BE9\10286a26.txt
 #endif
 
 #endif
--- a/messagingfw/msgsrvnstore/server/inc/MCLIENT.H	Tue Sep 14 22:16:31 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/inc/MCLIENT.H	Wed Oct 13 15:05:36 2010 +0300
@@ -99,8 +99,6 @@
 	// Asynchronous messages
 	IMPORT_C void CreateEntryL(const TMsvEntry& aEntry, TMsvOp aOperationId, TSecureId aOwnerId, TRequestStatus& aRequestStatus);
 	IMPORT_C void ChangeEntryL(const TMsvEntry& aEntry, TMsvOp aOperationId, TSecureId aOwnerId, TRequestStatus& aRequestStatus);
-	void ChangeEntriesL(const CMsvEntrySelection& aSelection,TBool aMark, TMsvOp aOperationId, TSecureId aOwnerId, TRequestStatus& aRequestStatus);
-	
 	IMPORT_C void DeleteEntriesL(const CMsvEntrySelection& aSelection, TMsvOp aOperationId, TRequestStatus& aRequestStatus);
 	IMPORT_C void MoveEntriesL(const CMsvEntrySelection& aSelection, TMsvId aTarget, TMsvOp aOperationId, TRequestStatus& aRequestStatus);
 	IMPORT_C void CopyEntriesL(const CMsvEntrySelection& aSelection, TMsvId aTarget, TMsvOp aOperationId, TRequestStatus& aRequestStatus);
--- a/messagingfw/msgsrvnstore/server/inc/MSERVER.H	Tue Sep 14 22:16:31 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/inc/MSERVER.H	Wed Oct 13 15:05:36 2010 +0300
@@ -148,7 +148,7 @@
 	EMsvIdWithSortFiled=89,
 	EMsvGetSearchSortProgress=90,
 	EMsvCancelSearchSortOp=91,
-	EMsvUpdateAndSort=92,
+	EMsvUpdateAndSort=92
 	// Code added for PREQ 557.
 	// Macros for preferred drive list APIs.
 #if (defined SYMBIAN_MSGS_ENHANCED_REMOVABLE_MEDIA_SUPPORT)
@@ -162,7 +162,7 @@
     EMsvGetChildIdsALL=101
 #if (defined SYMBIAN_MESSAGESTORE_UNIT_TESTCODE)
 	,EMsvResetRepository=102,
-	EMsvPrintCache=103,
+	EMsvPrintCache=103
 #endif
 #endif		// #if (defined SYMBIAN_MSGS_ENHANCED_REMOVABLE_MEDIA_SUPPORT)
 
@@ -180,9 +180,8 @@
 	EMsvConvertMessageStore=113,
 	EMsvCancelConversionRequest=114,
 	EMsvGetConvertibleDriveList=115,
-	EMsvGetConversionStatus=116,
+	EMsvGetConversionStatus=116
 #endif
-	EMsvChangeEntries = 117
 	};
 
 
--- a/messagingfw/msgsrvnstore/server/inc/MSVAPI.H	Tue Sep 14 22:16:31 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/inc/MSVAPI.H	Wed Oct 13 15:05:36 2010 +0300
@@ -928,7 +928,6 @@
 	// --- Asynchronous Current Entry functions ---
 	IMPORT_C CMsvOperation* ChangeL(const TMsvEntry& aEntry, TRequestStatus& aStatus);
 	IMPORT_C CMsvOperation* ChangeL(const TMsvEntry& aEntry, TSecureId aOwnerId, TRequestStatus& aStatus);
-	IMPORT_C CMsvOperation* ChangeL(const CMsvEntrySelection& aSelection, TBool aMark,TRequestStatus& aStatus);
 	//
 	// --- Asynchronous Child Entry functions ---
 	IMPORT_C CMsvOperation* CreateL(const TMsvEntry& aEntry, TRequestStatus& aStatus);
--- a/messagingfw/msgsrvnstore/server/inc/MSVLOPS.H	Tue Sep 14 22:16:31 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/inc/MSVLOPS.H	Wed Oct 13 15:05:36 2010 +0300
@@ -197,43 +197,7 @@
 	TMsvId iId;
 	TMsvId iParent;
 	};
-///
-//**********************************
-// CMsvLocalChangeOperation
-//**********************************
-//
-// Operation used to control server side local change od selection of ids.
-//
 
-class CMsvLocalChangeEntriesOperation : public CMsvLocalOperation
-/**
-@internalComponent
-@released
-*/
-    {
-public:
-    CMsvLocalChangeEntriesOperation(const RMessage2& aMessage, TMsvOp aId, CMsvEntrySelection* aSelection, CMsvServer& aMsvServer, TInt aMark);
-    ~CMsvLocalChangeEntriesOperation();
-    //
-    void StartL(TSecureId aOwnerId, TBool aForcedUpdate);
-    //
-private:
-    void DoCancel();
-    void RunL();
-    void Completed();
-    //
-private:
-    CMsvEntrySelection* iSelection;
-    CMsvEntrySelection* iWorkSelection1;
-    CMsvEntrySelection* iWorkSelection2;
-    CMsvDelete* iDelete;
-    TMsvId iId;
-    TMsvId iParent;
-    TInt iMark;
-    };
-
-
-///
 //**********************************
 // CMsvLocalCreateOperation
 //**********************************
--- a/messagingfw/msgsrvnstore/server/inc/MSVROPS.H	Tue Sep 14 22:16:31 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/inc/MSVROPS.H	Wed Oct 13 15:05:36 2010 +0300
@@ -49,8 +49,7 @@
 						EMtmOpDeleteAll,
 						EMtmOpCreate,
 						EMtmOpChange,
-						EMtmOpCommand,
-						EMtmOpChangeEntries};
+						EMtmOpCommand};
 public:
 	static CMsvMtmOperation* NewL(const RMessage2& aMessage, TMsvOp aId, TUid aMtmUid, TMsvId aServiceId, TInt aSessionId, MMsvOperationObserver& aOpObserver);
 	~CMsvMtmOperation();
@@ -71,7 +70,6 @@
 	inline void DeleteAll(CMsvEntrySelection* aSelection);
 	inline void CreateL(const TMsvEntry& aNewEntry);
 	inline void ChangeL(const TMsvEntry& aNewEntry);
-	inline void ChangeEntriesL(CMsvEntrySelection* aSelection, TInt aMark);
 	inline void StartCommand(CMsvEntrySelection* aSelection, TInt aCommand, HBufC8* aParameter);
 #if (defined SYMBIAN_USER_PROMPT_SERVICE)	
  	inline void SetThreadId(TThreadId aThreadId);
--- a/messagingfw/msgsrvnstore/server/inc/MSVROPS.INL	Tue Sep 14 22:16:31 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/inc/MSVROPS.INL	Wed Oct 13 15:05:36 2010 +0300
@@ -60,11 +60,6 @@
 	StoreParametersL(EMtmOpChange, aNewEntry);
 	}
 
-inline void CMsvMtmOperation::ChangeEntriesL(CMsvEntrySelection* aSelection, TInt aMark)
-    {
-    StoreParameters(EMtmOpChangeEntries, aSelection ,aMark, NULL);
-    }
-
 inline void CMsvMtmOperation::StartCommand(CMsvEntrySelection* aSelection, TInt aCommand, HBufC8* aParameter)
 	{
 	StoreParameters(EMtmOpCommand ,aSelection ,aCommand, aParameter);
--- a/messagingfw/msgsrvnstore/server/inc/MSVSERV.H	Tue Sep 14 22:16:31 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/inc/MSVSERV.H	Wed Oct 13 15:05:36 2010 +0300
@@ -108,8 +108,7 @@
 	EMsvProgressBufferExceeds256=12,
 	EMsvNoEntriesInMoveSelection=13,
 	EMsvNoEntriesInCopySelection=14,
-	EMsvNoEntriesInChangeAttributesSelection=15,
-	EMsvNoEntriesInChangeSelection=16
+	EMsvNoEntriesInChangeAttributesSelection=15
 	};
 
 const TInt KMsvMessageDriveStreamVersionNumber = 3;
@@ -559,11 +558,8 @@
 	void OperationMtmL(const RMessage2 &aMessage);
 	//
 	void ChangeEntryL(const RMessage2 &aMessage);
-	void ChangeEntriesL(const RMessage2 &aMessage);
 	void DoChangeLocalEntryL(const TMsvEntry& aEntry, TMsvOp aOpId, const RMessage2 &aMessage, TSecureId aOwnerId);
 	void DoChangeRemoteEntryL(const TMsvEntry& aEntry, TMsvOp aOpId, const RMessage2 &aMessage);
-	void DoChangeLocalEntriesL(CMsvEntrySelection*& aSelection, TMsvOp aOpId, const RMessage2 &aMessage, TSecureId aOwnerId, TInt aMark);
-	void DoChangeRemoteEntriesL(CMsvEntrySelection*& aSelection, TMsvOp aOpId, const RMessage2 &aMessage,TInt aMark);
 	//
 	void CreateEntryL(const RMessage2 &aMessage);
 	void DoCreateLocalEntryL(const TMsvEntry& aEntry, TMsvOp aOpId, const RMessage2 &aMessage, TSecureId aOwnerId);
--- a/messagingfw/msgsrvnstore/server/inc/MTSR.H	Tue Sep 14 22:16:31 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/inc/MTSR.H	Wed Oct 13 15:05:36 2010 +0300
@@ -384,40 +384,6 @@
 
 	TInt GetNonOperationMtmData(TNonOperationMtmDataType& aMtmDataType, TPtrC8& aResultBuffer);
 
-
-	/** Updates a remote selection of id  with relevant data when called by the Message Server.
-	 
-	Implementations should provide this function if the messaging protocol supports 
-	updating of remote entries. If this is not supported, implementations should 
-	leave with KErrNotSupported. 
-	
-	The Server-side MTM implementation must decide what information in the TMsvEntry 
-	is relevant to the remote entry, and translate it appropriately for the specific 
-	protocol. Most of the data contained in the TMsvEntry is specific to the Symbian 
-	OS Message Server, and would probably have no direct correlation with the 
-	protocol's own storage format. Some entry data may however be useful. For 
-	example, if the protocol supports remote renaming of folders, the implementation 
-	could:
-	
-	1. check for a folder type entry
-	
-	2. extract the folder name from aNewEntry.iDetails
-	
-	3. check if the folder name has changed by comparing the new name with iDetails 
-	in the index entry currently; if not, complete with KErrNone
-	
-	4. initiate a protocol-specific action to rename the remote folder
-	
-	The implementation should also always update the local Message Server index 
-	through CMsvServerEntry::ChangeL().
-	
-	@param aSelection  Selection of TMsvId which to update 
-	@param aMark Read and Unread mark value. 
-	@param aStatus Asynchronous completion word for the operation. 
-	
-	@leave KErrNotSupported The Server-side MTM does not support this operation 
-	@leave Other leave codes Dependent on implementation */
-	IMPORT_C virtual TInt ChangeEntriesL( const CMsvEntrySelection& aSelection,TInt aMark, TRequestStatus& aStatus );
 protected:
 	IMPORT_C CBaseServerMtm(CRegisteredMtmDll& aRegisteredMtmDll, CMsvServerEntry* aServerEntry);
 	/** Handles the completion of any asynchronous requests that it makes. It is called 
--- a/messagingfw/msgsrvnstore/server/src/CMsvPlainBodyText.cpp	Tue Sep 14 22:16:31 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/CMsvPlainBodyText.cpp	Wed Oct 13 15:05:36 2010 +0300
@@ -1120,7 +1120,7 @@
 void CMsvPlainBodyText::RevertL()
 	{
 	iFile.Close();
-	if(!iIsCommitted && iMsvFileStatus == EMsvFileWriting)
+	if(!iIsCommitted)
 		{
 		iMsvStoreManager.DeletePlainTextFileL(iMessageId);
 		}
--- a/messagingfw/msgsrvnstore/server/src/MCLENTRY.CPP	Tue Sep 14 22:16:31 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/MCLENTRY.CPP	Wed Oct 13 15:05:36 2010 +0300
@@ -920,68 +920,6 @@
 	iEntryPtr = &iEntries->At(0)->Entry();
 	}
 
-/** 
-Update a selection of children to read or Unread asynchronously of the context. 
-The returned CMsvOperation object .
-
-@param	aSelection 
-The selectio of entry values for the context
-
-@param	aMark 
-True : Update selection to UnRead .
-False: Update selection to Read . 
-
-@param aStatus The request status to be completed when the operation has finished .
-
-@leave KErrAccessDenied The entry is locked by another client 
-
-@return
-An operation object controlling the change command
-*/
-EXPORT_C CMsvOperation* CMsvEntry::ChangeL(const CMsvEntrySelection& aSelection,TBool aMark, TRequestStatus& aStatus)
-     {
-#ifndef _NO_SESSION_LOGGING_
-    Log(_L("Asynchronous ChangeL with selection of %d entries"), aSelection.Count()); 
-#endif
-
-    __ASSERT_DEBUG(aSelection.Count(), PanicServer(EMsvEmptySelection));
-
-#if defined(_DEBUG)    
-     
-      TInt aCount = aSelection.Count();
-      while (aCount--)
-          {
-          TMsvEntry aEntry;
-          TMsvId aService;
-          if (iMsvSession.Session().GetEntry(aSelection.At(aCount), aService, aEntry)==KErrNone)
-              {
-              __ASSERT_DEBUG(iState==EValid || iState==EInvalidDeletedContext, PanicServer(EMsvEntryAlreadyChangingContext));
-              __ASSERT_DEBUG(MsvUtils::ValidEntry(aEntry), PanicServer(EMsvChangingToInvalidEntry));
-             
-              // can only change the current context
-              if (!MsvUtils::ValidEntry(aEntry))
-                  User::Leave(KErrArgument);
-              }
-           }
-#endif
-      // cannot change standard folders
-      if (iEntryPtr->StandardFolder())
-          User::Leave(KErrAccessDenied);
-  
-      //// create the operation
-      CMsvEntryOperation* operation = CMsvEntryOperation::NewL(iMsvSession, aStatus);
-      CleanupStack::PushL(operation);
-      User::LeaveIfError(iMsvSession.Session().OperationMtmL(aSelection.At(0), operation->iMtm, operation->iService)); 
-   
-      // start the change operation
-	  iMsvSession.Session().ChangeEntriesL(aSelection, aMark, operation->Id(), RProcess().SecureId(), operation->iStatus);
-     
-      operation->Start();
-      iState = EInvalidChangingContext;
-      CleanupStack::Pop(1); // operation 
-      return operation; 
-      }
-
 
 EXPORT_C CMsvOperation* CMsvEntry::DeleteL(TMsvId aId, TRequestStatus& aStatus)
 //
--- a/messagingfw/msgsrvnstore/server/src/MCLIENT.CPP	Tue Sep 14 22:16:31 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/MCLIENT.CPP	Wed Oct 13 15:05:36 2010 +0300
@@ -457,25 +457,6 @@
 	User::LeaveIfError(SendReceive(EMsvChangeEntry, TIpcArgs(aOperationId, aOwnerId)));
 	}
 
-/**
-Update the specified Changes to selection of TMsvId (asynchronously).
-
-@param aSelection The IDs of the entry to Change. 
-@param aMark The read/Unread value.  
-@param aOperationId Operation identifier
-@param aOwnerId The ID of the owning process
-@param aRequestStatus Asynchronous request status
-
-*/
-
-void RMsvServerSession::ChangeEntriesL(const CMsvEntrySelection& aSelection, TBool aMark ,TMsvOp aOperationId, TSecureId aOwnerId, TRequestStatus& aRequestStatus)
-    {
-     TestSlotAvailableL();
-     TInt markvalue = (TInt)aMark;
-     SendOperationDataL(aOperationId, aSelection, markvalue);
-     aRequestStatus=KRequestPending;
-     SendReceive(EMsvChangeEntries, TIpcArgs(aOperationId, aOwnerId), aRequestStatus);
-    }
 
 /**
 Gets the index entry with the specified unique id.
--- a/messagingfw/msgsrvnstore/server/src/MSVLOCAL.CPP	Tue Sep 14 22:16:31 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/MSVLOCAL.CPP	Wed Oct 13 15:05:36 2010 +0300
@@ -686,125 +686,6 @@
 	SetState(EMsvOperationCompleted);
 	iMessage.Complete(KErrNone);
 	}
-//**********************************
-// CMsvLocalChangeEntriesOperation
-//**********************************
-
-
-CMsvLocalChangeEntriesOperation::CMsvLocalChangeEntriesOperation(const RMessage2& aMessage, TMsvOp aId, CMsvEntrySelection* aSelection, CMsvServer& aMsvServer, TInt aMark)
-: CMsvLocalOperation(aMessage, aId, aMsvServer), iSelection(aSelection), iMark(aMark)
-    {
-    __DECLARE_NAME(_S("CMsvLocalChangeEntriesOperation"));
-    // set up the progress
-    iProgress().iType = TMsvLocalOperationProgress::ELocalChanged;
-    iProgress().iTotalNumberOfEntries = iSelection->Count();;
-    iProgress().iNumberRemaining = iProgress().iTotalNumberOfEntries;
-    CActiveScheduler::Add(this);
-    }
-
-CMsvLocalChangeEntriesOperation::~CMsvLocalChangeEntriesOperation()
-//
-//
-//
-    {
-    Cancel();
-    delete iSelection;
-    delete iDelete;
-    delete iWorkSelection1;
-    delete iWorkSelection2;
-    }
-
-void CMsvLocalChangeEntriesOperation::DoCancel()
-//
-//
-//
-    {
-    __ASSERT_DEBUG(iDelete!=NULL, PanicServer(EMsvChangeEntryBadState));
-    iDelete->Cancel(); 
-    iProgress().iError = KErrCancel;
-    Completed();
-    }
-
-void CMsvLocalChangeEntriesOperation::RunL()
-//
-//
-//
-    {
-    if (iStatus.Int()==KErrNone)
-        {
-        iProgress().iNumberCompleted++;
-        }
-    else
-        {
-        iProgress().iNumberFailed++;
-        iProgress().iError = iStatus.Int();
-        }
-    
-    Completed();
-    }
-
-
-void CMsvLocalChangeEntriesOperation::StartL(TSecureId aOwnerId, TBool aForcedUpdate)
-//
-//
-//
-    {
-    TMsvEntry* entry1;
- 
-    TInt count = iSelection->Count();
-    while (count--)
-        {
-        iMsvServer.IndexAdapter().GetEntry(iSelection->At(count),entry1);
-        iId = entry1->Id();
-        iParent = entry1->Parent();
-        // check if this is actually a deletion
-        if (entry1->Deleted() && entry1->PcSyncCount()==0)
-            {
-             iDelete = CMsvDelete::NewL(iMsvServer);
-             iWorkSelection1 = new(ELeave)CMsvEntrySelection;
-             iWorkSelection2 = new(ELeave)CMsvEntrySelection;
-
-            iDelete->StartL(entry1->Id(), *iWorkSelection1, *iWorkSelection2, iStatus, ETrue);
-            SetActive();
-            return;
-            }
-        }
-  
-    TInt error  = KErrNone;
-    TMsvEntry* entry;
-    count = iSelection->Count();
-    while (count--)
-        {
-        error = iMsvServer.IndexAdapter().GetEntry(iSelection->At(count),entry);
-        if (error==KErrNone)
-            {
-            error = iMsvServer.IndexAdapter().LockEntry(iSelection->At(count));
-            error = iMsvServer.ChangeEntry(*entry, aOwnerId, aForcedUpdate);
-            error = iMsvServer.IndexAdapter().ReleaseEntry(iSelection->At(count)); // error ignored
-            }
-         }
-
-    if (error==KErrNone)
-        iProgress().iNumberCompleted++;
-    else
-        {
-        iProgress().iNumberFailed++;
-        iProgress().iError = error;
-        }
-    Completed();
-    }
-
-void CMsvLocalChangeEntriesOperation::Completed()
-//
-//
-//
-    {
-    
-    if (iProgress().iError==KErrNone)
-        iMsvServer.NotifyChanged(iDelete==NULL ? EMsvEntriesChanged : EMsvEntriesDeleted, iId, iParent);
-    SetState(EMsvOperationCompleted);
-    iMessage.Complete(KErrNone);
-     }
 
 
 //**********************************
--- a/messagingfw/msgsrvnstore/server/src/MSVOPERT.CPP	Tue Sep 14 22:16:31 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/MSVOPERT.CPP	Wed Oct 13 15:05:36 2010 +0300
@@ -164,9 +164,6 @@
 		case EMtmOpCommand:
 			iServerMtm->StartCommandL(*iSelection, iIntParam, *iDesParam, iStatus);
 			break;
-        case EMtmOpChangeEntries:
-            iServerMtm->ChangeEntriesL(*iSelection,iIntParam,iStatus);
-            break;
 		default:
 			PanicServer(EMsvUnknownMtmOpType);
 			break;
--- a/messagingfw/msgsrvnstore/server/src/MSVSESS.CPP	Tue Sep 14 22:16:31 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/MSVSESS.CPP	Wed Oct 13 15:05:36 2010 +0300
@@ -578,9 +578,6 @@
 			CancelConversionRequestL(aMessage);
 			break;
 #endif	  // #if (defined SYMBIAN_MESSAGESTORE_HEADER_BODY_USING_SQLDB)
-		case EMsvChangeEntries:
-		     ChangeEntriesL(aMessage);
-		     break;
 		default:
 			PanicClient(aMessage, EMsvBadRequest);
 			break;
@@ -947,112 +944,6 @@
 	CleanupStack::PopAndDestroy(); // opData
 	}
 
-//
-// Changes the selection of id.
-//
-
-void CMsvServerSession::ChangeEntriesL(const RMessage2 &aMessage)
-    {
-     // Recover the operation data
-     TMsvOp operationId = aMessage.Int0();
-     HBufC8* opData = RecoverOperationData(operationId);
-     // Check for NULL data entry to be changed, must have been given incorrect id for argument.
-     if(opData == NULL)
-         {
-         aMessage.Complete(KErrArgument);
-         return;
-         }
-     CleanupStack::PushL(opData);
-
-     // unpack the data
-     TMsvPackedOperation packedOperation(opData);
-     
-     CMsvEntrySelection* selection = new (ELeave) CMsvEntrySelection;
-     CleanupStack::PushL(selection);
-     TInt target,temp;
-     packedOperation.UnpackL(*selection, target, temp);
-
-     if (selection->Count() == 0)
-         {
-         PanicClient(aMessage, EMsvNoEntriesInChangeSelection);
-         aMessage.Complete(KErrNotFound);
-         return;
-         }
-     // Find the first entry in the selection which exists
-     TInt count=selection->Count();
-     while (count--)
-         {
-         TBool entryExsists = EFalse;
-         entryExsists = iMsvServer.IndexAdapter().EntryExists(selection->At(count));
-         if (entryExsists)
-             break;
-         }
- 
-       // Check if the entry is local or the entry is a service
-      TBool local=ETrue;
-      TMsvEntry* entry=NULL;
-      User::LeaveIfError(iMsvServer.IndexAdapter().GetEntry(selection->At(0), entry));
-     
-      // Police request - client must be able to modify the entry.
-      iMsvServer.PoliceModifyEntryL(aMessage, *entry, local, __PLATSEC_DIAGNOSTIC_STRING("Checked by CMsvServerSession::ChangeEntryL"));
-             
-      // For purpose of changing a service entry, it is considered local as an MTM
-      // is not required to do the work.
-      if( entry->iType == KUidMsvServiceEntry )
-          local = ETrue;
-
-      // start the change for local or remote entries
-      if (local)
-          {
-          // Extract the owner ID from the message.
-          TSecureId ownerId = aMessage.Int1();
-
-          DoChangeLocalEntriesL(selection, operationId, aMessage, ownerId, target);
-          }
-      else
-          DoChangeRemoteEntriesL(selection, operationId, aMessage,target);
-
-      CleanupStack::PopAndDestroy(); // opData
-    }
-
-void CMsvServerSession::DoChangeLocalEntriesL(CMsvEntrySelection*& aSelection, TMsvOp aOpId, const RMessage2 &aMessage, TSecureId aOwnerId, TInt mark)
-    {
-    CMsvLocalChangeEntriesOperation* operation = new(ELeave) CMsvLocalChangeEntriesOperation(aMessage, aOpId, aSelection, iMsvServer,mark);
-    CleanupStack::Pop(); // selection
-    CleanupStack::PushL(operation);
-   
-    TBool forcedUpdate = (aOwnerId != aMessage.SecureId());
-    operation->StartL(aOwnerId, forcedUpdate);
-
-    iOperations.AppendL(operation);
-    CleanupStack::Pop(); // operation
-
-    
-    }
-
-void CMsvServerSession::DoChangeRemoteEntriesL(CMsvEntrySelection*& aSelection, TMsvOp aOpId, const RMessage2 &aMessage,TInt mark)
-//
-// Change a selection of entry under a remote service
-//
-    {
-     // make sure that the operation can be added to the list
-     iOperations.SetReserveL(iOperations.Count()+1);
-
-     TMsvEntry* entry=NULL;
-     User::LeaveIfError(iMsvServer.IndexAdapter().GetEntry(aSelection->At(0), entry));
- 
-     // create the operation
-     CMsvMtmOperation* operation = CMsvMtmOperation::NewL(aMessage, aOpId, entry->iMtm, entry->iServiceId, iSessionId, iMsvServer);
-     CleanupStack::Pop(); // aSelection
-     CleanupStack::PushL(operation);
-     operation->ChangeEntriesL(aSelection,mark);
-     
-     iMsvServer.StartOperationL(*operation, iSessionId, aMessage, ETrue);
-     iOperations.AppendL(operation); // will not fail - see start of function
-     CleanupStack::Pop(); // operation
-	}
-
-
 void CMsvServerSession::DoChangeLocalEntryL(const TMsvEntry& aEntry, TMsvOp aOpId, const RMessage2 &aMessage, TSecureId aOwnerId)
 //
 // Create a local entry in the index
--- a/messagingfw/msgsrvnstore/server/src/MTSR.CPP	Tue Sep 14 22:16:31 2010 +0300
+++ b/messagingfw/msgsrvnstore/server/src/MTSR.CPP	Wed Oct 13 15:05:36 2010 +0300
@@ -175,16 +175,6 @@
 		}
 	return ret;
 	}
-// Empty declaration
-EXPORT_C TInt CBaseServerMtm::ChangeEntriesL( const CMsvEntrySelection& /*aSelection*/,TInt /*aMark*/, TRequestStatus& aStatus )
-    {
-    //Empty declaration. Respective MTM implementation should be call .
-    TRequestStatus aEmptyStatus;
-    aEmptyStatus = aStatus ;
-    
-    return KErrNotSupported; // Specific to MTM. Base return Not supported.  
-    }
-
 
 EXPORT_C CServerMtmDllRegistry* CServerMtmDllRegistry::NewL(RFs& aFs,TTimeIntervalMicroSeconds32 aTimeoutMicroSeconds32)
 	{
--- a/messagingfw/senduiservices/bwinscw/SENDUIU.DEF	Tue Sep 14 22:16:31 2010 +0300
+++ b/messagingfw/senduiservices/bwinscw/SENDUIU.DEF	Wed Oct 13 15:05:36 2010 +0300
@@ -82,5 +82,4 @@
 	?NewL@CSendUiSingleton@@SAPAV1@XZ @ 81 NONAME ; class CSendUiSingleton * CSendUiSingleton::NewL(void)
 	?OpaqueData@CMessageData@@QBE?BVTPtrC8@@XZ @ 82 NONAME ; class TPtrC8 const CMessageData::OpaqueData(void) const
 	?SetOpaqueDataL@CMessageData@@QAEXPBVTDesC8@@VTUid@@@Z @ 83 NONAME ; void CMessageData::SetOpaqueDataL(class TDesC8 const *, class TUid)
-	?AddSendMenuItemToMenuPaneL@CSendUi@@QAEXAAHAAVCEikMenuPane@@HHVTSendingCapabilities@@@Z @ 84 NONAME ; void CSendUi::AddSendMenuItemToMenuPaneL(int &, class CEikMenuPane &, int, int, class TSendingCapabilities)
 
--- a/messagingfw/senduiservices/eabi/SENDUIU.DEF	Tue Sep 14 22:16:31 2010 +0300
+++ b/messagingfw/senduiservices/eabi/SENDUIU.DEF	Wed Oct 13 15:05:36 2010 +0300
@@ -121,5 +121,4 @@
 	_ZN16CSendUiSingleton4NewLEv @ 120 NONAME
 	_ZN12CMessageData14SetOpaqueDataLEPK6TDesC84TUid @ 121 NONAME
 	_ZNK12CMessageData10OpaqueDataEv @ 122 NONAME
-	_ZN7CSendUi26AddSendMenuItemToMenuPaneLERiR12CEikMenuPaneii20TSendingCapabilities @ 123 NONAME
 
--- a/messagingfw/senduiservices/inc/SendUiImpl.h	Tue Sep 14 22:16:31 2010 +0300
+++ b/messagingfw/senduiservices/inc/SendUiImpl.h	Wed Oct 13 15:05:36 2010 +0300
@@ -70,13 +70,7 @@
 
     /**
     * Adds menu item of given type to menupane.
-    * No menu item is added, if services are not found. 
-    * This can happen if asyncronous sending service update is not 
-    * yet finished. This API will not provide any result of
-    * requested operation. New API AddTypedMenuItemToMenuPaneL 
-    * with aResult param is added. Caller application can use this 
-    * new API to know the API operation result.
-    * 
+    *
     * @since Series 60 3.0
     * @param aMenuType Type of the menu, e.g. "ESendMenu" or "EWriteMenu"
     * @param aMenuPane Menupane where the menu item should be added.
@@ -343,34 +337,7 @@
      
      TBool IsEmailAppendableL(TMsvEntry tentry);
 	 
-     /**
-      * Adds menu item of given type to menupane and know the opeation
-      * result.
-      * No menu item is added, if services are not found. 
-      * This can happen if asyncronous sending service update is not 
-      * yet finished. Caller application can use this  API to know the
-      * API operation result.
-      * 
-      * @since Series 60 9.2      
-      * @param aResult API opeartion result. ETrue, if item is added successfully
-      *        EFalse , if failed to add item.   * 
-      * @param aMenuType Type of the menu, e.g. "ESendMenu" or "EWriteMenu"
-      * @param aMenuPane Menupane where the menu item should be added.
-      * @param aIndex The place of the menu item in menupane.
-      * @param aCommandId Command id for the menu item.
-      * @param aRequiredCapabilities Capabilities required by services to be
-      *        shown in "Send" list query. If no capabilities are required
-      *        (KCapabilitiesForAllServices), all available services are
-      *        shown in "Send" list query.    
-      * @return None.
-      */
-     void AddTypedMenuItemToMenuPaneL(
-             TBool&                      aResult,
-             CSendUi::TSendUiMenuType    aMenuType,
-             CEikMenuPane&               aMenuPane,
-             TInt                        aIndex,
-             TInt                        aCommandId,
-             TSendingCapabilities        aRequiredCapabilities = KCapabilitiesForAllServices );
+     
      
 private:
 
--- a/messagingfw/senduiservices/src/SendUi.cpp	Tue Sep 14 22:16:31 2010 +0300
+++ b/messagingfw/senduiservices/src/SendUi.cpp	Wed Oct 13 15:05:36 2010 +0300
@@ -303,28 +303,6 @@
     return iSendUiImpl->TechnologyType( aServiceUid );
     }
 
-// -----------------------------------------------------------------------------
-// CSendUi::AddSendMenuItemToMenuPaneL
-//
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CSendUi::AddSendMenuItemToMenuPaneL(
-    TBool&                       aResult,
-    CEikMenuPane&               aMenuPane,
-    TInt                        aIndex,
-    TInt                        aCommandId,
-    TSendingCapabilities        aRequiredCapabilities)
-    {
-    iSendUiImpl->AddTypedMenuItemToMenuPaneL(
-        aResult,
-        ESendMenu,
-        aMenuPane,
-        aIndex,
-        aCommandId,
-        aRequiredCapabilities
-        );
-    }
 
 // ========================== OTHER EXPORTED FUNCTIONS =========================
 
--- a/messagingfw/senduiservices/src/SendUiImpl.cpp	Tue Sep 14 22:16:31 2010 +0300
+++ b/messagingfw/senduiservices/src/SendUiImpl.cpp	Wed Oct 13 15:05:36 2010 +0300
@@ -1365,64 +1365,5 @@
         }
     return appendEmail;
     }
-// -----------------------------------------------------------------------------
-// AddTypedMenuItemToMenuPaneL
-//
-// No menu item is added, if services are not found. This can happen if 
-// asyncronous sending service update is not yet finished.
-// To inform caller about the API result, aResult param is added.
-// so that caller application will know that its request is not succesfully 
-// completed due to above reason.
-// -----------------------------------------------------------------------------
-//
-void CSendUiImpl::AddTypedMenuItemToMenuPaneL(
-    TBool&                      aResult,
-    CSendUi::TSendUiMenuType    aMenuType,
-    CEikMenuPane&               aMenuPane,
-    TInt                        aIndex,
-    TInt                        aCommandId,
-    TSendingCapabilities        aRequiredCapabilities)
-    {
-    TInt i(0);
-    TBuf<KTitleBufLength> menuItemName;
-    aResult=EFalse;
-    
-     // Read the resources
-    aMenuType == CSendUi::ESendMenu ? 
-        i = R_SENDUI_MENUITEM_SEND : 
-        i = R_SENDUI_MENUITEM_WRITE; // CSendUi::EWriteMenu
-        
-    iCoeEnv->ReadResourceL( menuItemName, i );
-  
-    for ( i = 0; i < iSendingServices.Count(); i++ )
-    {
-    TUid serviceUid = iSendingServices[i]->ServiceId();
-    if ( QueryCapabilities( i, aRequiredCapabilities ) )
-        {
-        CEikMenuPaneItem::SData data;
-        data.iCascadeId = NULL;
-        data.iText = menuItemName;
-        data.iCommandId = aCommandId;
-        data.iFlags = 0;
-
-        if ( aIndex == aMenuPane.NumberOfItemsInPane() )
-            {
-            aMenuPane.AddMenuItemL( data );
-            }
-        else
-            {
-            aMenuPane.InsertMenuItemL( data, aIndex );
-            }
-            
-        aResult = ETrue;
-        break;
-        }
-    }
-    // Hide menu item if sending is already in progress.
-    if ( aResult )
-        {
-        aMenuPane.SetItemDimmed( aCommandId, iIsSending);
-        }    
-    }
 // end of file
 
--- a/msgfw_pub/send_ui_api/inc/SendUi.h	Tue Sep 14 22:16:31 2010 +0300
+++ b/msgfw_pub/send_ui_api/inc/SendUi.h	Wed Oct 13 15:05:36 2010 +0300
@@ -72,12 +72,6 @@
 
         /**
         * Adds "Send" menu item to menupane.
-        * No menu item is added, if services are not found. 
-        * This can happen if asyncronous sending service update is not 
-        * yet finished. This API will not provide any result of
-        * requested operation. New API AddSendMenuItemToMenuPaneL 
-        * with aResult param is added. Caller application can use 
-        * this new API to know the API operation result.
         *
         * @since Series 60 3.0
         * @param aMenuPane Menupane where the "Send" menu item should be added.
@@ -368,35 +362,6 @@
         *           service doesn't exist or service is ECOM based.
         */
         IMPORT_C TUid TechnologyType( TUid aServiceUid ) const;
-        
-        /**
-         * Adds "Send" menu item to menupane  and know the opeation
-         * result.
-         * No menu item is added, if services are not found. 
-         * This can happen if asyncronous sending service update is not 
-         * yet finished. Caller application can use this  API to know the
-         * API operation result.
-         * 
-         * @since Series 60 9.2
-         * @param aResult API opeartion result. ETrue, if item is added successfully
-         *               EFalse , if failed to add item.    
-         * @param aMenuPane Menupane where the "Send" menu item should be added.
-         * @param aIndex The place of the "Send" menu item in menupane.
-         * @param aCommandId Command id for the "Send" menu item.
-         * @param aRequiredCapabilities Capabilities required by services to be
-         *        shown in "Send" list query. If no capabilities are required
-         *        (KCapabilitiesForAllServices), all available services are
-         *        shown in "Send" list query.     
-         *         
-         * @return None.
-         */
-        IMPORT_C void AddSendMenuItemToMenuPaneL(
-                TBool& aResult,
-                CEikMenuPane& aMenuPane,
-                TInt aIndex,
-                TInt aCommandId,
-                TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices
-                );
 
     private: