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

Unified Diff: mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl

Issue 265793015: Mojo: Replace RemotePtr with InterfacePtr and InterfaceImpl (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl
index 7a030238623cef01e45cf74dab417ea83c6cbb3a..ccd4b427d8e159a2e5233c517dedcbe49916928a 100644
--- a/mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl
+++ b/mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl
@@ -6,6 +6,8 @@
{%- for param in parameters %}
{%- if param.kind|is_object_kind -%}
mojo::internal::Wrap(params->{{param.name}}())
+{%- elif param.kind|is_interface_kind -%}
+mojo::MakeProxy<{{param.kind.name}}>(mojo::MakePassable(params->{{param.name}}()).Pass())
{%- elif param.kind|is_handle_kind -%}
mojo::MakePassable(params->{{param.name}}()).Pass()
{%- elif param.kind|is_enum_kind -%}
@@ -38,6 +40,14 @@ params->{{param.name}}()
if (!in_{{param.name}}.is_null())
params->set_{{param.name}}(
mojo::internal::Unwrap(in_{{param.name}})->Clone(builder.buffer()));
+{%- elif param.kind|is_interface_kind %}
+ if (!in_{{param.name}}.get()) {
+ params->set_{{param.name}}(mojo::MessagePipeHandle());
+ } else {
+ // Delegate handle.
+ params->set_{{param.name}}(
+ in_{{param.name}}.ResetAndReturnMessagePipe().release());
+ }
{%- elif param.kind|is_handle_kind %}
params->set_{{param.name}}(in_{{param.name}}.release());
{%- else %}
@@ -165,8 +175,8 @@ void {{class_name}}_{{method.name}}_ProxyToResponder::Run(
{%- endif -%}
{%- endfor %}
-{{class_name}}Stub::{{class_name}}Stub({{class_name}}* sink)
- : sink_(sink) {
+{{class_name}}Stub::{{class_name}}Stub()
+ : sink_(NULL) {
}
{#--- Stub definition #}

Powered by Google App Engine
This is Rietveld 408576698