| 309 | } |
| 310 | |
| 311 | void AbstractPart::applyUniquePartID() |
| 312 | { |
| 313 | Array * queue = new Array(); |
| 314 | queue->addObject(this); |
| 315 | unsigned int queueIndex = 0; |
| 316 | unsigned int identifier = 0; |
| 317 | while (queueIndex < queue->count()) { |
| 318 | AbstractPart * part = (AbstractPart *) queue->objectAtIndex(queueIndex); |
| 319 | switch (part->partType()) { |
| 320 | case PartTypeSingle: |
| 321 | part->setUniqueID(String::stringWithUTF8Format("%u", identifier)); |
| 322 | identifier ++; |
| 323 | break; |
| 324 | case PartTypeMessage: |
| 325 | queue->addObject(((AbstractMessagePart *) part)->mainPart()); |
| 326 | break; |
| 327 | case PartTypeMultipartMixed: |
| 328 | case PartTypeMultipartRelated: |
| 329 | case PartTypeMultipartAlternative: |
| 330 | case PartTypeMultipartSigned: |
| 331 | queue->addObjectsFromArray(((AbstractMultipart *) part)->parts()); |
| 332 | break; |
| 333 | } |
| 334 | queueIndex ++; |
| 335 | } |
| 336 | queue->release(); |
| 337 | } |
| 338 | |
| 339 | HashMap * AbstractPart::serializable() |
| 340 | { |
no test coverage detected