Home | History | Annotate | Download | only in test_cgen
      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  */
      6 
      7 /**
      8  * This file will test that the IDL snippet matches the comment.
      9  */
     10 
     11 label Chrome {
     12   M14 = 1.0,
     13   M15 = 2.0
     14 };
     15 /* struct ist { void* X; }; */
     16 struct ist {
     17   mem_t X;
     18 };
     19 
     20 /*
     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;
     29  */
     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);
     37 };
     38 
     39 interface ifaceBar {
     40   int8_t testIface([in] ifaceFoo foo, [in] int32_t y);
     41   ifaceFoo createIface([in] str_t name);
     42 };
     43 
     44 [no_interface_string]
     45 interface ifaceNoString {
     46   void mem();
     47 };
     48 
     49 struct struct2 {
     50   ifaceBar bar;
     51 };
     52 
     53