| 1147 | } |
| 1148 | |
| 1149 | MessageHeader * 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 | |
| 1197 | MessageHeader * MessageHeader::forwardHeader() |
| 1198 | { |
nothing calls this directly
no test coverage detected