Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / ppapi / generators / test_cgen / interface.idl
blob202a73a0dacb01c6797b6ec0d785859928ebbe04
1 /*
2 * Copyright (c) 2011 The Chromium Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file.
5 */
7 /**
8 * This file will test that the IDL snippet matches the comment.
9 */
11 label Chrome {
12 M14 = 1.0,
13 M15 = 2.0
15 /* struct ist { void* X; }; */
16 struct ist {
17 mem_t X;
21 * struct ifaceFoo_1_0 {
22 * int8_t (*mem1)(int16_t x, int32_t y);
23 * int32_t (*mem2)(const struct ist* a);
24 * int32_t (*mem3)(struct ist* b);
25 * int32_t (*mem4)(const void** ptr);
26 * int32_t (*mem5)(void** ptr);
27 * };
28 * typedef struct ifaceFoo_1_0 ifaceFoo;
30 interface ifaceFoo {
31 int8_t mem1([in] int16_t x, [in] int32_t y);
32 int32_t mem2([in] ist a);
33 int32_t mem3([out] ist b);
34 int32_t mem4([in] blob_t ptr);
35 int32_t mem5([out] blob_t ptr);
36 [version=2.0] int32_t mem6([inout] blob_t ptr);
39 interface ifaceBar {
40 int8_t testIface([in] ifaceFoo foo, [in] int32_t y);
41 ifaceFoo createIface([in] str_t name);
44 [no_interface_string]
45 interface ifaceNoString {
46 void mem();
49 struct struct2 {
50 ifaceBar bar;