2 * Copyright 2018 The WebRTC Project Authors. All rights reserved.
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
11 #ifndef API_ASYNC_RESOLVER_FACTORY_H_
12 #define API_ASYNC_RESOLVER_FACTORY_H_
14 #include "rtc_base/async_resolver_interface.h"
18 // An abstract factory for creating AsyncResolverInterfaces. This allows
19 // client applications to provide WebRTC with their own mechanism for
20 // performing DNS resolution.
21 class AsyncResolverFactory
{
23 AsyncResolverFactory() = default;
24 virtual ~AsyncResolverFactory() = default;
26 // The caller should call Destroy on the returned object to delete it.
27 virtual rtc::AsyncResolverInterface
* Create() = 0;
32 #endif // API_ASYNC_RESOLVER_FACTORY_H_