
Forward declaring of enums without specifying a type is illegal. This forward declaration only worked because it wasn't needed. It was found by VC++'s overzealous C4471 warning. R=raymes Review-Url: https://codereview.chromium.org/2836913003 Cr-Commit-Position: refs/heads/master@{#467182}
79 lines
2.7 KiB
C++
79 lines
2.7 KiB
C++
// Copyright 2013 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef PPAPI_PROXY_TCP_SOCKET_RESOURCE_H_
|
|
#define PPAPI_PROXY_TCP_SOCKET_RESOURCE_H_
|
|
|
|
#include <stdint.h>
|
|
|
|
#include "base/compiler_specific.h"
|
|
#include "base/macros.h"
|
|
#include "ppapi/proxy/tcp_socket_resource_base.h"
|
|
#include "ppapi/thunk/ppb_tcp_socket_api.h"
|
|
|
|
namespace ppapi {
|
|
|
|
namespace proxy {
|
|
|
|
class PPAPI_PROXY_EXPORT TCPSocketResource : public thunk::PPB_TCPSocket_API,
|
|
public TCPSocketResourceBase {
|
|
public:
|
|
// C-tor used for new sockets created.
|
|
TCPSocketResource(Connection connection,
|
|
PP_Instance instance,
|
|
TCPSocketVersion version);
|
|
|
|
~TCPSocketResource() override;
|
|
|
|
// PluginResource overrides.
|
|
thunk::PPB_TCPSocket_API* AsPPB_TCPSocket_API() override;
|
|
|
|
// thunk::PPB_TCPSocket_API implementation.
|
|
int32_t Bind(PP_Resource addr,
|
|
scoped_refptr<TrackedCallback> callback) override;
|
|
int32_t Connect(PP_Resource addr,
|
|
scoped_refptr<TrackedCallback> callback) override;
|
|
PP_Resource GetLocalAddress() override;
|
|
PP_Resource GetRemoteAddress() override;
|
|
int32_t Read(char* buffer,
|
|
int32_t bytes_to_read,
|
|
scoped_refptr<TrackedCallback> callback) override;
|
|
int32_t Write(const char* buffer,
|
|
int32_t bytes_to_write,
|
|
scoped_refptr<TrackedCallback> callback) override;
|
|
int32_t Listen(int32_t backlog,
|
|
scoped_refptr<TrackedCallback> callback) override;
|
|
int32_t Accept(PP_Resource* accepted_tcp_socket,
|
|
scoped_refptr<TrackedCallback> callback) override;
|
|
void Close() override;
|
|
int32_t SetOption1_1(
|
|
PP_TCPSocket_Option name,
|
|
const PP_Var& value,
|
|
scoped_refptr<TrackedCallback> callback) override;
|
|
int32_t SetOption(PP_TCPSocket_Option name,
|
|
const PP_Var& value,
|
|
scoped_refptr<TrackedCallback> callback) override;
|
|
|
|
// TCPSocketResourceBase implementation.
|
|
PP_Resource CreateAcceptedSocket(
|
|
int pending_host_id,
|
|
const PP_NetAddress_Private& local_addr,
|
|
const PP_NetAddress_Private& remote_addr) override;
|
|
|
|
private:
|
|
// C-tor used for accepted sockets.
|
|
TCPSocketResource(Connection connection,
|
|
PP_Instance instance,
|
|
int pending_host_id,
|
|
const PP_NetAddress_Private& local_addr,
|
|
const PP_NetAddress_Private& remote_addr);
|
|
|
|
DISALLOW_COPY_AND_ASSIGN(TCPSocketResource);
|
|
};
|
|
|
|
} // namespace proxy
|
|
} // namespace ppapi
|
|
|
|
#endif // PPAPI_PROXY_TCP_SOCKET_RESOURCE_H_
|