• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
6/**
7 * This file defines the <code>PP_Bool</code> enumeration for use in PPAPI C
8 * headers.
9 */
10
11/**
12 * The <code>PP_Bool</code> enum is a boolean value for use in PPAPI C headers.
13 * The standard bool type is not available to pre-C99 compilers, and is not
14 * guaranteed to be compatible between C and C++, whereas the PPAPI C headers
15 * can be included from C or C++ code.
16 */
17[assert_size(4)] enum PP_Bool {
18  PP_FALSE = 0,
19  PP_TRUE  = 1
20};
21
22#inline cc
23/**
24 * Converts a C++ "bool" type to a PP_Bool.
25 *
26 * @param[in] b A C++ "bool" type.
27 *
28 * @return A PP_Bool.
29 */
30inline PP_Bool PP_FromBool(bool b) {
31  return b ? PP_TRUE : PP_FALSE;
32}
33
34/**
35 * Converts a PP_Bool to a C++ "bool" type.
36 *
37 * @param[in] b A PP_Bool.
38 *
39 * @return A C++ "bool" type.
40 */
41inline bool PP_ToBool(PP_Bool b) {
42  return (b != PP_FALSE);
43}
44#endinl
45