api_id.h revision 5821806d5e7f356e8fa4b058a389a808ea183019
1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef PPAPI_SHARED_IMPL_API_ID_H_
6#define PPAPI_SHARED_IMPL_API_ID_H_
7
8namespace ppapi {
9
10// These numbers must be all small integers. They are used in a lookup table
11// to route messages to the appropriate message handler.
12enum ApiID {
13  // Zero is reserved for control messages.
14  API_ID_NONE = 0,
15  API_ID_PPB_AUDIO = 1,
16  API_ID_PPB_AUDIO_CONFIG,
17  API_ID_PPB_AUDIO_INPUT_DEV,
18  API_ID_PPB_BROKER,
19  API_ID_PPB_BUFFER,
20  API_ID_PPB_CONTEXT_3D,
21  API_ID_PPB_CORE,
22  API_ID_PPB_CURSORCONTROL,
23  API_ID_PPB_FILE_CHOOSER,
24  API_ID_PPB_FILE_IO,
25  API_ID_PPB_FILE_REF,
26  API_ID_PPB_FILE_SYSTEM,
27  API_ID_PPB_FLASH,
28  API_ID_PPB_FLASH_DEVICE_ID,
29  API_ID_PPB_FLASH_FONTFILE,
30  API_ID_PPB_FLASH_MENU,
31  API_ID_PPB_FLASH_MESSAGELOOP,
32  API_ID_PPB_FONT,
33  API_ID_PPB_GRAPHICS_2D,
34  API_ID_PPB_GRAPHICS_3D,
35  API_ID_PPB_HOSTRESOLVER_PRIVATE,
36  API_ID_PPB_IMAGE_DATA,
37  API_ID_PPB_INSTANCE,
38  API_ID_PPB_INSTANCE_PRIVATE,
39  API_ID_PPB_NETWORKMANAGER_PRIVATE,
40  API_ID_PPB_OPENGLES2,
41  API_ID_PPB_PDF,
42  API_ID_PPB_SURFACE_3D,
43  API_ID_PPB_TCPSERVERSOCKET_PRIVATE,
44  API_ID_PPB_TCPSOCKET_PRIVATE,
45  API_ID_PPB_TALK,
46  API_ID_PPB_TESTING,
47  API_ID_PPB_TEXT_INPUT,
48  API_ID_PPB_UDPSOCKET_PRIVATE,
49  API_ID_PPB_URL_LOADER,
50  API_ID_PPB_URL_RESPONSE_INFO,
51  API_ID_PPB_VAR_ARRAY_BUFFER,
52  API_ID_PPB_VAR_DEPRECATED,
53  API_ID_PPB_VIDEO_CAPTURE_DEV,
54  API_ID_PPB_VIDEO_DECODER_DEV,
55  API_ID_PPB_X509_CERTIFICATE_PRIVATE,
56
57  API_ID_PPP_CLASS,
58  // TODO(tomfinegan): Remove this after we refactor things to load the PPP
59  // interface struct from the PPB interface.
60  API_ID_PPP_CONTENT_DECRYPTOR_PRIVATE,
61  API_ID_PPP_GRAPHICS_3D,
62  API_ID_PPP_INPUT_EVENT,
63  API_ID_PPP_INSTANCE,
64  API_ID_PPP_INSTANCE_PRIVATE,
65  API_ID_PPP_MESSAGING,
66  API_ID_PPP_MOUSE_LOCK,
67  API_ID_PPP_PRINTING,
68  API_ID_PPP_TEXT_INPUT,
69  API_ID_PPP_VIDEO_CAPTURE_DEV,
70  API_ID_PPP_VIDEO_DECODER_DEV,
71
72  API_ID_RESOURCE_CREATION,
73
74  // Must be last to indicate the number of interface IDs.
75  API_ID_COUNT
76};
77
78}  // namespace ppapi
79
80#endif  // PPAPI_SHARED_IMPL_API_ID_H_
81