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