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_DEVICE_ID,
28  API_ID_PPB_FLASH_FONTFILE,
29  API_ID_PPB_FLASH_MENU,
30  API_ID_PPB_FLASH_MESSAGELOOP,
31  API_ID_PPB_FONT,
32  API_ID_PPB_GRAPHICS_2D,
33  API_ID_PPB_GRAPHICS_3D,
34  API_ID_PPB_IMAGE_DATA,
35  API_ID_PPB_INSTANCE,
36  API_ID_PPB_INSTANCE_PRIVATE,
37  API_ID_PPB_OPENGLES2,
38  API_ID_PPB_PDF,
39  API_ID_PPB_SURFACE_3D,
40  API_ID_PPB_TALK,
41  API_ID_PPB_TESTING,
42  API_ID_PPB_TEXT_INPUT,
43  API_ID_PPB_URL_RESPONSE_INFO,
44  API_ID_PPB_VAR_ARRAY_BUFFER,
45  API_ID_PPB_VAR_DEPRECATED,
46  API_ID_PPB_VIDEO_CAPTURE_DEV,
47  API_ID_PPB_VIDEO_DECODER_DEV,
48  API_ID_PPB_X509_CERTIFICATE_PRIVATE,
49  API_ID_PPP_CLASS,
50  // TODO(tomfinegan): Remove this after we refactor things to load the PPP
51  // interface struct from the PPB interface.
52  API_ID_PPP_CONTENT_DECRYPTOR_PRIVATE,
53  API_ID_PPP_FIND_PRIVATE,
54  API_ID_PPP_GRAPHICS_3D,
55  API_ID_PPP_INPUT_EVENT,
56  API_ID_PPP_INSTANCE,
57  API_ID_PPP_INSTANCE_PRIVATE,
58  API_ID_PPP_MESSAGING,
59  API_ID_PPP_MOUSE_LOCK,
60  API_ID_PPP_PDF,
61  API_ID_PPP_PRINTING,
62  API_ID_PPP_TEXT_INPUT,
63  API_ID_PPP_VIDEO_CAPTURE_DEV,
64  API_ID_PPP_VIDEO_DECODER_DEV,
65  API_ID_RESOURCE_CREATION,
66
67  // Must be last to indicate the number of interface IDs.
68  API_ID_COUNT
69};
70
71}  // namespace ppapi
72
73#endif  // PPAPI_SHARED_IMPL_API_ID_H_
74