OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef {{"_".join(config.protocol.namespace)}}_FrontendChannel_h | 5 #ifndef {{"_".join(config.protocol.namespace)}}_FrontendChannel_h |
6 #define {{"_".join(config.protocol.namespace)}}_FrontendChannel_h | 6 #define {{"_".join(config.protocol.namespace)}}_FrontendChannel_h |
7 | 7 |
8 {% for namespace in config.protocol.namespace %} | 8 {% for namespace in config.protocol.namespace %} |
9 namespace {{namespace}} { | 9 namespace {{namespace}} { |
10 {% endfor %} | 10 {% endfor %} |
11 | 11 |
| 12 class {{config.lib.export_macro}} Serializable { |
| 13 public: |
| 14 virtual String serialize() = 0; |
| 15 virtual ~Serializable() = default; |
| 16 }; |
| 17 |
12 class {{config.lib.export_macro}} FrontendChannel { | 18 class {{config.lib.export_macro}} FrontendChannel { |
13 public: | 19 public: |
14 virtual ~FrontendChannel() { } | 20 virtual ~FrontendChannel() { } |
15 virtual void sendProtocolResponse(int callId, const String& message) = 0; | 21 virtual void sendProtocolResponse(int callId, std::unique_ptr<Serializable>
message) = 0; |
16 virtual void sendProtocolNotification(const String& message) = 0; | 22 virtual void sendProtocolNotification(std::unique_ptr<Serializable> message)
= 0; |
17 virtual void flushProtocolNotifications() = 0; | 23 virtual void flushProtocolNotifications() = 0; |
18 }; | 24 }; |
19 | 25 |
20 {% for namespace in config.protocol.namespace %} | 26 {% for namespace in config.protocol.namespace %} |
21 } // namespace {{namespace}} | 27 } // namespace {{namespace}} |
22 {% endfor %} | 28 {% endfor %} |
23 | 29 |
24 #endif // !defined({{"_".join(config.protocol.namespace)}}_FrontendChannel_h) | 30 #endif // !defined({{"_".join(config.protocol.namespace)}}_FrontendChannel_h) |
OLD | NEW |