diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-16 05:04:08 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-16 05:04:08 +0000 |
commit | 35e4d6dbcb41b8a92a78fc07f4c7163e08107a08 (patch) | |
tree | 358d72eca9ed8e6943f4641ac69552b50eaa8061 /mojo | |
parent | ab3ccafadf40b3880fd83ab546c424f9e773c5e8 (diff) | |
download | chromium_src-35e4d6dbcb41b8a92a78fc07f4c7163e08107a08.zip chromium_src-35e4d6dbcb41b8a92a78fc07f4c7163e08107a08.tar.gz chromium_src-35e4d6dbcb41b8a92a78fc07f4c7163e08107a08.tar.bz2 |
Fixes bug in bindings generator where we generate an empty switch
If the mojom interface has no methods we generate an empty switch
statement. Windows compiler doesn't like this.
BUG=none
TEST=none
R=darin@chromium.org
Review URL: https://codereview.chromium.org/200523007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257355 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'mojo')
-rw-r--r-- | mojo/public/bindings/generators/cpp_templates/interface_definition.tmpl | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/mojo/public/bindings/generators/cpp_templates/interface_definition.tmpl b/mojo/public/bindings/generators/cpp_templates/interface_definition.tmpl index 960171c..346595f 100644 --- a/mojo/public/bindings/generators/cpp_templates/interface_definition.tmpl +++ b/mojo/public/bindings/generators/cpp_templates/interface_definition.tmpl @@ -76,21 +76,23 @@ params->{{param.name}}() {%- endmacro %} bool {{class_name}}Stub::Accept(mojo::Message* message) { +{%- if interface.methods %} switch (message->header()->name) { -{%- for method in interface.methods %} - case internal::k{{class_name}}_{{method.name}}_Name: { - internal::{{class_name}}_{{method.name}}_Params_Data* params = - reinterpret_cast<internal::{{class_name}}_{{method.name}}_Params_Data*>( - message->mutable_payload()); +{%- for method in interface.methods %} + case internal::k{{class_name}}_{{method.name}}_Name: { + internal::{{class_name}}_{{method.name}}_Params_Data* params = + reinterpret_cast<internal::{{class_name}}_{{method.name}}_Params_Data*>( + message->mutable_payload()); - if (!params->DecodePointersAndHandles(message)) - return false; - sink_->{{method.name}}({{params(method)}}); - params->CloseHandles(); - break; - } -{%- endfor %} + if (!params->DecodePointersAndHandles(message)) + return false; + sink_->{{method.name}}({{params(method)}}); + params->CloseHandles(); + break; + } +{%- endfor %} } +{%- endif %} return true; } |