udp_socket_private_resource.cc revision 7d4cd473f85ac64c3747c96c277f9e506a0d2246
1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "ppapi/proxy/udp_socket_private_resource.h"
6
7#include "ppapi/shared_impl/tracked_callback.h"
8
9namespace ppapi {
10namespace proxy {
11
12UDPSocketPrivateResource::UDPSocketPrivateResource(Connection connection,
13                                                   PP_Instance instance)
14    : UDPSocketResourceBase(connection, instance) {
15}
16
17UDPSocketPrivateResource::~UDPSocketPrivateResource() {
18}
19
20thunk::PPB_UDPSocket_Private_API*
21UDPSocketPrivateResource::AsPPB_UDPSocket_Private_API() {
22  return this;
23}
24
25int32_t UDPSocketPrivateResource::SetSocketFeature(
26    PP_UDPSocketFeature_Private name,
27    PP_Var value) {
28  return SetSocketFeatureImpl(name, value);
29}
30
31int32_t UDPSocketPrivateResource::Bind(
32    const PP_NetAddress_Private* addr,
33    scoped_refptr<TrackedCallback> callback) {
34  return BindImpl(addr, callback);
35}
36
37PP_Bool UDPSocketPrivateResource::GetBoundAddress(PP_NetAddress_Private* addr) {
38  return GetBoundAddressImpl(addr);
39}
40
41int32_t UDPSocketPrivateResource::RecvFrom(
42    char* buffer,
43    int32_t num_bytes,
44    scoped_refptr<TrackedCallback> callback) {
45  return RecvFromImpl(buffer, num_bytes, NULL, callback);
46}
47
48PP_Bool UDPSocketPrivateResource::GetRecvFromAddress(
49    PP_NetAddress_Private* addr) {
50  return GetRecvFromAddressImpl(addr);
51}
52
53int32_t UDPSocketPrivateResource::SendTo(
54    const char* buffer,
55    int32_t num_bytes,
56    const PP_NetAddress_Private* addr,
57    scoped_refptr<TrackedCallback> callback) {
58  return SendToImpl(buffer, num_bytes, addr, callback);
59}
60
61void UDPSocketPrivateResource::Close() {
62  CloseImpl();
63}
64
65}  // namespace proxy
66}  // namespace ppapi
67