email/imap4mtm/imapprotocolcontroller/src/cimapopfetchbody.cpp
branchRCL_3
changeset 26 ebe688cedc25
parent 20 94cccd85bd25
child 27 7fdbb852d323
equal deleted inserted replaced
25:fa1df4b99609 26:ebe688cedc25
   165 @param aGetPartialMailInfo: partial fetch settings.
   165 @param aGetPartialMailInfo: partial fetch settings.
   166 */
   166 */
   167 void CImapOpFetchBody::FetchBodyL(TRequestStatus& aRequestStatus, const TMsvId aPart, const TImImap4GetPartialMailInfo& aGetPartialMailInfo)
   167 void CImapOpFetchBody::FetchBodyL(TRequestStatus& aRequestStatus, const TMsvId aPart, const TImImap4GetPartialMailInfo& aGetPartialMailInfo)
   168 	{
   168 	{
   169 	__LOG_TEXT(iSession->LogId(), "CImapOpFetchBody::FetchBodyL(): fetching message");
   169 	__LOG_TEXT(iSession->LogId(), "CImapOpFetchBody::FetchBodyL(): fetching message");
   170 
   170 	
       
   171 	if(IsActive())
       
   172 	{
       
   173 	    Cancel();
       
   174 	}
       
   175 	
   171 	iRequestedPart=aPart;
   176 	iRequestedPart=aPart;
   172 	iGetPartialMailInfo=aGetPartialMailInfo;
   177 	iGetPartialMailInfo=aGetPartialMailInfo;
   173 	Queue(aRequestStatus);
   178 	Queue(aRequestStatus);
   174 	// sets the next state and sets active
   179 	// sets the next state and sets active
   175 	DoFetchL();
   180 	DoFetchL();
  1406 	// text/x-vcard?
  1411 	// text/x-vcard?
  1407 	else if (aMime.ContentSubType().CompareF(KMIME_XVCARD)==0)
  1412 	else if (aMime.ContentSubType().CompareF(KMIME_XVCARD)==0)
  1408 		{
  1413 		{
  1409 		// Set vCard flag in message
  1414 		// Set vCard flag in message
  1410 		aMessage.SetVCard(ETrue);
  1415 		aMessage.SetVCard(ETrue);
       
  1416 		aMessage.iType=KUidMsvEmailTextEntry;
  1411 		}
  1417 		}
  1412 	// text/x-vcalendar
  1418 	// text/x-vcalendar
  1413 	else if (aMime.ContentSubType().CompareF(KMIME_VCALENDAR)==0)
  1419 	else if (aMime.ContentSubType().CompareF(KMIME_VCALENDAR)==0)
  1414 		{
  1420 		{
  1415 		// Set vCalendar flag in message
  1421 		// Set vCalendar flag in message
  1416 		aMessage.SetVCalendar(ETrue);
  1422 		aMessage.SetVCalendar(ETrue);
  1417 		iIsVCalendar = ETrue;
  1423 		iIsVCalendar = ETrue;
       
  1424 		aMessage.iType=KUidMsvEmailTextEntry;
  1418 		}
  1425 		}
  1419 	// text/calendar
  1426 	// text/calendar
  1420 	else if (aMime.ContentSubType().CompareF(KMIME_ICALENDAR)==0)
  1427 	else if (aMime.ContentSubType().CompareF(KMIME_ICALENDAR)==0)
  1421 		{
  1428 		{
  1422 		// Set iCalendar flag in message
  1429 		// Set iCalendar flag in message
  1423 		aMessage.SetICalendar(ETrue);
  1430 		aMessage.SetICalendar(ETrue);
  1424 		iIsICalendar = ETrue;
  1431 		iIsICalendar = ETrue;
       
  1432 		aMessage.iType=KUidMsvEmailTextEntry;
  1425 		}
  1433 		}
  1426 	else
  1434 	else
  1427 		aMessage.iType=KUidMsvEmailTextEntry;
  1435 		aMessage.iType=KUidMsvEmailTextEntry;
  1428 	}
  1436 	}
  1429 
  1437 
  1500 	{
  1508 	{
  1501 	// Add the diposition name as the first pair of parameters.
  1509 	// Add the diposition name as the first pair of parameters.
  1502 	TPtrC8 dispositionName = aBodyStructure->ExtDispositionName();
  1510 	TPtrC8 dispositionName = aBodyStructure->ExtDispositionName();
  1503 	if (dispositionName.Size() != 0)
  1511 	if (dispositionName.Size() != 0)
  1504 		{
  1512 		{
       
  1513 		aMime.SetContentDispositionL(dispositionName);	
  1505 		__LOG_FORMAT((iSession->LogId(), "    adding disp name: %S", &dispositionName));
  1514 		__LOG_FORMAT((iSession->LogId(), "    adding disp name: %S", &dispositionName));
  1506 		aMime.ContentDispositionParams().AppendL(dispositionName);
  1515 		aMime.ContentDispositionParams().AppendL(dispositionName);
  1507 		aMime.ContentDispositionParams().AppendL(KNullDesC8);
  1516 		aMime.ContentDispositionParams().AppendL(KNullDesC8);
  1508 		}
  1517 		}
  1509 	
  1518 	
  1887 	    {
  1896 	    {
  1888         aEntry.iDetails.Set(aHeader->From());
  1897         aEntry.iDetails.Set(aHeader->From());
  1889 	    }
  1898 	    }
  1890 	if(aHeader->Subject().Length() > 0)
  1899 	if(aHeader->Subject().Length() > 0)
  1891 	    {
  1900 	    {
  1892 	    // Set subject in TMsvEntry
  1901 	// Set subject in TMsvEntry
  1893 	    aEntry.iDescription.Set(aHeader->Subject());
  1902 	    aEntry.iDescription.Set(aHeader->Subject());
  1894 	    }
  1903 	    }
  1895 
  1904 
  1896 	__LOG_TEXT(iSession->LogId(), "   Finished processing envelope information");
  1905 	__LOG_TEXT(iSession->LogId(), "   Finished processing envelope information");
  1897 	}
  1906 	}