mirror of
https://gitee.com/csharpui/CPF.git
synced 2025-04-05 17:37:51 +08:00
70 lines
3.1 KiB
C#
70 lines
3.1 KiB
C#
using CPF.Mac.ObjCRuntime;
|
|
using System;
|
|
|
|
namespace CPF.Mac.Foundation
|
|
{
|
|
public sealed class NSUrlProtocolClient : NSObject
|
|
{
|
|
private const string selUrlProtocolWasRedirectedToRequestRedirectResponse_ = "URLProtocol:wasRedirectedToRequest:redirectResponse:";
|
|
|
|
private const string selUrlProtocolCachedResponseIsValid_ = "URLProtocol:cachedResponseIsValid:";
|
|
|
|
private const string selUrlProtocolDidReceiveResponseCacheStoragePolicy_ = "URLProtocol:didReceiveResponse:cacheStoragePolicy:";
|
|
|
|
private const string selUrlProtocolDidLoadData_ = "URLProtocol:didLoadData:";
|
|
|
|
private const string selUrlProtocolDidFinishLoading_ = "URLProtocolDidFinishLoading:";
|
|
|
|
private const string selUrlProtocolDidFailWithError_ = "URLProtocol:didFailWithError:";
|
|
|
|
private const string selUrlProtocolDidReceiveAuthenticationChallenge_ = "URLProtocol:didReceiveAuthenticationChallenge:";
|
|
|
|
private const string selUrlProtocolDidCancelAuthenticationChallenge_ = "URLProtocol:didCancelAuthenticationChallenge:";
|
|
|
|
public NSUrlProtocolClient(IntPtr handle)
|
|
: base(handle)
|
|
{
|
|
}
|
|
|
|
public void Redirected(NSUrlProtocol protocol, NSUrlRequest redirectedToEequest, NSUrlResponse redirectResponse)
|
|
{
|
|
Messaging.void_objc_msgSend_IntPtr_IntPtr_IntPtr(base.Handle, Selector.GetHandle("URLProtocol:wasRedirectedToRequest:redirectResponse:"), protocol.Handle, redirectedToEequest.Handle, redirectResponse.Handle);
|
|
}
|
|
|
|
public void CachedResponseIsValid(NSUrlProtocol protocol, NSCachedUrlResponse cachedResponse)
|
|
{
|
|
Messaging.void_objc_msgSend_IntPtr_IntPtr(base.Handle, Selector.GetHandle("URLProtocol:cachedResponseIsValid:"), protocol.Handle, cachedResponse.Handle);
|
|
}
|
|
|
|
public void ReceivedResponse(NSUrlProtocol protocol, NSUrlResponse response, NSUrlCacheStoragePolicy policy)
|
|
{
|
|
Messaging.void_objc_msgSend_intptr_intptr_nuint(base.Handle, Selector.GetHandle("URLProtocol:didReceiveResponse:cacheStoragePolicy:"), protocol.Handle, response.Handle, (ulong)policy);
|
|
}
|
|
|
|
public void DataLoaded(NSUrlProtocol protocol, NSData data)
|
|
{
|
|
Messaging.void_objc_msgSend_IntPtr_IntPtr(base.Handle, Selector.GetHandle("URLProtocol:didLoadData:"), protocol.Handle, data.Handle);
|
|
}
|
|
|
|
public void FinishedLoading(NSUrlProtocol protocol)
|
|
{
|
|
Messaging.void_objc_msgSend_IntPtr(base.Handle, Selector.GetHandle("URLProtocolDidFinishLoading:"), protocol.Handle);
|
|
}
|
|
|
|
public void FailedWithError(NSUrlProtocol protocol, NSError error)
|
|
{
|
|
Messaging.void_objc_msgSend_IntPtr_IntPtr(base.Handle, Selector.GetHandle("URLProtocol:didFailWithError:"), protocol.Handle, error.Handle);
|
|
}
|
|
|
|
public void ReceivedAuthenticationChallenge(NSUrlProtocol protocol, NSUrlAuthenticationChallenge challenge)
|
|
{
|
|
Messaging.void_objc_msgSend_IntPtr_IntPtr(base.Handle, Selector.GetHandle("URLProtocol:didReceiveAuthenticationChallenge:"), protocol.Handle, challenge.Handle);
|
|
}
|
|
|
|
public void CancelledAuthenticationChallenge(NSUrlProtocol protocol, NSUrlAuthenticationChallenge challenge)
|
|
{
|
|
Messaging.void_objc_msgSend_IntPtr_IntPtr(base.Handle, Selector.GetHandle("URLProtocol:didCancelAuthenticationChallenge:"), protocol.Handle, challenge.Handle);
|
|
}
|
|
}
|
|
}
|