| OLD | NEW |
| 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, mojo::Message* message); | 3 static bool Accept({{interface.name}}* impl, mojo::Message* message); |
| 4 static bool AcceptWithResponder({{interface.name}}* impl, | 4 static bool AcceptWithResponder( |
| 5 mojo::Message* message, | 5 {{interface.name}}* impl, |
| 6 mojo::MessageReceiverWithStatus* responder); | 6 mojo::Message* message, |
| 7 std::unique_ptr<mojo::MessageReceiverWithStatus> responder); |
| 7 }; | 8 }; |
| 8 | 9 |
| 9 template <typename ImplRefTraits = | 10 template <typename ImplRefTraits = |
| 10 mojo::RawPtrImplRefTraits<{{interface.name}}>> | 11 mojo::RawPtrImplRefTraits<{{interface.name}}>> |
| 11 class {{interface.name}}Stub | 12 class {{interface.name}}Stub |
| 12 : public NON_EXPORTED_BASE(mojo::MessageReceiverWithResponderStatus) { | 13 : public NON_EXPORTED_BASE(mojo::MessageReceiverWithResponderStatus) { |
| 13 public: | 14 public: |
| 14 using ImplPointerType = typename ImplRefTraits::PointerType; | 15 using ImplPointerType = typename ImplRefTraits::PointerType; |
| 15 | 16 |
| 16 {{interface.name}}Stub() {} | 17 {{interface.name}}Stub() {} |
| 17 ~{{interface.name}}Stub() override {} | 18 ~{{interface.name}}Stub() override {} |
| 18 | 19 |
| 19 void set_sink(ImplPointerType sink) { sink_ = std::move(sink); } | 20 void set_sink(ImplPointerType sink) { sink_ = std::move(sink); } |
| 20 ImplPointerType& sink() { return sink_; } | 21 ImplPointerType& sink() { return sink_; } |
| 21 | 22 |
| 22 bool Accept(mojo::Message* message) override { | 23 bool Accept(mojo::Message* message) override { |
| 23 if (ImplRefTraits::IsNull(sink_)) | 24 if (ImplRefTraits::IsNull(sink_)) |
| 24 return false; | 25 return false; |
| 25 return {{interface.name}}StubDispatch::Accept( | 26 return {{interface.name}}StubDispatch::Accept( |
| 26 ImplRefTraits::GetRawPointer(&sink_), message); | 27 ImplRefTraits::GetRawPointer(&sink_), message); |
| 27 } | 28 } |
| 28 | 29 |
| 29 bool AcceptWithResponder( | 30 bool AcceptWithResponder( |
| 30 mojo::Message* message, | 31 mojo::Message* message, |
| 31 mojo::MessageReceiverWithStatus* responder) override { | 32 std::unique_ptr<mojo::MessageReceiverWithStatus> responder) override { |
| 32 if (ImplRefTraits::IsNull(sink_)) | 33 if (ImplRefTraits::IsNull(sink_)) |
| 33 return false; | 34 return false; |
| 34 return {{interface.name}}StubDispatch::AcceptWithResponder( | 35 return {{interface.name}}StubDispatch::AcceptWithResponder( |
| 35 ImplRefTraits::GetRawPointer(&sink_), message, responder); | 36 ImplRefTraits::GetRawPointer(&sink_), message, std::move(responder)); |
| 36 } | 37 } |
| 37 | 38 |
| 38 private: | 39 private: |
| 39 ImplPointerType sink_; | 40 ImplPointerType sink_; |
| 40 }; | 41 }; |
| OLD | NEW |