makefiles: Don't use standard libs for programs that specify -nodefaultlibs.
[wine/zf.git] / include / cdosys.idl
blob2617403f05b9341cdef00f684524ad29beb018bf
1 /*
2 * Copyright (C) 2019 Alistair Leslie-Hughes
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18 import "unknwn.idl";
19 import "objidl.idl";
20 import "oaidl.idl";
21 import "msado15_backcompat.idl";
23 #if !defined(progid) && !defined(__WIDL__)
24 #define threading(model)
25 #define progid(str)
26 #define vi_progid(str)
27 #endif
30 uuid(cd000000-8b95-11d1-82db-00c04fb1625d),
31 version(1.0)
33 library CDO
35 importlib("stdole2.tlb");
37 interface IBodyPart;
39 typedef enum
41 cdoDSNDefault = 0,
42 cdoDSNNever = 1,
43 cdoDSNFailure = 2,
44 cdoDSNSuccess = 4,
45 cdoDSNDelay = 8,
46 cdoDSNSuccessFailOrDelay = 14
47 } CdoDSNOptions;
49 typedef enum
51 cdoRefTypeId = 0,
52 cdoRefTypeLocation = 1
53 } CdoReferenceType;
55 typedef enum
57 cdoSuppressNone = 0,
58 cdoSuppressImages = 1,
59 cdoSuppressBGSounds = 2,
60 cdoSuppressFrames = 4,
61 cdoSuppressObjects = 8,
62 cdoSuppressStyleSheets = 16,
63 cdoSuppressAll = 31
64 } CdoMHTMLFlags;
66 typedef enum
68 cdoDefaults = 0xffffffff,
69 cdoIIS = 1,
70 cdoOutlookExpress = 2
71 } CdoConfigSource;
74 odl,
75 uuid(cd000029-8b95-11d1-82db-00c04fb1625d),
76 dual,
77 nonextensible,
78 oleautomation
80 interface IDataSource : IDispatch
82 [id(0x000000cf), propget]
83 HRESULT SourceClass([out, retval] BSTR *source);
85 [id(0x000000d0)]
86 HRESULT Source([out, retval] IUnknown **source);
88 [id(0x000000d1), propget]
89 HRESULT IsDirty([out, retval] VARIANT_BOOL *dirty);
90 [id(0x000000d1), propput]
91 HRESULT IsDirty([in] VARIANT_BOOL dirty);
93 [id(0x000000d2), propget]
94 HRESULT SourceURL([out, retval] BSTR *url);
96 [id(0x000000d3), propget]
97 HRESULT ActiveConnection([out, retval] _Connection **connection);
99 [id(0x000000fb)]
100 HRESULT SaveToObject([in] IUnknown *source, [in] BSTR iname);
102 [id(0x000000fc)]
103 HRESULT OpenObject([in] IUnknown *source, [in] BSTR iname);
105 [id(0x000000fd)]
106 HRESULT SaveTo([in] BSTR url, [in, optional, defaultvalue(NULL)] IDispatch *connection,
107 [in, optional] ConnectModeEnum mode, [in, optional] RecordCreateOptionsEnum create,
108 [in, optional] RecordOpenOptionsEnum options, [in, optional] BSTR username,
109 [in, optional] BSTR password);
111 [id(0x000000fe)]
112 HRESULT Open([in] BSTR url, [in, optional, defaultvalue(NULL)] IDispatch *connection,
113 [in, optional] ConnectModeEnum mode, [in, optional, defaultvalue(-1)] RecordCreateOptionsEnum create,
114 [in, optional] RecordOpenOptionsEnum options, [in, optional] BSTR username,
115 [in, optional] BSTR password);
117 [id(0x000000ff)]
118 HRESULT Save();
120 [id(0x00000100)]
121 HRESULT SaveToContainer([in] BSTR url, [in, optional, defaultvalue(NULL)] IDispatch *connection,
122 [in, optional] ConnectModeEnum mode, [in, optional] RecordCreateOptionsEnum create,
123 [in, optional] RecordOpenOptionsEnum options, [in, optional] BSTR username,
124 [in, optional] BSTR password);
128 odl,
129 uuid(cd000023-8b95-11d1-82db-00c04fb1625d),
130 dual,
131 nonextensible,
132 oleautomation
134 interface IBodyParts : IDispatch
136 [id(0x00000001), propget]
137 HRESULT Count([out, retval] long *count);
139 [id(00000000), propget]
140 HRESULT Item([in] long index, [out, retval] IBodyPart **body);
142 [id(DISPID_NEWENUM), propget, restricted]
143 HRESULT _NewEnum([out, retval] IUnknown **retval);
145 [id(0x00000002)]
146 HRESULT Delete([in] VARIANT bodypart);
148 [id(0x00000003)]
149 HRESULT DeleteAll();
151 [id(0x00000004)]
152 HRESULT Add([in, optional, defaultvalue(-1)] long index, [out, retval] IBodyPart **bodypart);
156 odl,
157 uuid(cd000021-8b95-11d1-82db-00c04fb1625d),
158 dual,
159 nonextensible,
160 oleautomation
162 interface IBodyPart : IDispatch
164 [id(0x000000c8), propget]
165 HRESULT BodyParts([out, retval] IBodyParts **bodypart);
167 [id(0x000000c9), propget]
168 HRESULT ContentTransferEncoding([out, retval] BSTR *encoding);
169 [id(0x000000c9), propput]
170 HRESULT ContentTransferEncoding([in] BSTR encoding);
172 [id(0x000000ca), propget]
173 HRESULT ContentMediaType([out, retval] BSTR *mediatype);
174 [id(0x000000ca), propput]
175 HRESULT ContentMediaType([in] BSTR mediatype);
177 [id(0x000000cb), propget]
178 HRESULT Fields([out, retval] Fields *fields);
180 [id(0x000000cc), propget]
181 HRESULT Charset([out, retval] BSTR *charset);
182 [id(0x000000cc), propput]
183 HRESULT Charset([in] BSTR charset);
185 [id(0x000000cd), propget]
186 HRESULT FileName([out, retval] BSTR *filename);
188 [id(0x000000cf), propget]
189 HRESULT DataSource([out, retval] IDataSource *datasource);
191 [id(0x000000d0), propget]
192 HRESULT ContentClass([out, retval] BSTR *content);
193 [id(0x000000d0), propput]
194 HRESULT ContentClass([in] BSTR content);
196 [id(0x000000d1), propget]
197 HRESULT ContentClassName([out, retval] BSTR *name);
198 [id(0x000000d1), propput]
199 HRESULT ContentClassName([in] BSTR name);
201 [id(0x000000d2), propget]
202 HRESULT Parent([out, retval] IBodyPart **parent);
204 [id(0x000000fa)]
205 HRESULT AddBodyPart([in, optional, defaultvalue(-1)] long index, [out, retval] IBodyPart **bodypart);
207 [id(0x000000fb)]
208 HRESULT SaveToFile([in] BSTR filename);
210 [id(0x000000fc)]
211 HRESULT GetEncodedContentStream([out, retval] _Stream **stream);
213 [id(0x000000fd)]
214 HRESULT GetDecodedContentStream([out, retval] _Stream **stream);
216 [id(0x000000fe)]
217 HRESULT GetStream([out, retval] _Stream **stream);
219 [id(0x000000ff)]
220 HRESULT GetFieldParameter([in] BSTR fieldname, [in] BSTR parameter, [out, retval] BSTR *streamalue);
222 [id(0x000000a0)]
223 HRESULT GetInterface([in] BSTR iface, [out, retval] IDispatch **unk);
227 odl,
228 uuid(cd000022-8b95-11d1-82db-00c04fb1625d),
229 dual,
230 nonextensible,
231 oleautomation
233 interface IConfiguration : IDispatch
235 [id(00000000), propget]
236 HRESULT Fields([out, retval] Fields **fields);
238 [id(0x00000032)]
239 HRESULT Load([in] CdoConfigSource source, [in, optional] BSTR url);
241 [id(0x000000a0)]
242 HRESULT GetInterface([in] BSTR iname, [out, retval] IDispatch **unk);
246 odl,
247 uuid(cd000020-8b95-11d1-82db-00c04fb1625d),
248 dual,
249 nonextensible,
250 oleautomation
252 interface IMessage : IDispatch
254 [id(0x00000065), propget]
255 HRESULT BCC([out, retval] BSTR *bcc);
256 [id(0x00000065), propput]
257 HRESULT BCC([in] BSTR bcc);
259 [id(0x00000067), propget]
260 HRESULT CC([out, retval] BSTR *cc);
261 [id(0x00000067), propput]
262 HRESULT CC([in] BSTR cc);
264 [id(0x00000069), propget]
265 HRESULT FollowUpTo([out, retval] BSTR *follow);
266 [id(0x00000069), propput]
267 HRESULT FollowUpTo([in] BSTR follow);
269 [id(0x0000006a), propget]
270 HRESULT From([out, retval] BSTR *from);
271 [id(0x0000006a), propput]
272 HRESULT From([in] BSTR from);
274 [id(0x0000006b), propget]
275 HRESULT Keywords([out, retval] BSTR* keywords);
276 [id(0x0000006b), propput]
277 HRESULT Keywords([in] BSTR keywords);
279 [id(0x0000006e), propget]
280 HRESULT MimeFormatted([out, retval] VARIANT_BOOL *formatted);
281 [id(0x0000006e), propput]
282 HRESULT MimeFormatted([in] VARIANT_BOOL formatted);
284 [id(0x0000006f), propget]
285 HRESULT Newsgroups([out, retval] BSTR *newsgroups);
286 [id(0x0000006f), propput]
287 HRESULT Newsgroups([in] BSTR newsgroups);
288 [id(0x00000070), propget]
290 HRESULT Organization([out, retval] BSTR *organization);
291 [id(0x00000070), propput]
292 HRESULT Organization([in] BSTR organization);
294 [id(0x00000072), propget]
295 HRESULT ReceivedTime([out, retval] DATE *received);
297 [id(0x00000073), propget]
298 HRESULT ReplyTo([out, retval] BSTR *reply);
299 [id(0x00000073), propput]
300 HRESULT ReplyTo([in] BSTR reply);
302 [id(0x00000074), propget]
303 HRESULT DSNOptions([out, retval] CdoDSNOptions *options);
304 [id(0x00000074), propput]
305 HRESULT DSNOptions([in] CdoDSNOptions options);
307 [id(0x00000077), propget]
308 HRESULT SentOn([out, retval] DATE *sent);
310 [id(0x00000078), propget]
311 HRESULT Subject([out, retval] BSTR *subject);
312 [id(0x00000078), propput]
313 HRESULT Subject([in] BSTR subject);
315 [id(0x00000079), propget]
316 HRESULT To([out, retval] BSTR *to);
317 [id(0x00000079), propput]
318 HRESULT To([in] BSTR to);
320 [id(0x0000007b), propget]
321 HRESULT TextBody([out, retval] BSTR *body);
322 [id(0x0000007b), propput]
323 HRESULT TextBody([in] BSTR body);
325 [id(0x0000007c)]
326 HRESULT HTMLBody([out, retval] BSTR* body);
327 [id(0x0000007c), propput]
328 HRESULT HTMLBody([in] BSTR body);
330 [id(0x0000007d), propget]
331 HRESULT Attachments([out, retval] IBodyParts **attachments);
333 [id(0x0000007e), propget]
334 HRESULT Sender([out, retval] BSTR *sender);
335 [id(0x0000007e), propput]
336 HRESULT Sender([in] BSTR sender);
338 [id(0x0000007f), propget]
339 HRESULT Configuration([out, retval] IConfiguration **config);
340 [id(0x0000007f), propput]
341 HRESULT Configuration([in] IConfiguration *config);
342 [id(0x0000007f), propputref]
343 HRESULT Configuration([in] IConfiguration *config);
345 [id(0x00000080), propget]
346 HRESULT AutoGenerateTextBody([out, retval] VARIANT_BOOL *body);
347 [id(0x00000080), propput]
348 HRESULT AutoGenerateTextBody([in] VARIANT_BOOL body);
350 [id(0x00000081), propget]
351 HRESULT EnvelopeFields([out, retval] Fields **fields);
353 [id(0x00000082), propget]
354 HRESULT TextBodyPart([out, retval] IBodyPart **body);
355 [id(0x00000083), propget]
356 HRESULT HTMLBodyPart([out, retval] IBodyPart **body);
358 [id(0x00000084), propget]
359 HRESULT BodyPart([out, retval] IBodyPart ** part);
361 [id(0x00000085), propget]
362 HRESULT DataSource([out, retval] IDataSource **datasource);
364 [id(0x00000086), propget]
365 HRESULT Fields([out, retval] Fields **fields);
367 [id(0x00000087), propget]
368 HRESULT MDNRequested([out, retval] VARIANT_BOOL* requested);
369 [id(0x00000087), propput]
370 HRESULT MDNRequested([in] VARIANT_BOOL requested);
372 [id(0x00000096)]
373 HRESULT AddRelatedBodyPart([in] BSTR url, [in] BSTR Reference, [in] CdoReferenceType ReferenceType,
374 [in, optional] BSTR username, [in, optional] BSTR password, [out, retval] IBodyPart **body);
375 [id(0x00000097)]
376 HRESULT AddAttachment([in] BSTR url, [in, optional] BSTR username,
377 [in, optional] BSTR password, [out, retval] IBodyPart **body);
379 [id(0x00000098)]
380 HRESULT CreateMHTMLBody([in] BSTR url, [in, optional, defaultvalue(0)] CdoMHTMLFlags flags,
381 [in, optional] BSTR username, [in, optional] BSTR password);
383 [id(0x00000099)]
384 HRESULT Forward([out, retval] IMessage **msg);
386 [id(0x0000009a)]
387 HRESULT Post();
389 [id(0x0000009b)]
390 HRESULT PostReply([out, retval] IMessage **msg);
392 [id(0x0000009c)]
393 HRESULT Reply([out, retval] IMessage **msg);
395 [id(0x0000009d)]
396 HRESULT ReplyAll([out, retval] IMessage **msg);
398 [id(0x0000009e)]
399 HRESULT Send();
401 [id(0x0000009f)]
402 HRESULT GetStream([out, retval] _Stream **stream);
404 [id(0x000000a0)]
405 HRESULT GetInterface([in] BSTR name, [out, retval] IDispatch **unknown);
409 uuid(cd000001-8b95-11d1-82db-00c04fb1625d)
411 coclass Message
413 [default] interface IMessage;
414 interface IDataSource;
415 interface IBodyPart;