1// Copyright 2013 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/shared_impl/socket_option_data.h"
6
7namespace ppapi {
8
9SocketOptionData::SocketOptionData() : type_(TYPE_INVALID), value_(0) {}
10
11SocketOptionData::~SocketOptionData() {}
12
13SocketOptionData::Type SocketOptionData::GetType() const { return type_; }
14
15bool SocketOptionData::GetBool(bool* out_value) const {
16  if (!out_value || type_ != TYPE_BOOL)
17    return false;
18  *out_value = value_ != 0;
19  return true;
20}
21
22bool SocketOptionData::GetInt32(int32_t* out_value) const {
23  if (!out_value || type_ != TYPE_INT32)
24    return false;
25  *out_value = value_;
26  return true;
27}
28
29void SocketOptionData::SetBool(bool value) {
30  type_ = TYPE_BOOL;
31  value_ = value ? 1 : 0;
32}
33
34void SocketOptionData::SetInt32(int32_t value) {
35  type_ = TYPE_INT32;
36  value_ = value;
37}
38
39}  // namespace ppapi
40