chromium/extensions/browser/api/sockets_udp/sockets_udp_api.h

// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef EXTENSIONS_BROWSER_API_SOCKETS_UDP_SOCKETS_UDP_API_H_
#define EXTENSIONS_BROWSER_API_SOCKETS_UDP_SOCKETS_UDP_API_H_

#include <stddef.h>

#include "base/gtest_prod_util.h"
#include "base/memory/raw_ptr.h"
#include "extensions/browser/api/socket/socket_api.h"
#include "extensions/common/api/sockets_udp.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h"

namespace extensions {
class ResumableUDPSocket;
}

namespace extensions {
namespace api {

class UDPSocketEventDispatcher;

class UDPSocketApiFunction : public SocketApiFunction {};

class UDPSocketExtensionWithDnsLookupFunction
    : public SocketExtensionWithDnsLookupFunction {};

class SocketsUdpCreateFunction : public UDPSocketApiFunction {};

class SocketsUdpUpdateFunction : public UDPSocketApiFunction {};

class SocketsUdpSetPausedFunction : public UDPSocketApiFunction {};

class SocketsUdpBindFunction : public UDPSocketApiFunction {};

class SocketsUdpSendFunction : public UDPSocketExtensionWithDnsLookupFunction {};

class SocketsUdpCloseFunction : public UDPSocketApiFunction {};

class SocketsUdpGetInfoFunction : public UDPSocketApiFunction {};

class SocketsUdpGetSocketsFunction : public UDPSocketApiFunction {};

class SocketsUdpJoinGroupFunction : public UDPSocketApiFunction {};

class SocketsUdpLeaveGroupFunction : public UDPSocketApiFunction {};

class SocketsUdpSetMulticastTimeToLiveFunction : public UDPSocketApiFunction {};

class SocketsUdpSetMulticastLoopbackModeFunction : public UDPSocketApiFunction {};

class SocketsUdpGetJoinedGroupsFunction : public UDPSocketApiFunction {};

class SocketsUdpSetBroadcastFunction : public UDPSocketApiFunction {};

}  // namespace api
}  // namespace extensions

#endif  // EXTENSIONS_BROWSER_API_SOCKETS_UDP_SOCKETS_UDP_API_H_