OLD | NEW |
| (Empty) |
1 // Copyright 2015 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 BLIMP_COMMON_CREATE_BLIMP_MESSAGE_H_ | |
6 #define BLIMP_COMMON_CREATE_BLIMP_MESSAGE_H_ | |
7 | |
8 #include <stdint.h> | |
9 | |
10 #include <memory> | |
11 #include <string> | |
12 | |
13 #include "blimp/common/blimp_common_export.h" | |
14 #include "blimp/common/proto/protocol_control.pb.h" | |
15 | |
16 namespace blimp { | |
17 | |
18 class BlimpMessage; | |
19 class BlobChannelMessage; | |
20 class CompositorMessage; | |
21 class EngineSettingsMessage; | |
22 class GeolocationMessage; | |
23 class ImeMessage; | |
24 class InputMessage; | |
25 class NavigationMessage; | |
26 class RenderWidgetMessage; | |
27 class SizeMessage; | |
28 class TabControlMessage; | |
29 | |
30 // Suite of helper methods to simplify the repetitive task of creating | |
31 // new BlimpMessages, initializing them, and extracting type-specific | |
32 // inner messages. | |
33 // | |
34 // | |
35 // Every specialization of CreateBlimpMessage returns an initialized | |
36 // BlimpMessage object. In addition, a pointer to the type-specific inner | |
37 // message is returned via the initial double-pointer parameter. | |
38 // | |
39 // Additional initialization arguments may be taken depending on the | |
40 // message type. | |
41 | |
42 BLIMP_COMMON_EXPORT std::unique_ptr<BlimpMessage> CreateBlimpMessage( | |
43 CompositorMessage** compositor_message, | |
44 int target_tab_id); | |
45 | |
46 BLIMP_COMMON_EXPORT std::unique_ptr<BlimpMessage> CreateBlimpMessage( | |
47 TabControlMessage** control_message); | |
48 | |
49 BLIMP_COMMON_EXPORT std::unique_ptr<BlimpMessage> CreateBlimpMessage( | |
50 InputMessage** input_message); | |
51 | |
52 BLIMP_COMMON_EXPORT std::unique_ptr<BlimpMessage> CreateBlimpMessage( | |
53 NavigationMessage** navigation_message, | |
54 int target_tab_id); | |
55 | |
56 BLIMP_COMMON_EXPORT std::unique_ptr<BlimpMessage> CreateBlimpMessage( | |
57 ImeMessage** ime_message, | |
58 int target_tab_id); | |
59 | |
60 BLIMP_COMMON_EXPORT std::unique_ptr<BlimpMessage> CreateBlimpMessage( | |
61 RenderWidgetMessage** render_widget_message, | |
62 int target_tab_id); | |
63 | |
64 BLIMP_COMMON_EXPORT std::unique_ptr<BlimpMessage> CreateBlimpMessage( | |
65 SizeMessage** size_message); | |
66 | |
67 BLIMP_COMMON_EXPORT std::unique_ptr<BlimpMessage> CreateBlimpMessage( | |
68 EngineSettingsMessage** engine_settings); | |
69 | |
70 BLIMP_COMMON_EXPORT std::unique_ptr<BlimpMessage> CreateBlimpMessage( | |
71 BlobChannelMessage** blob_channel_message); | |
72 | |
73 BLIMP_COMMON_EXPORT std::unique_ptr<BlimpMessage> CreateBlimpMessage( | |
74 GeolocationMessage** geolocation_message); | |
75 | |
76 BLIMP_COMMON_EXPORT std::unique_ptr<BlimpMessage> CreateStartConnectionMessage( | |
77 const std::string& client_auth_token, | |
78 int protocol_version); | |
79 | |
80 BLIMP_COMMON_EXPORT std::unique_ptr<BlimpMessage> CreateCheckpointAckMessage( | |
81 int64_t checkpoint_id); | |
82 | |
83 BLIMP_COMMON_EXPORT std::unique_ptr<BlimpMessage> CreateEndConnectionMessage( | |
84 EndConnectionMessage::Reason reason); | |
85 | |
86 } // namespace blimp | |
87 | |
88 #endif // BLIMP_COMMON_CREATE_BLIMP_MESSAGE_H_ | |
OLD | NEW |