/// <summary> /// Initializes the new instance of the DnsProxyServer /// </summary> /// <param name="dnsProxySettings">Dns proxy settings /// (<seealso cref="DnsProxySettings"/>)</param> /// <param name="callbackConfiguration">Callback config configuration /// (<seealso cref="IDnsProxyServerCallbackConfiguration"/>)</param> /// <exception cref="NotSupportedException">Thrown if current API version is not supported</exception> public DnsProxyServer( DnsProxySettings dnsProxySettings, IDnsProxyServerCallbackConfiguration callbackConfiguration) { lock (m_SyncRoot) { Logger.Info("Creating the DnsProxyServer"); AGDnsApi.ValidateApi(); m_DnsProxySettings = dnsProxySettings; m_CallbackConfiguration = callbackConfiguration; } }
internal static AGDnsApi.AGDnsProxyServerCallbacks ToNativeObject( IDnsProxyServerCallbackConfiguration dnsProxyServerCallbackConfiguration, IDnsProxyServer proxyServer) { CertificateVerificationCallback certificateVerificationCallback = new CertificateVerificationCallback(); ProxyServerCallbacksAdapter proxyServerCallbacksAdapter = new ProxyServerCallbacksAdapter( dnsProxyServerCallbackConfiguration, certificateVerificationCallback, proxyServer); return(proxyServerCallbacksAdapter.DnsProxyServerCallbacks); }
/// <summary> /// Creates an instance of the adapter /// </summary> /// <param name="dnsServerCallbackConfiguration">An object implementing the callbacks interface /// (<seealso cref="IDnsProxyServerCallbackConfiguration"/>)</param> /// <param name="certificateVerificationCallback">An object implementing certificate verification interface /// (<seealso cref="ICertificateVerificationCallback"/>)</param> /// <param name="proxyServer">An instance of <see cref="IDnsProxyServer"/></param> internal ProxyServerCallbacksAdapter( IDnsProxyServerCallbackConfiguration dnsServerCallbackConfiguration, ICertificateVerificationCallback certificateVerificationCallback, IDnsProxyServer proxyServer) { m_DnsServerCallbackConfiguration = dnsServerCallbackConfiguration; m_CertificateVerificationCallback = certificateVerificationCallback; m_ProxyServer = proxyServer; // Initialize a native callbacks object DnsProxyServerCallbacks = new AGDnsApi.AGDnsProxyServerCallbacks { ag_dns_request_processed_cb = AGCOnDnsRequestProcessed, ag_certificate_verification_cb = AGCOnCertificationVerificationProcessed }; }