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; 692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/** 702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * @} 712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) */ 722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/** 742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * @addtogroup Structs 752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) * @{ 762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) */ 772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct struct2 { 782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) struct ifaceBar_1_0* bar; 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @} 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* PPAPI_C_TEST_CGEN_INTERFACE_H_ */ 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 86