/* Copyright (c) 2012 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.
 */

[generate_thunk]

/**
 * This file defines the <code>PPB_Simple</code> interface.
 */

label Chrome {
  M13 = 0.5,
  M14 = 1.0,
  M15 = 1.5
};

interface PPB_Simple {
  PP_Resource Create([in] PP_Instance instance);

  PP_Bool IsSimple([in] PP_Resource resource);

  [deprecate=1.0]
  void PostMessage([in] PP_Instance instance, [in] PP_Var message);

  uint32_t DoUint32Instance([in] PP_Instance instance);

  [version=1.5]
  uint32_t DoUint32Instance([in] PP_Instance instance,
                            [in] PP_Resource resource);

  uint32_t DoUint32Resource([in] PP_Resource instance);

  [report_errors=False]
  uint32_t DoUint32ResourceNoErrors([in] PP_Resource instance);

  [version=1.0, on_failure="12"]
  int32_t OnFailure12([in] PP_Instance instance);
};