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

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

Issue 1447273002: Mojo Log service and a thread-safe client library. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Fix destructor race condition in log_client.cc; add some comments Created 5 years, 1 month 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 {%- import "interface_macros.tmpl" as interface_macros %} 1 {%- import "interface_macros.tmpl" as interface_macros %}
2 {%- import "struct_macros.tmpl" as struct_macros %} 2 {%- import "struct_macros.tmpl" as struct_macros %}
3 {%- from "enum_macros.tmpl" import is_valid_enum_def %} 3 {%- from "enum_macros.tmpl" import is_valid_enum_def %}
4 {%- from "enum_macros.tmpl" import global_enum_operators_def %} 4 {%- from "enum_macros.tmpl" import global_enum_operators_def %}
5 5
6 {%- set class_name = interface.name %} 6 {%- set class_name = interface.name %}
7 {%- set proxy_name = interface.name ~ "Proxy" %} 7 {%- set proxy_name = interface.name ~ "Proxy" %}
8 {%- set namespace_as_string = "%s"|format(namespace|replace(".","::")) %} 8 {%- set namespace_as_string = "%s"|format(namespace|replace(".","::")) %}
9 9
10 {%- macro alloc_params(struct) %} 10 {%- macro alloc_params(struct) %}
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 {%- set message_name = 88 {%- set message_name =
89 "%s::MessageOrdinals::%s"|format(interface.name, method.name) %} 89 "%s::MessageOrdinals::%s"|format(interface.name, method.name) %}
90 {%- set params_struct = method.param_struct %} 90 {%- set params_struct = method.param_struct %}
91 {%- set params_description = 91 {%- set params_description =
92 "%s.%s request"|format(interface.name, method.name) %} 92 "%s.%s request"|format(interface.name, method.name) %}
93 void {{proxy_name}}::{{method.name}}( 93 void {{proxy_name}}::{{method.name}}(
94 {{interface_macros.declare_request_params("in_", method)}}) { 94 {{interface_macros.declare_request_params("in_", method)}}) {
95 {{struct_macros.get_serialized_size(params_struct, "in_%s")}} 95 {{struct_macros.get_serialized_size(params_struct, "in_%s")}}
96 96
97 {%- if method.response_parameters != None %} 97 {%- if method.response_parameters != None %}
98 mojo::internal::RequestMessageBuilder builder( 98 mojo::RequestMessageBuilder builder(
99 static_cast<uint32_t>({{message_name}}), size); 99 static_cast<uint32_t>({{message_name}}), size);
100 {%- else %} 100 {%- else %}
101 mojo::internal::MessageBuilder builder( 101 mojo::MessageBuilder builder(
102 static_cast<uint32_t>({{message_name}}), size); 102 static_cast<uint32_t>({{message_name}}), size);
103 {%- endif %} 103 {%- endif %}
104 104
105 {{build_message(params_struct, params_description)}} 105 {{build_message(params_struct, params_description)}}
106 106
107 {%- if method.response_parameters != None %} 107 {%- if method.response_parameters != None %}
108 mojo::MessageReceiver* responder = 108 mojo::MessageReceiver* responder =
109 new {{class_name}}_{{method.name}}_ForwardToCallback(callback); 109 new {{class_name}}_{{method.name}}_ForwardToCallback(callback);
110 if (!receiver_->AcceptWithResponder(builder.message(), responder)) 110 if (!receiver_->AcceptWithResponder(builder.message(), responder))
111 delete responder; 111 delete responder;
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 void Run({{interface_macros.declare_params_as_args("in_", method.response_para meters)}}) const override; 154 void Run({{interface_macros.declare_params_as_args("in_", method.response_para meters)}}) const override;
155 155
156 private: 156 private:
157 uint64_t request_id_; 157 uint64_t request_id_;
158 mutable mojo::MessageReceiverWithStatus* responder_; 158 mutable mojo::MessageReceiverWithStatus* responder_;
159 MOJO_DISALLOW_COPY_AND_ASSIGN({{class_name}}_{{method.name}}_ProxyToResponder) ; 159 MOJO_DISALLOW_COPY_AND_ASSIGN({{class_name}}_{{method.name}}_ProxyToResponder) ;
160 }; 160 };
161 void {{class_name}}_{{method.name}}_ProxyToResponder::Run( 161 void {{class_name}}_{{method.name}}_ProxyToResponder::Run(
162 {{interface_macros.declare_params_as_args("in_", method.response_parameters) }}) const { 162 {{interface_macros.declare_params_as_args("in_", method.response_parameters) }}) const {
163 {{struct_macros.get_serialized_size(response_params_struct, "in_%s")}} 163 {{struct_macros.get_serialized_size(response_params_struct, "in_%s")}}
164 mojo::internal::ResponseMessageBuilder builder( 164 mojo::ResponseMessageBuilder builder(
165 static_cast<uint32_t>({{message_name}}), size, request_id_); 165 static_cast<uint32_t>({{message_name}}), size, request_id_);
166 {{build_message(response_params_struct, params_description)}} 166 {{build_message(response_params_struct, params_description)}}
167 bool ok = responder_->Accept(builder.message()); 167 bool ok = responder_->Accept(builder.message());
168 MOJO_ALLOW_UNUSED_LOCAL(ok); 168 MOJO_ALLOW_UNUSED_LOCAL(ok);
169 // TODO(darin): !ok returned here indicates a malformed message, and that may 169 // TODO(darin): !ok returned here indicates a malformed message, and that may
170 // be good reason to close the connection. However, we don't have a way to do 170 // be good reason to close the connection. However, we don't have a way to do
171 // that from here. We should add a way. 171 // that from here. We should add a way.
172 delete responder_; 172 delete responder_;
173 responder_ = nullptr; 173 responder_ = nullptr;
174 } 174 }
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
327 default: 327 default:
328 break; 328 break;
329 } 329 }
330 330
331 // Unrecognized message. 331 // Unrecognized message.
332 ReportValidationError( 332 ReportValidationError(
333 mojo::internal::ValidationError::MESSAGE_HEADER_UNKNOWN_METHOD); 333 mojo::internal::ValidationError::MESSAGE_HEADER_UNKNOWN_METHOD);
334 return false; 334 return false;
335 } 335 }
336 {%- endif -%} 336 {%- endif -%}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698