blob: 68881ab915b28a7e8fd77e8797cc819264d08b6a [file] [log] [blame]
/*
* Copyright (C) 2006, 2007, 2008 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.
*/
#ifndef DO_NO_IMPORTS
import "oaidl.idl";
import "ocidl.idl";
import "IWebError.idl";
import "IWebURLResponse.idl";
#endif
interface IWebError;
interface IWebURLAuthenticationChallengeSender;
interface IWebURLCredential;
interface IWebURLProtectionSpace;
interface IWebURLResponse;
typedef enum {
WebURLCredentialPersistenceNone,
WebURLCredentialPersistenceForSession,
WebURLCredentialPersistencePermanent
} WebURLCredentialPersistence;
[
object,
oleautomation,
uuid(5382DABA-C3C3-40c5-AA40-04079F11A844),
pointer_default(unique)
]
interface IWebURLAuthenticationChallenge : IUnknown
{
/*
- (NSError *)error
*/
HRESULT error([out, retval] IWebError** result);
/*
- (NSURLResponse *)failureResponse
*/
HRESULT failureResponse([out, retval] IWebURLResponse** result);
/*
- (id)initWithAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge sender:(id<NSURLAuthenticationChallengeSender>)sender
*/
HRESULT initWithAuthenticationChallenge([in] IWebURLAuthenticationChallenge* challenge, [in] IWebURLAuthenticationChallengeSender* sender);
/*
- (id)initWithProtectionSpace:(NSURLProtectionSpace *)space proposedCredential:(NSURLCredential *)credential previousFailureCount:(int)count failureResponse:(NSURLResponse *)response error:(NSError *)error sender:(id <NSURLAuthenticationChallengeSender>)sender
*/
HRESULT initWithProtectionSpace([in] IWebURLProtectionSpace* space, [in] IWebURLCredential* proposedCredential, [in] int previousFailureCount, [in] IWebURLResponse* failureResponse, [in] IWebError* error, [in] IWebURLAuthenticationChallengeSender* sender);
/*
-(unsigned)previousFailureCount
*/
HRESULT previousFailureCount([out, retval] UINT* result);
/*
-(NSURLCredential *)proposedCredential
*/
HRESULT proposedCredential([out, retval] IWebURLCredential** result);
/*
- (NSURLProtectionSpace *)protectionSpace
*/
HRESULT protectionSpace([out, retval] IWebURLProtectionSpace** result);
/*
- (id<NSURLAuthenticationChallengeSender>)sender
*/
HRESULT sender([out, retval] IWebURLAuthenticationChallengeSender** sender);
}
[
object,
oleautomation,
uuid(9360D6FB-186C-4ff7-AE57-D1B973DA0D1C),
pointer_default(unique)
]
interface IWebURLAuthenticationChallengeSender : IUnknown
{
/*
- (void)cancelAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
*/
HRESULT cancelAuthenticationChallenge([in] IWebURLAuthenticationChallenge* challenge);
/*
- (void)continueWithoutCredentialForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
*/
HRESULT continueWithoutCredentialForAuthenticationChallenge([in] IWebURLAuthenticationChallenge* challenge);
/*
- (void)useCredential:(NSURLCredential *)credential forAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
*/
HRESULT useCredential([in] IWebURLCredential* credential, [in] IWebURLAuthenticationChallenge* challenge);
}
cpp_quote("#define WebURLProtectionSpaceHTTP TEXT(\"http\")")
cpp_quote("#define WebURLProtectionSpaceHTTPS TEXT(\"https\")")
cpp_quote("#define WebURLProtectionSpaceFTP TEXT(\"ftp\")")
cpp_quote("#define WebURLProtectionSpaceFTPS TEXT(\"ftps\")")
cpp_quote("#define WebURLProtectionSpaceHTTPProxy TEXT(\"http\")")
cpp_quote("#define WebURLProtectionSpaceHTTPSProxy TEXT(\"https\")")
cpp_quote("#define WebURLProtectionSpaceFTPProxy TEXT(\"ftp\")")
cpp_quote("#define WebURLProtectionSpaceSOCKSProxy TEXT(\"SOCKS\")")
cpp_quote("#define WebURLAuthenticationMethodDefault TEXT(\"WebURLAuthenticationMethodDefault\")")
cpp_quote("#define WebURLAuthenticationMethodHTTPBasic TEXT(\"WebURLAuthenticationMethodHTTPBasic\")")
cpp_quote("#define WebURLAuthenticationMethodHTTPDigest TEXT(\"WebURLAuthenticationMethodHTTPDigest\")")
cpp_quote("#define WebURLAuthenticationMethodHTMLForm TEXT(\"WebURLAuthenticationMethodHTMLForm\")")
[
object,
oleautomation,
hidden,
uuid(71D2622A-3FF2-404b-BD45-C60659C901AF),
pointer_default(unique)
]
interface IWebURLProtectionSpace : IUnknown
{
/*
-(NSString *)authenticationMethod
*/
HRESULT authenticationMethod([out, retval] BSTR* result);
/*
-(NSString *)host
*/
HRESULT host([out, retval] BSTR* result);
/*
-(id)initWithHost:(NSString *)host port:(int)port protocol:(NSString *)protocol realm:(NSString *)realm authenticationMethod:(NSString *)authenticationMethod
*/
HRESULT initWithHost([in] BSTR host, [in] int port, [in] BSTR protocol, [in] BSTR realm, [in] BSTR authenticationMethod);
/*
-(id)initWithProxyHost:(NSString *)host port:(int)port type:(NSString *)proxyType realm:(NSString *)realm authenticationMethod:(NSString *)authenticationMethod
*/
HRESULT initWithProxyHost([in] BSTR host, [in] int port, [in] BSTR proxyType, [in] BSTR realm, [in] BSTR authenticationMethod);
/*
-(BOOL)isProxy
*/
HRESULT isProxy([out, retval] BOOL* result);
/*
-(int)port
*/
HRESULT port([out, retval] int* result);
/*
-(NSString *)protocol
*/
HRESULT protocol([out, retval] BSTR* result);
/*
-(NSString *)proxyType
*/
HRESULT proxyType([out, retval] BSTR* result);
/*
-(NSString *)realm
*/
HRESULT realm([out, retval] BSTR* result);
/*
-(BOOL)receivesCredentialSecurely
*/
HRESULT receivesCredentialSecurely([out, retval] BOOL* result);
}
[
object,
oleautomation,
hidden,
uuid(A1E9D765-FACE-4189-BBE3-AED7EBF65EBD),
pointer_default(unique)
]
interface IWebURLCredential : IUnknown
{
/*
-(BOOL)hasPassword
*/
HRESULT hasPassword([out, retval] BOOL* result);
/*
-(id)initWithUser:(NSString *)user password:(NSString *)password persistence:(NSURLCredentialPersistence)persistence
*/
HRESULT initWithUser([in] BSTR user, [in] BSTR password, [in] WebURLCredentialPersistence persistence);
/*
-(NSString *)password
*/
HRESULT password([out, retval] BSTR* password);
/*
-(NSURLCredentialPersistence)persistence
*/
HRESULT persistence([out, retval] WebURLCredentialPersistence* result);
/*
-(NSString *)user
*/
HRESULT user([out, retval] BSTR* result);
}