MCPcopy Create free account
hub / github.com/MailCore/mailcore2 / replyHeader

Method replyHeader

src/core/abstract/MCMessageHeader.cpp:1149–1195  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1147}
1148
1149MessageHeader * MessageHeader::replyHeader(bool replyAll, Array * addressesExcludedFromRecipient)
1150{
1151 MessageHeader * result;
1152 String * subjectValue;
1153 Array * referencesValue;
1154 Array * inReplyTo;
1155 Array * toValue;
1156 Array * ccValue;
1157
1158 referencesValue = NULL;
1159 inReplyTo = NULL;
1160
1161 result = new MessageHeader();
1162 if (subject() == NULL) {
1163 subjectValue = MCSTR("Re: ");
1164 }
1165 else {
1166 if (!subject()->lowercaseString()->hasPrefix(MCSTR("re:"))) {
1167 subjectValue = MCSTR("Re: ")->stringByAppendingString(subject());
1168 }
1169 else {
1170 subjectValue = (String *) subject()->copy()->autorelease();
1171 }
1172 }
1173 if (references() != NULL) {
1174 referencesValue = (Array *) (references()->copy());
1175 referencesValue->autorelease();
1176 if (messageID() != NULL ) {
1177 referencesValue->addObject(messageID());
1178 }
1179 }
1180 if (messageID()) {
1181 inReplyTo = Array::array();
1182 inReplyTo->addObject(messageID());
1183 }
1184 toValue = recipientWithReplyAll(replyAll, true, false, addressesExcludedFromRecipient);
1185 ccValue = recipientWithReplyAll(replyAll, false, true, addressesExcludedFromRecipient);;
1186
1187 result->setSubject(subjectValue);
1188 result->setReferences(referencesValue);
1189 result->setInReplyTo(inReplyTo);
1190 result->setTo(toValue);
1191 result->setCc(ccValue);
1192
1193 result->autorelease();
1194 return result;
1195}
1196
1197MessageHeader * MessageHeader::forwardHeader()
1198{

Callers

nothing calls this directly

Calls 11

hasPrefixMethod · 0.80
lowercaseStringMethod · 0.80
autoreleaseMethod · 0.45
copyMethod · 0.45
addObjectMethod · 0.45
setSubjectMethod · 0.45
setReferencesMethod · 0.45
setInReplyToMethod · 0.45
setToMethod · 0.45
setCcMethod · 0.45

Tested by

no test coverage detected