emailservices/emailcommon/src/CFSMailMessageBase.cpp
changeset 62 a8c646b56683
parent 43 99bcbff212ad
child 74 6c59112cfd31
equal deleted inserted replaced
57:ae34e1715e21 62:a8c646b56683
     1 /*
     1 /*
     2 * Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
     2 * Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). 
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
    61 CFSMailMessageBase::CFSMailMessageBase(): iSender(NULL)
    61 CFSMailMessageBase::CFSMailMessageBase(): iSender(NULL)
    62 {
    62 {
    63     NM_FUNCTION;
    63     NM_FUNCTION;
    64     
    64     
    65 // <qmail> unnecessary member initialization removed: iSubject, iFlags </qmail>
    65 // <qmail> unnecessary member initialization removed: iSubject, iFlags </qmail>
    66   	// set request handler pointer
    66     // set request handler pointer
    67 	iRequestHandler = static_cast<CFSMailRequestHandler*>(Dll::Tls());
    67   iRequestHandler = static_cast<CFSMailRequestHandler*>(Dll::Tls());
    68 }
    68 }
    69 
    69 
    70 // -----------------------------------------------------------------------------
    70 // -----------------------------------------------------------------------------
    71 // CFSMailMessageBase::ConstructL
    71 // CFSMailMessageBase::ConstructL
    72 // -----------------------------------------------------------------------------
    72 // -----------------------------------------------------------------------------
    76     
    76     
    77 // <qmail>
    77 // <qmail>
    78     // Construction of shared data object
    78     // Construction of shared data object
    79     iNmPrivateMessageEnvelope = new NmMessageEnvelopePrivate();
    79     iNmPrivateMessageEnvelope = new NmMessageEnvelopePrivate();
    80 
    80 
    81 	// typedef long int TInt32 -> typedef unsigned int quint32
    81   // typedef long int TInt32 -> typedef unsigned int quint32
    82     iNmPrivateMessageEnvelope->mMessageId.setId32((quint32)aMessageId.Id() );
    82     iNmPrivateMessageEnvelope->mMessageId.setId32((quint32)aMessageId.Id() );
    83 
    83 
    84 	// typedef unsigned int TUint -> typedef unsigned int quint32
    84   // typedef unsigned int TUint -> typedef unsigned int quint32
    85     iNmPrivateMessageEnvelope->mMessageId.setPluginId32((quint32)aMessageId.PluginId().iUid);
    85     iNmPrivateMessageEnvelope->mMessageId.setPluginId32((quint32)aMessageId.PluginId().iUid);
    86 
    86 
    87     // construct the CFSMailAddress object and connect it with NmAddress private data
    87     // construct the CFSMailAddress object and connect it with NmAddress private data 
    88     iSender = CFSMailAddress::NewL(iNmPrivateMessageEnvelope->mSender);
    88     iSender = CFSMailAddress::NewL(iNmPrivateMessageEnvelope->mSender);
    89 // </qmail>
    89 // </qmail>
    90 }
    90 }
    91 
    91 
    92 // <qmail>
    92 // <qmail>
   107 // -----------------------------------------------------------------------------
   107 // -----------------------------------------------------------------------------
   108 EXPORT_C CFSMailMessageBase::~CFSMailMessageBase()
   108 EXPORT_C CFSMailMessageBase::~CFSMailMessageBase()
   109 {
   109 {
   110     NM_FUNCTION;
   110     NM_FUNCTION;
   111     
   111     
   112 	if(iSender)
   112   if(iSender)
   113 		{
   113     {
   114 		delete iSender;
   114     delete iSender;
   115 		iSender = NULL;
   115     iSender = NULL;
   116 		}
   116     }
   117 // <qmail> unnecessary member destruction removed: iSubject, iToRecipients, iCcRecipients, iBccRecipients </qmail>
   117 // <qmail> unnecessary member destruction removed: iSubject, iToRecipients, iCcRecipients, iBccRecipients </qmail>
   118 }
   118 }
   119 
   119 
   120 // -----------------------------------------------------------------------------
   120 // -----------------------------------------------------------------------------
   121 // CFSMailMessageBase::GetMessageId
   121 // CFSMailMessageBase::GetMessageId
   130     
   130     
   131     //For message part
   131     //For message part
   132     if(id.IsNullId()){
   132     if(id.IsNullId()){
   133         id = TFSMailMsgId(iNmPrivateMessageEnvelope->mFolderId);
   133         id = TFSMailMsgId(iNmPrivateMessageEnvelope->mFolderId);
   134     }
   134     }
   135 	
   135   
   136     return id;
   136     return id;
   137 // </qmail>
   137 // </qmail>
   138 }
   138 }
   139 
   139 
   140 // <qmail>
   140 // <qmail>
   208 EXPORT_C void CFSMailMessageBase::SetSender(CFSMailAddress* aSender)
   208 EXPORT_C void CFSMailMessageBase::SetSender(CFSMailAddress* aSender)
   209 {
   209 {
   210     NM_FUNCTION;
   210     NM_FUNCTION;
   211     
   211     
   212 // <qmail>
   212 // <qmail>
   213 	// store sender
   213     // store sender
   214 	if (iSender)
   214     if (iSender)
   215 		{
   215         {
   216 		delete iSender;
   216         delete iSender;
   217         iSender = NULL;
   217         iSender = NULL;
   218 		}
   218         }
   219 	iSender = aSender;
   219     if (!aSender) 
       
   220         {
       
   221         TRAP_IGNORE(iSender = CFSMailAddress::NewL());
       
   222         }
       
   223     else 
       
   224         {
       
   225         iSender = aSender;
       
   226         }   
   220     iNmPrivateMessageEnvelope->mSender = iSender->GetNmAddress();
   227     iNmPrivateMessageEnvelope->mSender = iSender->GetNmAddress();
   221 // </qmail>
   228 // </qmail>
   222 }
   229 }
   223 
   230 
   224 // -----------------------------------------------------------------------------
   231 // -----------------------------------------------------------------------------
   226 // -----------------------------------------------------------------------------
   233 // -----------------------------------------------------------------------------
   227 EXPORT_C CFSMailAddress* CFSMailMessageBase::GetSender() const
   234 EXPORT_C CFSMailAddress* CFSMailMessageBase::GetSender() const
   228 {
   235 {
   229     NM_FUNCTION;
   236     NM_FUNCTION;
   230     
   237     
   231 	return iSender;
   238   return iSender;
   232 }
   239 }
   233 
   240 
   234 // -----------------------------------------------------------------------------
   241 // -----------------------------------------------------------------------------
   235 // CFSMailMessageBase::GetToRecipients
   242 // CFSMailMessageBase::GetToRecipients
   236 // -----------------------------------------------------------------------------
   243 // -----------------------------------------------------------------------------
   276 EXPORT_C void CFSMailMessageBase::AppendToRecipient(CFSMailAddress* aRecipient)
   283 EXPORT_C void CFSMailMessageBase::AppendToRecipient(CFSMailAddress* aRecipient)
   277 {
   284 {
   278     NM_FUNCTION;
   285     NM_FUNCTION;
   279     
   286     
   280 // <qmail>
   287 // <qmail>
   281     iNmPrivateMessageEnvelope->mToRecipients.append(
   288     if (aRecipient) 
   282         aRecipient->GetNmAddress());
   289         {
       
   290         iNmPrivateMessageEnvelope->mToRecipients.append(aRecipient->GetNmAddress());
       
   291         }
   283 // </qmail>
   292 // </qmail>
   284 }
   293 }
   285 
   294 
   286 // -----------------------------------------------------------------------------
   295 // -----------------------------------------------------------------------------
   287 // CFSMailMessageBase::AppendCCRecipient
   296 // CFSMailMessageBase::AppendCCRecipient
   289 EXPORT_C void CFSMailMessageBase::AppendCCRecipient(CFSMailAddress* aRecipient )
   298 EXPORT_C void CFSMailMessageBase::AppendCCRecipient(CFSMailAddress* aRecipient )
   290 {
   299 {
   291     NM_FUNCTION;
   300     NM_FUNCTION;
   292     
   301     
   293 // <qmail>
   302 // <qmail>
   294     iNmPrivateMessageEnvelope->mCcRecipients.append(
   303     if (aRecipient) 
   295         aRecipient->GetNmAddress());
   304         {
       
   305         iNmPrivateMessageEnvelope->mCcRecipients.append(
       
   306             aRecipient->GetNmAddress());
       
   307         }
   296 // </qmail>
   308 // </qmail>
   297 }
   309 }
   298 
   310 
   299 // -----------------------------------------------------------------------------
   311 // -----------------------------------------------------------------------------
   300 // CFSMailMessageBase::AppendBCCRecipient
   312 // CFSMailMessageBase::AppendBCCRecipient
   302 EXPORT_C void CFSMailMessageBase::AppendBCCRecipient( CFSMailAddress* aRecipient )
   314 EXPORT_C void CFSMailMessageBase::AppendBCCRecipient( CFSMailAddress* aRecipient )
   303 {
   315 {
   304     NM_FUNCTION;
   316     NM_FUNCTION;
   305     
   317     
   306 // <qmail>
   318 // <qmail>
   307     iNmPrivateMessageEnvelope->mBccRecipients.append(
   319     if (aRecipient)
   308         aRecipient->GetNmAddress());
   320         {
       
   321         iNmPrivateMessageEnvelope->mBccRecipients.append(
       
   322             aRecipient->GetNmAddress());
       
   323         }
   309 // </qmail>      
   324 // </qmail>      
   310 }
   325 }
   311 
   326 
   312 // -----------------------------------------------------------------------------
   327 // -----------------------------------------------------------------------------
   313 // CFSMailMessageBase::ClearToRecipients
   328 // CFSMailMessageBase::ClearToRecipients
   314 // -----------------------------------------------------------------------------
   329 // -----------------------------------------------------------------------------
   315 EXPORT_C void CFSMailMessageBase::ClearToRecipients( )
   330 EXPORT_C void CFSMailMessageBase::ClearToRecipients( )
   316 	{
   331 {
   317     NM_FUNCTION;
   332     NM_FUNCTION;
   318     
   333     
   319 // <qmail>
   334 // <qmail>
   320     iNmPrivateMessageEnvelope->mToRecipients.clear();
   335     iNmPrivateMessageEnvelope->mToRecipients.clear();
   321 // </qmail>
   336 // </qmail>
   322 	}
   337 }
   323 
   338 
   324 // -----------------------------------------------------------------------------
   339 // -----------------------------------------------------------------------------
   325 // CFSMailMessageBase::ClearCcRecipients
   340 // CFSMailMessageBase::ClearCcRecipients
   326 // -----------------------------------------------------------------------------
   341 // -----------------------------------------------------------------------------
   327 EXPORT_C void CFSMailMessageBase::ClearCcRecipients( )
   342 EXPORT_C void CFSMailMessageBase::ClearCcRecipients( )
   328 	{
   343 {
   329     NM_FUNCTION;
   344     NM_FUNCTION;
   330     
   345     
   331 // <qmail>
   346 // <qmail>
   332     iNmPrivateMessageEnvelope->mCcRecipients.clear();
   347     iNmPrivateMessageEnvelope->mCcRecipients.clear();
   333 // </qmail>
   348 // </qmail>
   334 	}
   349 }
   335 
   350 
   336 // -----------------------------------------------------------------------------
   351 // -----------------------------------------------------------------------------
   337 // CFSMailMessageBase::ClearBccRecipients
   352 // CFSMailMessageBase::ClearBccRecipients
   338 // -----------------------------------------------------------------------------
   353 // -----------------------------------------------------------------------------
   339 EXPORT_C void CFSMailMessageBase::ClearBccRecipients( )
   354 EXPORT_C void CFSMailMessageBase::ClearBccRecipients( )
   340 	{
   355 {
   341     NM_FUNCTION;
   356     NM_FUNCTION;
   342     
   357     
   343 // <qmail>
   358 // <qmail>
   344     iNmPrivateMessageEnvelope->mBccRecipients.clear();
   359     iNmPrivateMessageEnvelope->mBccRecipients.clear();
   345 // </qmail>
   360 // </qmail>
   346 	}
   361 }
   347 
   362 
   348 //<qmail>
   363 //<qmail>
   349 // -----------------------------------------------------------------------------
   364 // -----------------------------------------------------------------------------
   350 // CFSMailMessageBase::GetSubject
   365 // CFSMailMessageBase::GetSubject
   351 // -----------------------------------------------------------------------------
   366 // -----------------------------------------------------------------------------
   449     return result;
   464     return result;
   450 // <qmail>
   465 // <qmail>
   451 }
   466 }
   452 
   467 
   453 // -----------------------------------------------------------------------------
   468 // -----------------------------------------------------------------------------
   454 // CFSMailMessageBase::IsRelatedTo
       
   455 // -----------------------------------------------------------------------------
       
   456 EXPORT_C TFSMailMsgId CFSMailMessageBase::IsRelatedTo() const
       
   457 	{
       
   458     NM_FUNCTION;
       
   459     
       
   460 	return iRelatedTo;
       
   461 	}
       
   462 
       
   463 // -----------------------------------------------------------------------------
       
   464 // CFSMailMessageBase::SetRelatedTo
       
   465 // -----------------------------------------------------------------------------
       
   466 EXPORT_C void CFSMailMessageBase::SetRelatedTo( const TFSMailMsgId aMessageId )
       
   467 	{
       
   468     NM_FUNCTION;
       
   469     
       
   470 	iRelatedTo = aMessageId;
       
   471 	}
       
   472 
       
   473 // -----------------------------------------------------------------------------
       
   474 // CFSMailMessageBase::SetReplyToAddress
   469 // CFSMailMessageBase::SetReplyToAddress
   475 // -----------------------------------------------------------------------------
   470 // -----------------------------------------------------------------------------
   476 EXPORT_C void CFSMailMessageBase::SetReplyToAddress(CFSMailAddress* aReplyToAddress)
   471 EXPORT_C void CFSMailMessageBase::SetReplyToAddress(CFSMailAddress* aReplyToAddress)
   477 {
   472 {
   478     NM_FUNCTION;
   473     NM_FUNCTION;
   479     
   474     
   480 	// store sender
   475   // store sender
   481 	if (iReplyTo)
   476   if (iReplyTo)
   482 		{
   477     {
   483 		delete iReplyTo;
   478     delete iReplyTo;
   484 		}
   479     }
   485 	iReplyTo = aReplyToAddress;
   480   iReplyTo = aReplyToAddress;
   486 
   481 
   487 }
   482 }
   488 
   483 
   489 // -----------------------------------------------------------------------------
   484 // -----------------------------------------------------------------------------
   490 // CFSMailMessageBase::GetReplyToAddress
   485 // CFSMailMessageBase::GetReplyToAddress
   491 // -----------------------------------------------------------------------------
   486 // -----------------------------------------------------------------------------
   492 EXPORT_C const CFSMailAddress& CFSMailMessageBase::GetReplyToAddress()
   487 EXPORT_C const CFSMailAddress& CFSMailMessageBase::GetReplyToAddress()
   493 {
   488 {
   494     NM_FUNCTION;
   489     NM_FUNCTION;
   495     
   490     
   496 	return *iReplyTo;
   491     return *iReplyTo;
   497 }
   492 }
   498 
   493 
   499 EXPORT_C CFSMailRequestHandler& CFSMailMessageBase::RequestHandler( )
   494 EXPORT_C CFSMailRequestHandler& CFSMailMessageBase::RequestHandler( )
   500 {
   495 {
   501     NM_FUNCTION;
   496     NM_FUNCTION;
   502     
   497     
   503 	return *iRequestHandler;
   498     return *iRequestHandler;
   504 }
   499 }
   505 
   500 
   506 // <qmail>
   501 // <qmail>
   507 // -----------------------------------------------------------------------------
   502 // -----------------------------------------------------------------------------
   508 // CFSMailMessageBase::GetNmMessageEnvelope
   503 // CFSMailMessageBase::GetNmMessageEnvelope