15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2011 The Chromium Authors. All rights reserved. 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Use of this source code is governed by a BSD-style license that can be 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * found in the LICENSE file. 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* From test_cgen/interface.idl modified Wed Nov 21 14:22:50 2012. */ 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef PPAPI_C_TEST_CGEN_INTERFACE_H_ 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PPAPI_C_TEST_CGEN_INTERFACE_H_ 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/pp_macros.h" 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/test_cgen/stdint.h" 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define IFACEFOO_INTERFACE_1_0 "ifaceFoo;1.0" 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define IFACEFOO_INTERFACE IFACEFOO_INTERFACE_1_0 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define IFACEBAR_INTERFACE_1_0 "ifaceBar;1.0" 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define IFACEBAR_INTERFACE IFACEBAR_INTERFACE_1_0 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @file 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This file will test that the IDL snippet matches the comment. 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @addtogroup Structs 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @{ 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* struct ist { void* X; }; */ 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct ist { 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void* X; 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @} 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @addtogroup Interfaces 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @{ 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * struct ifaceFoo_1_0 { 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * int8_t (*mem1)(int16_t x, int32_t y); 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * int32_t (*mem2)(const struct ist* a); 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * int32_t (*mem3)(struct ist* b); 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * int32_t (*mem4)(const void** ptr); 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * int32_t (*mem5)(void** ptr); 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * }; 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * typedef struct ifaceFoo_1_0 ifaceFoo; 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct ifaceFoo_1_0 { 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int8_t (*mem1)(int16_t x, int32_t y); 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int32_t (*mem2)(const struct ist* a); 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int32_t (*mem3)(struct ist* b); 572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int32_t (*mem4)(const void** ptr); 582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int32_t (*mem5)(void** ptr); 592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef struct ifaceFoo_1_0 ifaceFoo; 622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct ifaceBar_1_0 { 642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int8_t (*testIface)(const struct ifaceFoo_1_0* foo, int32_t y); 652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) struct ifaceFoo_1_0* (*createIface)(const char* name); 662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef struct ifaceBar_1_0 ifaceBar; 69cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 70cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)struct ifaceNoString_1_0 { 71cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) void (*mem)(void); 72cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}; 73cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 74cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)typedef struct ifaceNoString_1_0 ifaceNoString; 752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/** 762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * @} 772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) */ 782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/** 802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * @addtogroup Structs 812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * @{ 822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) */ 832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct struct2 { 842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) struct ifaceBar_1_0* bar; 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @} 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* PPAPI_C_TEST_CGEN_INTERFACE_H_ */ 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 92