コード例 #1
0
ファイル: DnsProxyServer.cs プロジェクト: AdguardTeam/DnsLibs
 /// <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;
     }
 }
コード例 #2
0
ファイル: DnsApiConverter.cs プロジェクト: msiva21/DnsLibs
        internal static AGDnsApi.AGDnsProxyServerCallbacks ToNativeObject(
            IDnsProxyServerCallbackConfiguration dnsProxyServerCallbackConfiguration,
            IDnsProxyServer proxyServer)
        {
            CertificateVerificationCallback certificateVerificationCallback = new CertificateVerificationCallback();
            ProxyServerCallbacksAdapter     proxyServerCallbacksAdapter     =
                new ProxyServerCallbacksAdapter(
                    dnsProxyServerCallbackConfiguration,
                    certificateVerificationCallback,
                    proxyServer);

            return(proxyServerCallbacksAdapter.DnsProxyServerCallbacks);
        }
コード例 #3
0
        /// <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
            };
        }