Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / ppapi / generators / test_cgen / interface.h
blob7288830ea53a5d684661981e19dffdb15fba9067
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 /* From test_cgen/interface.idl modified Wed Nov 21 14:22:50 2012. */
9 #ifndef PPAPI_C_TEST_CGEN_INTERFACE_H_
10 #define PPAPI_C_TEST_CGEN_INTERFACE_H_
12 #include "ppapi/c/pp_macros.h"
13 #include "ppapi/c/test_cgen/stdint.h"
15 #define IFACEFOO_INTERFACE_1_0 "ifaceFoo;1.0"
16 #define IFACEFOO_INTERFACE IFACEFOO_INTERFACE_1_0
18 #define IFACEBAR_INTERFACE_1_0 "ifaceBar;1.0"
19 #define IFACEBAR_INTERFACE IFACEBAR_INTERFACE_1_0
21 /**
22 * @file
23 * This file will test that the IDL snippet matches the comment.
27 /**
28 * @addtogroup Structs
29 * @{
31 /* struct ist { void* X; }; */
32 struct ist {
33 void* X;
35 /**
36 * @}
39 /**
40 * @addtogroup Interfaces
41 * @{
44 * struct ifaceFoo_1_0 {
45 * int8_t (*mem1)(int16_t x, int32_t y);
46 * int32_t (*mem2)(const struct ist* a);
47 * int32_t (*mem3)(struct ist* b);
48 * int32_t (*mem4)(const void** ptr);
49 * int32_t (*mem5)(void** ptr);
50 * };
51 * typedef struct ifaceFoo_1_0 ifaceFoo;
53 struct ifaceFoo_1_0 {
54 int8_t (*mem1)(int16_t x, int32_t y);
55 int32_t (*mem2)(const struct ist* a);
56 int32_t (*mem3)(struct ist* b);
57 int32_t (*mem4)(const void** ptr);
58 int32_t (*mem5)(void** ptr);
61 typedef struct ifaceFoo_1_0 ifaceFoo;
63 struct ifaceBar_1_0 {
64 int8_t (*testIface)(const struct ifaceFoo_1_0* foo, int32_t y);
65 struct ifaceFoo_1_0* (*createIface)(const char* name);
68 typedef struct ifaceBar_1_0 ifaceBar;
70 struct ifaceNoString_1_0 {
71 void (*mem)(void);
74 typedef struct ifaceNoString_1_0 ifaceNoString;
75 /**
76 * @}
79 /**
80 * @addtogroup Structs
81 * @{
83 struct struct2 {
84 struct ifaceBar_1_0* bar;
86 /**
87 * @}
90 #endif /* PPAPI_C_TEST_CGEN_INTERFACE_H_ */