Dacons LLP Mailit for C/C++ | Version 1.0.8 |
Emai::MessagePartEnumerator Class ReferenceUtility class which implements basic algorithm for enumerating parts in the message. More...
Inheritance diagram for Emai::MessagePartEnumerator: ![]()
Detailed DescriptionUtility class which implements basic algorithm for enumerating parts in the message.
Definition at line 31 of file EmaiMessagePartEnumerator.hpp. Member Function Documentation
Process message header fields. Extract message sender, recipients, subject, etc.
Definition at line 251 of file EmaiMessagePartEnumerator.hpp. References EmaiBCC, EmaiCC, EmaiFrom, EmaiReplyTo, EmaiSender, EmaiSubject, EmaiTo, Emai::Message::GetField(), mMessage, MessagePartEnumerator::OnSubject(), and ProcessContacts(). Referenced by Enumerate(). 00252 { 00253 ProcessContacts(EmaiFrom); 00254 ProcessContacts(EmaiTo); 00255 ProcessContacts(EmaiCC); 00256 ProcessContacts(EmaiSender); 00257 ProcessContacts(EmaiReplyTo); 00258 ProcessContacts(EmaiBCC); 00259 EmaiConstUniCharPtr subject = mMessage.GetField(NULL, EmaiSubject); 00260 if (subject != NULL) 00261 OnSubject(subject); 00262 }
Process message contacts.
Definition at line 265 of file EmaiMessagePartEnumerator.hpp. References Emai::ContactList::AddContact(), Emai::Message::CopyContactList(), Emai::Message::GetField(), mMessage, and MessagePartEnumerator::OnContacts(). Referenced by ProcessHeaderFields(). 00268 { 00269 Emai::ContactList contactList; 00270 try 00271 { 00272 contactList = mMessage.CopyContactList(inOptions); 00273 } 00274 catch (Emai::Exception& /*exception*/) 00275 { 00276 //contact list cannot be parsed: just use noone@nowhere 00277 EmaiUniChar dummyAddress[] = {'n', 'o', 'o', 'n', 'e', '@', 'n', 'o', 'w', 'h', 'e', 'r', 'e', '\0'}; 00278 contactList.AddContact(mMessage.GetField(NULL, inOptions), dummyAddress); 00279 } 00280 if (contactList != NULL) 00281 OnContacts(contactList, inOptions); 00282 }
Process message parts.
Definition at line 305 of file EmaiMessagePartEnumerator.hpp. References EmaiPartData::composite, EmaiPartCompositeData, EmaiPartDataData, EmaiPartHTMLData, EmaiPartPlainTextData, EmaiPartUnicodeTextData, EmaiStructureVersionFirst, Emai::MessagePart::GetData(), MessagePartEnumerator::OnCompositePartEnd(), MessagePartEnumerator::OnCompositePartStart(), MessagePartEnumerator::OnDataPart(), MessagePartEnumerator::OnHtmlTextPart(), MessagePartEnumerator::OnPlainTextPart(), MessagePartEnumerator::OnUnicodePlainTextPart(), EmaiPartData::partData, EmaiPartData::partType, EmaiCompositePartData::subPartCount, and EmaiCompositePartData::subParts. Referenced by ProcessMessageParts(). 00308 { 00309 EmaiPartData dataDesc = {EmaiStructureVersionFirst}; 00310 try 00311 { 00312 inPart.GetData(dataDesc); 00313 switch (dataDesc.partType) 00314 { 00315 case EmaiPartPlainTextData: 00316 OnPlainTextPart(inPart, dataDesc); 00317 break; 00318 case EmaiPartUnicodeTextData: 00319 OnUnicodePlainTextPart(inPart, dataDesc); 00320 break; 00321 case EmaiPartHTMLData: 00322 OnHtmlTextPart(inPart, dataDesc); 00323 break; 00324 case EmaiPartDataData: 00325 OnDataPart(inPart, dataDesc); 00326 break; 00327 case EmaiPartCompositeData: 00328 { 00329 OnCompositePartStart(inPart, dataDesc); 00330 00331 for (EmaiUint32 i = 0; i < dataDesc.partData.composite.subPartCount; 00332 ++i) 00333 { 00334 MessagePart subPart(dataDesc.partData.composite.subParts[i], true); 00335 ProcessMessagePart(subPart); 00336 } 00337 00338 OnCompositePartEnd(inPart, dataDesc); 00339 00340 break; 00341 } 00342 default: 00343 break; 00344 } 00345 } 00346 catch (Emai::Exception& /*exception*/) 00347 { 00348 } 00349 }
Pure virtual function; handles the contact fields receiving.
Implemented in MessagePartEnumerator.
Pure virtual function; handles the message subject field receiving.
Implemented in MessagePartEnumerator.
Pure virtual function; this method will be triggered, when Plain Text message part is found during message source code processing EmaiPartData::partType selector will be set to the EmaiEnumMessagePartType::EmaiPartPlainTextData value.
Implemented in MessagePartEnumerator.
Pure virtual function; this method will be triggered, when Unicode Plain Text message part is found during message source code processing EmaiPartData::partType selector will be set to the EmaiEnumMessagePartType::EmaiPartUnicodeTextData value.
Implemented in MessagePartEnumerator.
Pure virtual function; this method will be triggered, when HTML Text message part is found during message source code processing EmaiPartData::partType selector will be set to the EmaiEnumMessagePartType::EmaiPartHTMLData value.
Implemented in MessagePartEnumerator.
Pure virtual function; this method will be triggered, when Data message part is found during message source code processing EmaiPartData::partType selector will be set to the EmaiEnumMessagePartType::EmaiPartDataData value.
Implemented in MessagePartEnumerator.
Pure virtual function; this method will be triggered, when Composite message part start is found during message source code processing. For example, when Multipart/Mixed block begins. EmaiPartData::partType selector will be set to the EmaiEnumMessagePartType::EmaiPartCompositeData value.
Implemented in MessagePartEnumerator.
Pure virtual function; this method will be triggered, when Composite message part end is found during message source code processing. For example, when Multipart/Mixed block ends. EmaiPartData::partType selector will be set to the EmaiEnumMessagePartType::EmaiPartCompositeData value.
Implemented in MessagePartEnumerator.
The documentation for this class was generated from the following file: |