chromium/out/Default/gen/extensions/common/api/socket.h

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

// GENERATED FROM THE API DEFINITION IN
//   extensions/common/api/socket.idl
// by tools/json_schema_compiler.
// DO NOT EDIT.

#ifndef EXTENSIONS_COMMON_API_SOCKET_H__
#define EXTENSIONS_COMMON_API_SOCKET_H__

#include <stdint.h>

#include <map>
#include <memory>
#include <optional>
#include <string>
#include <vector>

#include "base/values.h"
#include <string_view>


namespace extensions {
namespace api {
namespace socket {

//
// Types
//

enum class SocketType {};


const char* ToString(SocketType as_enum);
SocketType ParseSocketType(std::string_view as_string);
std::u16string GetSocketTypeParseError(std::string_view as_string);

struct CreateOptions {};

struct CreateInfo {};

struct AcceptInfo {};

struct ReadInfo {};

struct WriteInfo {};

struct RecvFromInfo {};

struct SocketInfo {};

struct NetworkInterface {};

struct TLSVersionConstraints {};

struct SecureOptions {};


//
// Functions
//

namespace Create {

struct Params {};

namespace Results {

base::Value::List Create(const CreateInfo& create_info);
}  // namespace Results

}  // namespace Create

namespace Destroy {

struct Params {};

}  // namespace Destroy

namespace Connect {

struct Params {};

namespace Results {

base::Value::List Create(int result);
}  // namespace Results

}  // namespace Connect

namespace Bind {

struct Params {};

namespace Results {

base::Value::List Create(int result);
}  // namespace Results

}  // namespace Bind

namespace Disconnect {

struct Params {};

}  // namespace Disconnect

namespace Read {

struct Params {};

namespace Results {

base::Value::List Create(const ReadInfo& read_info);
}  // namespace Results

}  // namespace Read

namespace Write {

struct Params {};

namespace Results {

base::Value::List Create(const WriteInfo& write_info);
}  // namespace Results

}  // namespace Write

namespace RecvFrom {

struct Params {};

namespace Results {

base::Value::List Create(const RecvFromInfo& recv_from_info);
}  // namespace Results

}  // namespace RecvFrom

namespace SendTo {

struct Params {};

namespace Results {

base::Value::List Create(const WriteInfo& write_info);
}  // namespace Results

}  // namespace SendTo

namespace Listen {

struct Params {};

namespace Results {

base::Value::List Create(int result);
}  // namespace Results

}  // namespace Listen

namespace Accept {

struct Params {};

namespace Results {

base::Value::List Create(const AcceptInfo& accept_info);
}  // namespace Results

}  // namespace Accept

namespace SetKeepAlive {

struct Params {};

namespace Results {

base::Value::List Create(bool result);
}  // namespace Results

}  // namespace SetKeepAlive

namespace SetNoDelay {

struct Params {};

namespace Results {

base::Value::List Create(bool result);
}  // namespace Results

}  // namespace SetNoDelay

namespace GetInfo {

struct Params {};

namespace Results {

base::Value::List Create(const SocketInfo& result);
}  // namespace Results

}  // namespace GetInfo

namespace GetNetworkList {

namespace Results {

base::Value::List Create(const std::vector<NetworkInterface>& result);
}  // namespace Results

}  // namespace GetNetworkList

namespace JoinGroup {

struct Params {};

namespace Results {

base::Value::List Create(int result);
}  // namespace Results

}  // namespace JoinGroup

namespace LeaveGroup {

struct Params {};

namespace Results {

base::Value::List Create(int result);
}  // namespace Results

}  // namespace LeaveGroup

namespace SetMulticastTimeToLive {

struct Params {};

namespace Results {

base::Value::List Create(int result);
}  // namespace Results

}  // namespace SetMulticastTimeToLive

namespace SetMulticastLoopbackMode {

struct Params {};

namespace Results {

base::Value::List Create(int result);
}  // namespace Results

}  // namespace SetMulticastLoopbackMode

namespace GetJoinedGroups {

struct Params {};

namespace Results {

base::Value::List Create(const std::vector<std::string>& groups);
}  // namespace Results

}  // namespace GetJoinedGroups

namespace Secure {

struct Params {};

namespace Results {

base::Value::List Create(int result);
}  // namespace Results

}  // namespace Secure

}  // namespace socket
}  // namespace api
}  // namespace extensions

#endif  // EXTENSIONS_COMMON_API_SOCKET_H__