Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(421)

Side by Side Diff: mojo/public/tools/bindings/generators/cpp_templates/interface_stub_declaration.tmpl

Issue 2660733002: Mojo C++ bindings: introduce an optional array to store transferred interface IDs in messages. (Closed)
Patch Set: . Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 class {{export_attribute}} {{interface.name}}StubDispatch { 1 class {{export_attribute}} {{interface.name}}StubDispatch {
2 public: 2 public:
3 static bool Accept({{interface.name}}* impl, 3 static bool Accept({{interface.name}}* impl, mojo::Message* message);
4 mojo::internal::SerializationContext* context,
5 mojo::Message* message);
6 static bool AcceptWithResponder({{interface.name}}* impl, 4 static bool AcceptWithResponder({{interface.name}}* impl,
7 mojo::internal::SerializationContext* context,
8 mojo::Message* message, 5 mojo::Message* message,
9 mojo::MessageReceiverWithStatus* responder); 6 mojo::MessageReceiverWithStatus* responder);
10 }; 7 };
11 8
12 template <typename ImplRefTraits = 9 template <typename ImplRefTraits =
13 mojo::RawPtrImplRefTraits<{{interface.name}}>> 10 mojo::RawPtrImplRefTraits<{{interface.name}}>>
14 class {{interface.name}}Stub 11 class {{interface.name}}Stub
15 : public NON_EXPORTED_BASE(mojo::MessageReceiverWithResponderStatus) { 12 : public NON_EXPORTED_BASE(mojo::MessageReceiverWithResponderStatus) {
16 public: 13 public:
17 using ImplPointerType = typename ImplRefTraits::PointerType; 14 using ImplPointerType = typename ImplRefTraits::PointerType;
18 15
19 {{interface.name}}Stub() {} 16 {{interface.name}}Stub() {}
20 ~{{interface.name}}Stub() override {} 17 ~{{interface.name}}Stub() override {}
21 18
22 void set_sink(ImplPointerType sink) { sink_ = std::move(sink); } 19 void set_sink(ImplPointerType sink) { sink_ = std::move(sink); }
23 ImplPointerType& sink() { return sink_; } 20 ImplPointerType& sink() { return sink_; }
24 21
25 mojo::internal::SerializationContext* serialization_context() {
26 return &serialization_context_;
27 }
28
29 bool Accept(mojo::Message* message) override { 22 bool Accept(mojo::Message* message) override {
30 if (ImplRefTraits::IsNull(sink_)) 23 if (ImplRefTraits::IsNull(sink_))
31 return false; 24 return false;
32 return {{interface.name}}StubDispatch::Accept( 25 return {{interface.name}}StubDispatch::Accept(
33 ImplRefTraits::GetRawPointer(&sink_), &serialization_context_, message); 26 ImplRefTraits::GetRawPointer(&sink_), message);
34 } 27 }
35 28
36 bool AcceptWithResponder( 29 bool AcceptWithResponder(
37 mojo::Message* message, 30 mojo::Message* message,
38 mojo::MessageReceiverWithStatus* responder) override { 31 mojo::MessageReceiverWithStatus* responder) override {
39 if (ImplRefTraits::IsNull(sink_)) 32 if (ImplRefTraits::IsNull(sink_))
40 return false; 33 return false;
41 return {{interface.name}}StubDispatch::AcceptWithResponder( 34 return {{interface.name}}StubDispatch::AcceptWithResponder(
42 ImplRefTraits::GetRawPointer(&sink_), &serialization_context_, message, 35 ImplRefTraits::GetRawPointer(&sink_), message, responder);
43 responder);
44 } 36 }
45 37
46 private: 38 private:
47 ImplPointerType sink_; 39 ImplPointerType sink_;
48 mojo::internal::SerializationContext serialization_context_;
49 }; 40 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698