www.pudn.com > fanccMSNr.src.rar > InvitationMessage.cpp


#include  
#include  
using namespace boost; 
 
#include "InvitationMessage.hpp" 
#include "Charset.hpp" 
 
 
namespace poral { 
	InvitationMessage::InvitationMessage(const MIMEMessage &message) { 
		typedef tokenizer > Tokenizer; 
		Tokenizer rows(message.body, char_separator("\n\r")); 
 
		for(Tokenizer::iterator row=rows.begin(); row!=rows.end(); row++) { 
			// parse the row and store to Properties 
			Tokenizer columns(*row, char_separator(":")); 
			Tokenizer::iterator column=columns.begin(); 
			if(column==columns.end()) { 
				break; 
			} 
			Property property; 
			property.first=*column; 
			column++; 
			if(column==columns.end()) { 
				break; 
			} 
			Charset::trim(property.second, *column); 
			properties.insert(property); 
		} 
 
	} 
	void InvitationMessage::toMIMEMessage(MIMEMessage &message) const { 
		message.setName("MSG"); 
		message.version="1.0"; 
		message.contentType="text/x-msmsgsinvite; charset=UTF-8"; 
		message.body.erase(message.body.begin(), message.body.end()); 
 
		for(Properties::const_iterator i=properties.begin(); i!=properties.end(); i++) { 
			message.body.append((*i).first); 
			message.body.append(": "); 
			message.body.append((*i).second); 
			message.body.append("\r\n"); 
		} 
	} 
 
}