--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/osswebengine/WebKit/win/Interfaces/IWebDownload.idl Mon Mar 30 12:54:55 2009 +0300
@@ -0,0 +1,176 @@
+/*
+ * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
+ * 2007 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+cpp_quote("/*")
+cpp_quote(" * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.")
+cpp_quote(" * 2007 Apple Inc. All rights reserved.")
+cpp_quote(" *")
+cpp_quote(" * Redistribution and use in source and binary forms, with or without")
+cpp_quote(" * modification, are permitted provided that the following conditions")
+cpp_quote(" * are met:")
+cpp_quote(" * 1. Redistributions of source code must retain the above copyright")
+cpp_quote(" * notice, this list of conditions and the following disclaimer.")
+cpp_quote(" * 2. Redistributions in binary form must reproduce the above copyright")
+cpp_quote(" * notice, this list of conditions and the following disclaimer in the")
+cpp_quote(" * documentation and/or other materials provided with the distribution.")
+cpp_quote(" *")
+cpp_quote(" * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY")
+cpp_quote(" * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE")
+cpp_quote(" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR")
+cpp_quote(" * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR")
+cpp_quote(" * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,")
+cpp_quote(" * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,")
+cpp_quote(" * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR")
+cpp_quote(" * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY")
+cpp_quote(" * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT")
+cpp_quote(" * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE")
+cpp_quote(" * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ")
+cpp_quote(" */")
+
+import "oaidl.idl";
+import "ocidl.idl";
+import "IWebError.idl";
+import "IWebMutableURLRequest.idl";
+import "IWebURLAuthenticationChallenge.idl";
+import "IWebURLResponse.idl";
+import "IWebURLRequest.idl";
+
+interface IWebDownloadDelegate;
+/*!
+ @class WebDownload
+ @discussion A WebDownload works just like an NSURLDownload, with
+ one extra feature: if you do not implement the
+ authentication-related delegate methods, it will automatically
+ prompt for authentication using the standard WebKit authentication
+ panel, as either a sheet or window. It provides no extra methods,
+ but does have one additional delegate method.
+*/
+
+[
+ object,
+ oleautomation,
+ hidden,
+ uuid(65EFE83B-A9E4-4516-8F3B-BAA25DA90FFD),
+ pointer_default(unique)
+]
+interface IWebDownload : IUnknown
+{
+ /*
+ + (BOOL)canResumeDownloadDecodedWithEncodingMIMEType:(NSString *)MIMEType
+ */
+ HRESULT canResumeDownloadDecodedWithEncodingMIMEType([in] BSTR mimeType, [out, retval] BOOL* result);
+
+ /*
+ - (void)cancel
+ */
+ HRESULT cancel();
+
+ /*
+ - (void)cancelForResume();
+ */
+ HRESULT cancelForResume();
+
+ /*
+ - (void)start
+ */
+ HRESULT start();
+
+ /*
+ - (BOOL)deletesFileUponFailure
+ */
+ HRESULT deletesFileUponFailure([out, retval] BOOL* result);
+
+ /*
+ - (id)initWithRequest:(NSURLRequest *)request delegate:(id)delegate
+ */
+ HRESULT initWithRequest([in] IWebURLRequest* request, [in] IWebDownloadDelegate* delegate);
+
+ /*
+ - (id)initWithResumeData:(NSData *)resumeData delegate:(id)delegate path:(NSString *)path
+ */
+ HRESULT initToResumeWithBundle([in] BSTR bundlePath, [in] IWebDownloadDelegate* delegate);
+
+ /*
+ - (String)bundlePathForTargetPath:(String)targetPath
+ */
+ HRESULT bundlePathForTargetPath([in] BSTR target, [out, retval] BSTR* bundle);
+
+ /*
+ - (NSURLRequest *)request
+ */
+ HRESULT request([out, retval] IWebURLRequest** request);
+
+ /*
+ - (void)setDeletesFileUponFailure:(BOOL)deletesFileUponFailure
+ */
+ HRESULT setDeletesFileUponFailure([in] BOOL deletesFileUponFailure);
+
+ /*
+ - (void)setDestination:(NSString *)path allowOverwrite:(BOOL)allowOverwrite
+ */
+ HRESULT setDestination([in] BSTR path, [in] BOOL allowOverwrite);
+}
+
+
+/*!
+ @protocol WebDownloadDelegate
+ @discussion The WebDownloadDelegate delegate has one extra method used to choose
+ the right window when automatically prompting with a sheet.
+ @interface NSObject (WebDownloadDelegate)
+*/
+
+[
+ object,
+ oleautomation,
+ uuid(16A32AE6-C862-40cd-9225-2CAF823F40F9),
+ pointer_default(unique)
+]
+interface IWebDownloadDelegate : IUnknown
+{
+ HRESULT decideDestinationWithSuggestedFilename([in] IWebDownload* download, [in] BSTR filename);
+
+ HRESULT didCancelAuthenticationChallenge([in] IWebDownload* download, [in] IWebURLAuthenticationChallenge* challenge);
+
+ HRESULT didCreateDestination([in] IWebDownload* download, [in] BSTR destination);
+
+ HRESULT didFailWithError([in] IWebDownload* download, [in] IWebError* error);
+
+ HRESULT didReceiveAuthenticationChallenge([in] IWebDownload* download, [in] IWebURLAuthenticationChallenge* challenge);
+
+ HRESULT didReceiveDataOfLength([in] IWebDownload* download, [in] unsigned length);
+
+ HRESULT didReceiveResponse([in] IWebDownload* download, [in] IWebURLResponse* response);
+
+ HRESULT shouldDecodeSourceDataOfMIMEType([in] IWebDownload* download, [in] BSTR encodingType, [out, retval] BOOL* shouldDecode);
+
+ HRESULT willResumeWithResponse([in] IWebDownload* download, [in] IWebURLResponse* response, [in] long long fromByte);
+
+ HRESULT willSendRequest([in] IWebDownload* download, [in] IWebMutableURLRequest* request, [in] IWebURLResponse* redirectResponse, [out] IWebMutableURLRequest** finalRequest);
+
+ HRESULT didBegin([in] IWebDownload* download);
+
+ HRESULT didFinish([in] IWebDownload* download);
+}