Index: mojo/public/tools/bindings/generators/cpp_templates/module-shared.cc.tmpl |
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/module-shared.cc.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/module-shared.cc.tmpl |
index 70b6a9a718d9b6e7b9d4d9577377a5115fd19794..645bb692b00e6643ae7ae4f0a3e547d62732030b 100644 |
--- a/mojo/public/tools/bindings/generators/cpp_templates/module-shared.cc.tmpl |
+++ b/mojo/public/tools/bindings/generators/cpp_templates/module-shared.cc.tmpl |
@@ -2,4 +2,63 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-// TODO(yzshen): Move code here. |
+#if defined(_MSC_VER) |
+#pragma warning(push) |
+#pragma warning(disable:4065) |
+#endif |
+ |
+#include "{{module.path}}-shared.h" |
+ |
+#include <utility> |
+ |
+#include "base/logging.h" |
+#include "mojo/public/cpp/bindings/lib/validate_params.h" |
+#include "mojo/public/cpp/bindings/lib/validation_context.h" |
+#include "mojo/public/cpp/bindings/lib/validation_errors.h" |
+#include "mojo/public/cpp/bindings/lib/validation_util.h" |
+ |
+{%- for header in extra_traits_headers %} |
+#include "{{header}}" |
+{%- endfor %} |
+ |
+{%- for namespace in namespaces_as_array %} |
+namespace {{namespace}} { |
+{%- endfor %} |
+ |
+namespace internal { |
+ |
+{#--- Union definitions #} |
+{%- for union in unions %} |
+{% include "union_definition.tmpl" %} |
+{%- endfor %} |
+ |
+{#--- Struct definitions #} |
+{%- for struct in structs %} |
+{%- if not struct|is_native_only_kind %} |
+{% include "struct_definition.tmpl" %} |
+{%- endif %} |
+{%- endfor %} |
+ |
+{#--- Interface parameter definitions #} |
+{%- for interface in interfaces %} |
+{%- for method in interface.methods %} |
+{%- set method_name = "k%s_%s_Name"|format(interface.name, method.name) %} |
+{%- set struct = method.param_struct %} |
+{% include "struct_definition.tmpl" %} |
+{%- if method.response_parameters != None %} |
+{%- set struct = method.response_param_struct %} |
+{% include "struct_definition.tmpl" %} |
+{%- endif %} |
+{%- endfor %} |
+{%- endfor %} |
+ |
+} // namespace internal |
+ |
+{%- for namespace in namespaces_as_array|reverse %} |
+} // namespace {{namespace}} |
+{%- endfor %} |
+ |
+#if defined(_MSC_VER) |
+#pragma warning(pop) |
+#endif |
+ |