| /* |
| * Copyright (c) 2011 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. |
| */ |
| |
| /** |
| * This file will test that the IDL snippet matches the comment. |
| */ |
| |
| label Chrome { |
| M14 = 1.0, |
| M15 = 2.0 |
| }; |
| /* struct ist { void* X; }; */ |
| struct ist { |
| mem_t X; |
| }; |
| |
| /* |
| * struct ifaceFoo_1_0 { |
| * int8_t (*mem1)(int16_t x, int32_t y); |
| * int32_t (*mem2)(const struct ist* a); |
| * int32_t (*mem3)(struct ist* b); |
| * int32_t (*mem4)(const void** ptr); |
| * int32_t (*mem5)(void** ptr); |
| * }; |
| * typedef struct ifaceFoo_1_0 ifaceFoo; |
| */ |
| interface ifaceFoo { |
| int8_t mem1([in] int16_t x, [in] int32_t y); |
| int32_t mem2([in] ist a); |
| int32_t mem3([out] ist b); |
| int32_t mem4([in] blob_t ptr); |
| int32_t mem5([out] blob_t ptr); |
| [version=2.0] int32_t mem6([inout] blob_t ptr); |
| }; |
| |
| interface ifaceBar { |
| int8_t testIface([in] ifaceFoo foo, [in] int32_t y); |
| ifaceFoo createIface([in] str_t name); |
| }; |
| |
| [no_interface_string] |
| interface ifaceNoString { |
| void mem(); |
| }; |
| |
| struct struct2 { |
| ifaceBar bar; |
| }; |
| |