/
SOGoDraftObject.h
137 lines (104 loc) · 3.61 KB
/
SOGoDraftObject.h
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/*
Copyright (C) 2007-2020 Inverse inc.
Copyright (C) 2004-2005 SKYRIX Software AG
This file is part of SOGo.
SOGo is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
SOGo is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
License for more details.
You should have received a copy of the GNU Lesser General Public
License along with SOGo; see the file COPYING. If not, write to the
Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
*/
#ifndef __Mailer_SOGoDraftObject_H__
#define __Mailer_SOGoDraftObject_H__
#import "SOGoMailBaseObject.h"
/*
SOGoDraftsFolder
Parent object: SOGoDraftsFolder
Child objects: draft attachments?
The SOGoDraftObject is used for composing new messages. It is necessary
because we can't cache objects in a session. So the contents of the drafts
folder are some kind of "mail creation transaction".
TODO: store-info should be an own object, not NSDictionary.
*/
@class NSArray;
@class NSData;
@class NSDictionary;
@class NSException;
@class NSMutableDictionary;
@class NSString;
@class NGImap4Envelope;
@class NGMimeBodyPart;
@class NGMimeMessage;
@class SOGoMailObject;
@interface SOGoDraftObject : SOGoMailBaseObject
{
NSString *path;
int IMAP4ID;
int sourceIMAP4ID;
NSMutableDictionary *headers;
NSString *inReplyTo;
NSString *text;
NSString *sourceURL;
NSString *sourceFlag;
NSString *sourceFolder;
BOOL isHTML;
BOOL sign;
BOOL encrypt;
// Used during S/MIME encryption
NSMutableDictionary *certificates;
}
/* contents */
- (void) fetchInfo;
- (NSException *) storeInfo;
- (void) fetchMailForEditing: (SOGoMailObject *) sourceMail;
- (void) fetchMailForReplying: (SOGoMailObject *) sourceMail
toAll: (BOOL) toAll;
- (void) fetchMailForForwarding: (SOGoMailObject *) sourceMail;
- (void) setHeaders: (NSDictionary *) newHeaders;
- (NSDictionary *) headers;
- (void) setText: (NSString *) newText;
- (NSString *) text;
- (void) setIsHTML: (BOOL) aBool;
- (BOOL) isHTML;
- (void) setSign: (BOOL) aBool;
- (BOOL) sign;
- (void) setEncrypt: (BOOL) aBool;
- (BOOL) encrypt;
/* for replies and forwards */
- (NSString *) inReplyTo;
- (void) setInReplyTo: (NSString *) newInReplyTo;
- (void) setSourceURL: (NSString *) newSurceURL;
- (void) setSourceFlag: (NSString *) newSourceFlag;
- (void) setSourceFolder: (NSString *) newSourceFolder;
- (NSString *) sourceFolder;
- (void) setSourceIMAP4ID: (int) newSourceIMAPID;
- (int) sourceIMAP4ID;
- (void) setIMAP4ID: (int) newIMAPID;
- (int) IMAP4ID;
/* attachments */
- (NSArray *) fetchAttachmentAttrs;
- (NGMimeBodyPart *) bodyPartForAttachmentWithName: (NSString *) _name;
- (NSString *) pathToAttachmentWithName: (NSString *) _name;
- (NSException *) saveAttachment: (NSData *) _attach
withMetadata: (NSMutableDictionary *) metadata;
- (NSException *) deleteAttachmentWithName: (NSString *) _name;
/* NGMime representations */
- (NSData *) mimeMessageForRecipient: (NSString *) theRecipient;
/* operations */
- (NSArray *) allRecipients;
- (NSArray *) allBareRecipients;
- (NSException *) delete;
- (NSException *) sendMail;
- (NSException *) sendMailAndCopyToSent: (BOOL) copyToSent; /* default: YES */
- (NSException *) save;
// /* fake being a SOGoMailObject */
// - (id) fetchParts: (NSArray *) _parts;
@end
#endif /* __Mailer_SOGoDraftObject_H__ */