blob: 210abe473de0bad55f2e54fe30edd94c8b5b175d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
* indicates abstract classes (in namespace Generics)
+ on leaves: indicates non-trivial subclassing
<blank line> indicates progress ;-)
r indicates rfc2822/822 standard headers
m indicates rfc2045/et al. proposed standard headers
u indicates usefor headers
+ Base* // defines common interface
+ GUnstructured* // Base Class for unstructured header fields
+ Generic+ // can hold any header field
r + Subject
r + Comment
m + ContentDescription
+ Organization // must also be registered as "Organisation"
+ UserAgent
+ GStructured* // Base Class for structured header fields
+ GAddress* // Base Class for address-type header fields
+ MailboxList* // doesn't allow groups: From
r + From
+ SingleMailbox* // only allows a single mailbox: Sender
r + Sender
+ AddressList* // allows groups: ReplyTo, To, Cc, Bcc
r + ReplyTo
r + To
r + Cc
r + Bcc
+ MailCopiesTo // ??? listed in usefor ???
r + ReturnPath+ // allows only a single angle-addr
+ GIdent* // Base Class for "Identification Fields"
+ GSingleIdent* // allows only a single msg-id
r + MessageID
m + ContentID
u? + Supersedes
r + InReplyTo
r + References
+ GToken* // Base Class for single-token headers: CTE
m + ContentTransferEncoding
+ GDotAtom* // Base Class for single-dot-atom headers: MIME-Version
m + MIMEVersion
+ GPhraseList* // Base Class for phrase list headers: Keywords
r + Keywords
+ GParametrized* // Base Class for parametrizable headers: Content-type
+ GContentType*
m + ContentType
+ GTokenWithParameterList*
m + ContentDisposition
+ GDate* // Base class for date headers: Date
r + Date
+ GNameValPairs* // Base Class for name-value list headers: Received
r + Received
common interface:
bool isValid()
bool isEmpty()
const char* type();
Entity* parent();
void setParent( Content* );
//
// input/output:
//
// 7bit:
QCString as7BitString()
bool from7BitString( const QCString & ) // deep copy
bool from7BitString( const char * begin, const char * end ) // shallow
bool from7BitString( const char * begin, int length ) // shallow
bool from7BitString( QByteArray &, int pos, int len ) // shallow
QStringList validate( const QCString & str );
// for dialogs:
QString asUnicodeString()
bool fromUnicodeString()
QStringList validate( const QString & str );
// for reader display:
QString asHtmlString()
bool fromHtmlString() // ???
|