|
|
 |
|
|
|
|
13: // as well as constructor from storage
14: // and constructor from wire format
15: // Also include constructors from other formats
16: ~PostMasterMessage();
17: pAddress& GetSender() const;
18: void SetSender (pAddress&);
19: // other member accessors
20:
21: // operator methods here, including operator equals
22: // and conversion routines to turn PostMaster messages
23: // into messages of other formats.
24:
25: private:
26: pAddress itsSender;
27: pAddress itsRecipient;
28: pString itsSubject;
29: pDate itsCreationDate;
30: pDate itsLastModDate;
31: pDate itsReceiptDate;
32: pDate itsFirstReadDate;
33: pDate itsLastReadDate;
34: }; |
|
|
|
|
|
|
|
|
Output: This listing has no output. |
|
|
|
|
|
|
|
|
Analysis: Class PostMasterMessage is declared to derive from MailMessage. A number of constructors will be provided, facilitating the creation of PostMasterMessages from other types of mail messages. |
|
|
|
|
|
|
|
|
A number of accessor methods are anticipated for reading and setting the various member date, as well as operators for turning all or part of this message into other message formats. You anticipate storing these messages to disk and reading them from the wire, so accessor methods are noted for those purposes as well. |
|
|
|
|
|
|
|
|
Programming in Large Groups |
|
|
|
|
|
|
|
|
Even this preliminary architecture is enough to indicate how the various development groups ought to proceed. The Communications group can go ahead and start work on the communications back end, negotiating a narrow interface with the Message Format group. |
|
|
|
|
|
|
|
|
The Message Format group will probably lay out the general interface to the Message classes, as was begun earlier, and then will turn its attention to the question of how to write data to the disk and read it back. Once this disk interface is well understood, the team will be in a good position to negotiate the interface to the communications layer. |
|
|
|
|
|