summaryrefslogtreecommitdiffstats
path: root/mojo/public/tools/bindings/generators/cpp_templates
diff options
context:
space:
mode:
Diffstat (limited to 'mojo/public/tools/bindings/generators/cpp_templates')
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/enum_declaration.tmpl9
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/interface_declaration.tmpl49
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl351
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/interface_macros.tmpl23
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/interface_proxy_declaration.tmpl14
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/interface_request_validator_declaration.tmpl6
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/interface_response_validator_declaration.tmpl6
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/interface_stub_declaration.tmpl13
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/module-internal.h.tmpl56
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/module.cc.tmpl98
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/module.h.tmpl109
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/params_definition.tmpl33
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/struct_declaration.tmpl22
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/struct_definition.tmpl28
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl124
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_declaration.tmpl5
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_definition.tmpl78
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl67
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/wrapper_class_declaration.tmpl41
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/wrapper_class_definition.tmpl37
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/wrapper_union_class_declaration.tmpl50
-rw-r--r--mojo/public/tools/bindings/generators/cpp_templates/wrapper_union_class_definition.tmpl96
22 files changed, 0 insertions, 1315 deletions
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/enum_declaration.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/enum_declaration.tmpl
deleted file mode 100644
index 86c85d7d..0000000
--- a/mojo/public/tools/bindings/generators/cpp_templates/enum_declaration.tmpl
+++ /dev/null
@@ -1,9 +0,0 @@
-enum {{enum.name}} {
-{%- for field in enum.fields %}
-{%- if field.value %}
- {{enum.name|to_all_caps}}_{{field.name}} = {{field.value|expression_to_text}},
-{%- else %}
- {{enum.name|to_all_caps}}_{{field.name}},
-{%- endif %}
-{%- endfor %}
-};
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/interface_declaration.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/interface_declaration.tmpl
deleted file mode 100644
index 30d20d8..0000000
--- a/mojo/public/tools/bindings/generators/cpp_templates/interface_declaration.tmpl
+++ /dev/null
@@ -1,49 +0,0 @@
-{%- import "interface_macros.tmpl" as interface_macros %}
-class {{interface.name}}Proxy;
-class {{interface.name}}Stub;
-
-class {{interface.name}}RequestValidator;
-{%- if interface|has_callbacks %}
-class {{interface.name}}ResponseValidator;
-{%- endif %}
-{% if interface.client %}
-class {{interface.client}};
-{% endif %}
-
-class {{interface.name}} {
- public:
- static const char* Name_;
-
- typedef {{interface.name}}Proxy Proxy_;
- typedef {{interface.name}}Stub Stub_;
-
- typedef {{interface.name}}RequestValidator RequestValidator_;
-{%- if interface|has_callbacks %}
- typedef {{interface.name}}ResponseValidator ResponseValidator_;
-{%- else %}
- typedef mojo::PassThroughFilter ResponseValidator_;
-{%- endif %}
-{% if interface.client %}
- typedef {{interface.client}} Client;
-{% else %}
- typedef mojo::NoInterface Client;
-{% endif %}
-
-{#--- Constants #}
-{%- for constant in interface.constants %}
- static const {{constant.kind|cpp_pod_type}} {{constant.name}};
-{%- endfor %}
-
-{#--- Enums #}
-{%- for enum in interface.enums %}
-{% macro enum_def() %}{% include "enum_declaration.tmpl" %}{% endmacro %}
- {{enum_def()|indent(2)}}
-{%- endfor %}
-
-{#--- Methods #}
- virtual ~{{interface.name}}() {}
-
-{%- for method in interface.methods %}
- virtual void {{method.name}}({{interface_macros.declare_request_params("", method)}}) = 0;
-{%- endfor %}
-};
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl
deleted file mode 100644
index fdbe8ca..0000000
--- a/mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl
+++ /dev/null
@@ -1,351 +0,0 @@
-{%- import "interface_macros.tmpl" as interface_macros %}
-{%- set class_name = interface.name %}
-{%- set proxy_name = interface.name ~ "Proxy" %}
-{%- set namespace_as_string = "%s"|format(namespace|replace(".","::")) %}
-
-{%- macro alloc_params(parameters) %}
-{%- for param in parameters %}
-{%- if param.kind|is_object_kind %}
-{{param.kind|cpp_result_type}} p{{loop.index}};
-Deserialize_(params->{{param.name}}.ptr, &p{{loop.index}});
-{% endif -%}
-{%- endfor %}
-{%- endmacro %}
-
-{%- macro pass_params(parameters) %}
-{%- for param in parameters %}
-{%- if param.kind|is_string_kind -%}
-p{{loop.index}}
-{%- elif param.kind|is_object_kind -%}
-p{{loop.index}}.Pass()
-{%- elif param.kind|is_interface_kind -%}
-mojo::MakeProxy<{{param.kind|get_name_for_kind}}>(mojo::MakeScopedHandle(mojo::internal::FetchAndReset(&params->{{param.name}})))
-{%- elif param.kind|is_interface_request_kind -%}
-mojo::MakeRequest<{{param.kind.kind|get_name_for_kind}}>(mojo::MakeScopedHandle(mojo::internal::FetchAndReset(&params->{{param.name}})))
-{%- elif param.kind|is_any_handle_kind -%}
-mojo::MakeScopedHandle(mojo::internal::FetchAndReset(&params->{{param.name}}))
-{%- elif param.kind|is_enum_kind -%}
-static_cast<{{param.kind|cpp_wrapper_type}}>(params->{{param.name}})
-{%- else -%}
-params->{{param.name}}
-{%- endif -%}
-{%- if not loop.last %}, {% endif %}
-{%- endfor %}
-{%- endmacro %}
-
-{%- macro compute_payload_size(params_name, parameters) -%}
- size_t payload_size =
- mojo::internal::Align(sizeof({{params_name}}));
-{#--- Computes #}
-{%- for param in parameters %}
-{%- if param.kind|is_object_kind %}
- payload_size += GetSerializedSize_(in_{{param.name}});
-{%- endif %}
-{%- endfor %}
-{%- endmacro %}
-
-{%- macro build_message(params_name, parameters, params_description) -%}
- {# TODO(yzshen): Consider refactoring to share code with
- struct_serialization_definition.tmpl #}
- {{params_name}}* params =
- {{params_name}}::New(builder.buffer());
-{#--- Sets #}
-{% for param in parameters %}
-{%- if param.kind|is_object_kind %}
-{%- if param.kind|is_array_kind %}
- mojo::SerializeArray_<{{param.kind|get_array_validate_params|indent(24)}}>(
- mojo::internal::Forward(in_{{param.name}}), builder.buffer(), &params->{{param.name}}.ptr);
-{%- elif param.kind|is_map_kind %}
- mojo::SerializeMap_<{{param.kind.value_kind|get_map_validate_params|indent(24)}}>(
- mojo::internal::Forward(in_{{param.name}}), builder.buffer(), &params->{{param.name}}.ptr);
-{%- else %}
- Serialize_(mojo::internal::Forward(in_{{param.name}}), builder.buffer(), &params->{{param.name}}.ptr);
-{%- endif %}
-{%- if not param.kind|is_nullable_kind %}
- MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
- !params->{{param.name}}.ptr,
- mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
- "null {{param.name}} argument in {{params_description}}");
-{%- endif %}
-{%- elif param.kind|is_any_handle_kind %}
-{%- if param.kind|is_interface_kind or
- param.kind|is_interface_request_kind %}
- // Delegate handle.
- params->{{param.name}} = in_{{param.name}}.PassMessagePipe().release();
-{%- else %}
- params->{{param.name}} = in_{{param.name}}.release();
-{%- endif %}
-{%- if not param.kind|is_nullable_kind %}
- MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
- !params->{{param.name}}.is_valid(),
- mojo::internal::VALIDATION_ERROR_UNEXPECTED_INVALID_HANDLE,
- "invalid {{param.name}} argument in {{params_description}}");
-{%- endif %}
-{%- else %}
- params->{{param.name}} = in_{{param.name}};
-{%- endif %}
-{%- endfor %}
- mojo::Message message;
- params->EncodePointersAndHandles(message.mutable_handles());
- builder.Finish(&message);
-{%- endmacro %}
-
-{#--- Begin #}
-const char* {{class_name}}::Name_ = "{{namespace_as_string}}::{{class_name}}";
-{#--- Constants #}
-{% for constant in interface.constants %}
-const {{constant.kind|cpp_pod_type}} {{interface.name}}::{{constant.name}} = {{constant|constant_value}};
-{%- endfor %}
-
-{#--- ForwardToCallback definition #}
-{%- for method in interface.methods -%}
-{%- if method.response_parameters != None %}
-class {{class_name}}_{{method.name}}_ForwardToCallback
- : public mojo::MessageReceiver {
- public:
- {{class_name}}_{{method.name}}_ForwardToCallback(
- const {{interface_macros.declare_callback(method)}}& callback)
- : callback_(callback) {
- }
- virtual bool Accept(mojo::Message* message) override;
- private:
- {{interface_macros.declare_callback(method)}} callback_;
- MOJO_DISALLOW_COPY_AND_ASSIGN({{class_name}}_{{method.name}}_ForwardToCallback);
-};
-bool {{class_name}}_{{method.name}}_ForwardToCallback::Accept(
- mojo::Message* message) {
- internal::{{class_name}}_{{method.name}}_ResponseParams_Data* params =
- reinterpret_cast<internal::{{class_name}}_{{method.name}}_ResponseParams_Data*>(
- message->mutable_payload());
-
- params->DecodePointersAndHandles(message->mutable_handles());
- {{alloc_params(method.response_parameters)|indent(2)}}
- callback_.Run({{pass_params(method.response_parameters)}});
- return true;
-}
-{%- endif %}
-{%- endfor %}
-
-{{proxy_name}}::{{proxy_name}}(mojo::MessageReceiverWithResponder* receiver)
- : receiver_(receiver) {
-}
-
-{#--- Proxy definitions #}
-
-{%- for method in interface.methods %}
-{%- set message_name =
- "internal::k%s_%s_Name"|format(interface.name, method.name) %}
-{%- set params_name =
- "internal::%s_%s_Params_Data"|format(interface.name, method.name) %}
-{%- set params_description =
- "%s.%s request"|format(interface.name, method.name) %}
-void {{proxy_name}}::{{method.name}}(
- {{interface_macros.declare_request_params("in_", method)}}) {
- {{compute_payload_size(params_name, method.parameters)}}
-
-{%- if method.response_parameters != None %}
- mojo::internal::RequestMessageBuilder builder({{message_name}}, payload_size);
-{%- else %}
- mojo::internal::MessageBuilder builder({{message_name}}, payload_size);
-{%- endif %}
-
- {{build_message(params_name, method.parameters, params_description)}}
-
-{%- if method.response_parameters != None %}
- mojo::MessageReceiver* responder =
- new {{class_name}}_{{method.name}}_ForwardToCallback(callback);
- if (!receiver_->AcceptWithResponder(&message, responder))
- delete responder;
-{%- else %}
- bool ok = receiver_->Accept(&message);
- // This return value may be ignored as !ok implies the Connector has
- // encountered an error, which will be visible through other means.
- MOJO_ALLOW_UNUSED_LOCAL(ok);
-{%- endif %}
-}
-{%- endfor %}
-
-{#--- ProxyToResponder definition #}
-{%- for method in interface.methods -%}
-{%- if method.response_parameters != None %}
-{%- set message_name =
- "internal::k%s_%s_Name"|format(interface.name, method.name) %}
-{%- set params_name =
- "internal::%s_%s_ResponseParams_Data"|format(interface.name, method.name) %}
-{%- set params_description =
- "%s.%s response"|format(interface.name, method.name) %}
-class {{class_name}}_{{method.name}}_ProxyToResponder
- : public {{interface_macros.declare_callback(method)}}::Runnable {
- public:
- virtual ~{{class_name}}_{{method.name}}_ProxyToResponder() {
- delete responder_;
- }
-
- {{class_name}}_{{method.name}}_ProxyToResponder(
- uint64_t request_id,
- mojo::MessageReceiver* responder)
- : request_id_(request_id),
- responder_(responder) {
- }
-
- virtual void Run({{interface_macros.declare_params("in_", method.response_parameters)}}) const override;
-
- private:
- uint64_t request_id_;
- mutable mojo::MessageReceiver* responder_;
- MOJO_DISALLOW_COPY_AND_ASSIGN({{class_name}}_{{method.name}}_ProxyToResponder);
-};
-void {{class_name}}_{{method.name}}_ProxyToResponder::Run(
- {{interface_macros.declare_params("in_", method.response_parameters)}}) const {
- {{compute_payload_size(params_name, method.response_parameters)}}
- mojo::internal::ResponseMessageBuilder builder(
- {{message_name}}, payload_size, request_id_);
- {{build_message(params_name, method.response_parameters, params_description)}}
- bool ok = responder_->Accept(&message);
- MOJO_ALLOW_UNUSED_LOCAL(ok);
- // TODO(darin): !ok returned here indicates a malformed message, and that may
- // be good reason to close the connection. However, we don't have a way to do
- // that from here. We should add a way.
- delete responder_;
- responder_ = nullptr;
-}
-{%- endif -%}
-{%- endfor %}
-
-{{class_name}}Stub::{{class_name}}Stub()
- : sink_(nullptr) {
-}
-
-{#--- Stub definition #}
-
-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: {
-{%- if method.response_parameters == None %}
- internal::{{class_name}}_{{method.name}}_Params_Data* params =
- reinterpret_cast<internal::{{class_name}}_{{method.name}}_Params_Data*>(
- message->mutable_payload());
-
- params->DecodePointersAndHandles(message->mutable_handles());
- {{alloc_params(method.parameters)|indent(6)}}
- // A null |sink_| typically means there is a missing call to
- // InterfacePtr::set_client().
- assert(sink_);
- sink_->{{method.name}}({{pass_params(method.parameters)}});
- return true;
-{%- else %}
- break;
-{%- endif %}
- }
-{%- endfor %}
- }
-{%- endif %}
- return false;
-}
-
-bool {{class_name}}Stub::AcceptWithResponder(
- mojo::Message* message, mojo::MessageReceiver* responder) {
-{%- if interface.methods %}
- switch (message->header()->name) {
-{%- for method in interface.methods %}
- case internal::k{{class_name}}_{{method.name}}_Name: {
-{%- if method.response_parameters != None %}
- internal::{{class_name}}_{{method.name}}_Params_Data* params =
- reinterpret_cast<internal::{{class_name}}_{{method.name}}_Params_Data*>(
- message->mutable_payload());
-
- params->DecodePointersAndHandles(message->mutable_handles());
- {{interface_macros.declare_callback(method)}}::Runnable* runnable =
- new {{class_name}}_{{method.name}}_ProxyToResponder(
- message->request_id(), responder);
- {{interface_macros.declare_callback(method)}} callback(runnable);
- {{alloc_params(method.parameters)|indent(6)}}
- // A null |sink_| typically means there is a missing call to
- // InterfacePtr::set_client().
- assert(sink_);
- sink_->{{method.name}}(
-{%- if method.parameters -%}{{pass_params(method.parameters)}}, {% endif -%}callback);
- return true;
-{%- else %}
- break;
-{%- endif %}
- }
-{%- endfor %}
- }
-{%- endif %}
- return false;
-}
-
-{#--- Request validator definitions #}
-
-{{class_name}}RequestValidator::{{class_name}}RequestValidator(
- mojo::MessageReceiver* sink) : MessageFilter(sink) {
-}
-
-bool {{class_name}}RequestValidator::Accept(mojo::Message* message) {
-{%- if interface.methods %}
- switch (message->header()->name) {
-{%- for method in interface.methods %}
- case internal::k{{class_name}}_{{method.name}}_Name: {
-{%- if method.response_parameters != None %}
- if (!message->has_flag(mojo::internal::kMessageExpectsResponse))
- break;
-{%- else %}
- if (message->has_flag(mojo::internal::kMessageExpectsResponse) ||
- message->has_flag(mojo::internal::kMessageIsResponse)) {
- break;
- }
-{%- endif %}
- mojo::internal::BoundsChecker bounds_checker(
- message->payload(), message->payload_num_bytes(),
- message->handles()->size());
- if (!internal::{{class_name}}_{{method.name}}_Params_Data::Validate(
- message->payload(), &bounds_checker)) {
- return false;
- }
- break;
- }
-{%- endfor %}
- }
-{%- endif %}
-
- // A null |sink_| typically means there is a missing call to
- // InterfacePtr::set_client().
- assert(sink_);
- return sink_->Accept(message);
-}
-
-{#--- Response validator definitions #}
-{% if interface|has_callbacks %}
-{{class_name}}ResponseValidator::{{class_name}}ResponseValidator(
- mojo::MessageReceiver* sink) : MessageFilter(sink) {
-}
-
-bool {{class_name}}ResponseValidator::Accept(mojo::Message* message) {
-{%- if interface.methods %}
- switch (message->header()->name) {
-{%- for method in interface.methods if method.response_parameters != None %}
- case internal::k{{class_name}}_{{method.name}}_Name: {
- if (!message->has_flag(mojo::internal::kMessageIsResponse))
- break;
- mojo::internal::BoundsChecker bounds_checker(
- message->payload(), message->payload_num_bytes(),
- message->handles()->size());
- if (!internal::{{class_name}}_{{method.name}}_ResponseParams_Data::Validate(
- message->payload(), &bounds_checker)) {
- return false;
- }
- break;
- }
-{%- endfor %}
- }
-{%- endif %}
-
- // A null |sink_| typically means there is a missing call to
- // InterfacePtr::set_client().
- assert(sink_);
- return sink_->Accept(message);
-}
-{%- endif -%}
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/interface_macros.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/interface_macros.tmpl
deleted file mode 100644
index fbefce2..0000000
--- a/mojo/public/tools/bindings/generators/cpp_templates/interface_macros.tmpl
+++ /dev/null
@@ -1,23 +0,0 @@
-{%- macro declare_params(prefix, parameters) %}
-{%- for param in parameters -%}
-{{param.kind|cpp_const_wrapper_type}} {{prefix}}{{param.name}}
-{%- if not loop.last %}, {% endif %}
-{%- endfor %}
-{%- endmacro %}
-
-{%- macro declare_callback(method) -%}
-mojo::Callback<void(
-{%- for param in method.response_parameters -%}
-{{param.kind|cpp_result_type}}
-{%- if not loop.last %}, {% endif %}
-{%- endfor -%}
-)>
-{%- endmacro -%}
-
-{%- macro declare_request_params(prefix, method) -%}
-{{declare_params(prefix, method.parameters)}}
-{%- if method.response_parameters != None -%}
-{%- if method.parameters %}, {% endif %}
-const {{declare_callback(method)}}& callback
-{%- endif -%}
-{%- endmacro -%}
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/interface_proxy_declaration.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/interface_proxy_declaration.tmpl
deleted file mode 100644
index 6b8e7c5..0000000
--- a/mojo/public/tools/bindings/generators/cpp_templates/interface_proxy_declaration.tmpl
+++ /dev/null
@@ -1,14 +0,0 @@
-{%- import "interface_macros.tmpl" as interface_macros %}
-class {{interface.name}}Proxy : public {{interface.name}} {
- public:
- explicit {{interface.name}}Proxy(mojo::MessageReceiverWithResponder* receiver);
-
-{%- for method in interface.methods %}
- virtual void {{method.name}}(
- {{interface_macros.declare_request_params("", method)}}
- ) override;
-{%- endfor %}
-
- private:
- mojo::MessageReceiverWithResponder* receiver_;
-};
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/interface_request_validator_declaration.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/interface_request_validator_declaration.tmpl
deleted file mode 100644
index 2239b69..0000000
--- a/mojo/public/tools/bindings/generators/cpp_templates/interface_request_validator_declaration.tmpl
+++ /dev/null
@@ -1,6 +0,0 @@
-class {{interface.name}}RequestValidator : public mojo::MessageFilter {
- public:
- explicit {{interface.name}}RequestValidator(mojo::MessageReceiver* sink = nullptr);
-
- virtual bool Accept(mojo::Message* message) override;
-};
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/interface_response_validator_declaration.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/interface_response_validator_declaration.tmpl
deleted file mode 100644
index 801603d..0000000
--- a/mojo/public/tools/bindings/generators/cpp_templates/interface_response_validator_declaration.tmpl
+++ /dev/null
@@ -1,6 +0,0 @@
-class {{interface.name}}ResponseValidator : public mojo::MessageFilter {
- public:
- explicit {{interface.name}}ResponseValidator(mojo::MessageReceiver* sink = nullptr);
-
- virtual bool Accept(mojo::Message* message) override;
-};
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/interface_stub_declaration.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/interface_stub_declaration.tmpl
deleted file mode 100644
index afc6504..0000000
--- a/mojo/public/tools/bindings/generators/cpp_templates/interface_stub_declaration.tmpl
+++ /dev/null
@@ -1,13 +0,0 @@
-class {{interface.name}}Stub : public mojo::MessageReceiverWithResponder {
- public:
- {{interface.name}}Stub();
- void set_sink({{interface.name}}* sink) { sink_ = sink; }
- {{interface.name}}* sink() { return sink_; }
-
- virtual bool Accept(mojo::Message* message) override;
- virtual bool AcceptWithResponder(mojo::Message* message,
- mojo::MessageReceiver* responder) override;
-
- private:
- {{interface.name}}* sink_;
-};
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/module-internal.h.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/module-internal.h.tmpl
deleted file mode 100644
index 116e86a..0000000
--- a/mojo/public/tools/bindings/generators/cpp_templates/module-internal.h.tmpl
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-{%- set header_guard = "%s_INTERNAL_H_"|
- format(module.path|upper|replace("/","_")|replace(".","_")) %}
-
-#ifndef {{header_guard}}
-#define {{header_guard}}
-
-#include "mojo/public/cpp/bindings/lib/bindings_internal.h"
-#include "mojo/public/cpp/bindings/lib/buffer.h"
-#include "mojo/public/cpp/bindings/lib/union_accessor.h"
-#include "mojo/public/cpp/bindings/struct_ptr.h"
-
-{%- for import in imports %}
-#include "{{import.module.path}}-internal.h"
-{%- endfor %}
-
-namespace mojo {
-namespace internal {
-class BoundsChecker;
-}
-}
-
-{%- for namespace in namespaces_as_array %}
-namespace {{namespace}} {
-{%- endfor %}
-
-{#--- Wrapper forward declarations #}
-{% for struct in structs %}
-class {{struct.name}};
-{%- endfor %}
-
-namespace internal {
-
-{#--- Internal forward declarations #}
-{% for struct in structs %}
-class {{struct.name}}_Data;
-{%- endfor %}
-
-#pragma pack(push, 1)
-
-{#--- Class declarations #}
-{% for struct in structs %}
-{% include "struct_declaration.tmpl" %}
-{%- endfor %}
-
-#pragma pack(pop)
-
-} // namespace internal
-{%- for namespace in namespaces_as_array|reverse %}
-} // namespace {{namespace}}
-{%- endfor %}
-
-#endif // {{header_guard}}
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/module.cc.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/module.cc.tmpl
deleted file mode 100644
index 1ddcc45..0000000
--- a/mojo/public/tools/bindings/generators/cpp_templates/module.cc.tmpl
+++ /dev/null
@@ -1,98 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#if defined(__clang__)
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wunused-private-field"
-#elif defined(_MSC_VER)
-#pragma warning(push)
-#pragma warning(disable:4056)
-#pragma warning(disable:4756)
-#endif
-
-#include "{{module.path}}.h"
-
-#include <math.h>
-
-#include "mojo/public/cpp/bindings/lib/array_serialization.h"
-#include "mojo/public/cpp/bindings/lib/bindings_serialization.h"
-#include "mojo/public/cpp/bindings/lib/bounds_checker.h"
-#include "mojo/public/cpp/bindings/lib/map_data_internal.h"
-#include "mojo/public/cpp/bindings/lib/map_serialization.h"
-#include "mojo/public/cpp/bindings/lib/message_builder.h"
-#include "mojo/public/cpp/bindings/lib/string_serialization.h"
-#include "mojo/public/cpp/bindings/lib/validate_params.h"
-#include "mojo/public/cpp/bindings/lib/validation_errors.h"
-#include "mojo/public/cpp/environment/logging.h"
-
-{%- for namespace in namespaces_as_array %}
-namespace {{namespace}} {
-{%- endfor %}
-
-{#--- Constants #}
-{% for constant in module.constants %}
-const {{constant.kind|cpp_pod_type}} {{constant.name}} = {{constant|constant_value}};
-{%- endfor %}
-
-namespace internal {
-namespace {
-
-#pragma pack(push, 1)
-
-{#--- Interface parameter definitions #}
-{%- for interface in interfaces %}
-{%- for method in interface.methods %}
-{%- set method_name = "k%s_%s_Name"|format(interface.name, method.name) %}
-const uint32_t {{method_name}} = {{method.ordinal}};
-{% set struct = method|struct_from_method %}
-{%- include "params_definition.tmpl" %}
-{%- if method.response_parameters != None %}
-{%- set struct = method|response_struct_from_method %}
-{%- include "params_definition.tmpl" %}
-{%- endif %}
-{%- endfor %}
-{%- endfor %}
-
-#pragma pack(pop)
-
-} // namespace
-
-{#--- Struct definitions #}
-{% for struct in structs %}
-{%- include "struct_definition.tmpl" %}
-{%- endfor %}
-
-} // namespace internal
-
-{#--- Struct Constants #}
-{%- for struct in structs %}
-{% for constant in struct.constants %}
-const {{constant.kind|cpp_pod_type}} {{struct.name}}::{{constant.name}} = {{constant|constant_value}};
-{%- endfor %}
-{%- endfor %}
-
-{#--- Struct builder definitions #}
-{%- for struct in structs %}
-{%- include "wrapper_class_definition.tmpl" %}
-{%- endfor %}
-
-{#--- Interface definitions #}
-{%- for interface in interfaces %}
-{%- include "interface_definition.tmpl" %}
-{%- endfor %}
-
-{#--- Struct Serialization Helpers #}
-{%- for struct in structs %}
-{%- include "struct_serialization_definition.tmpl" %}
-{%- endfor %}
-
-{%- for namespace in namespaces_as_array|reverse %}
-} // namespace {{namespace}}
-{%- endfor %}
-
-#if defined(__clang__)
-#pragma clang diagnostic pop
-#elif defined(_MSC_VER)
-#pragma warning(pop)
-#endif
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/module.h.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/module.h.tmpl
deleted file mode 100644
index 3da6c32..0000000
--- a/mojo/public/tools/bindings/generators/cpp_templates/module.h.tmpl
+++ /dev/null
@@ -1,109 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-{%- set header_guard = "%s_H_"|
- format(module.path|upper|replace("/","_")|replace(".","_")) %}
-
-#ifndef {{header_guard}}
-#define {{header_guard}}
-
-#include "mojo/public/cpp/bindings/array.h"
-#include "mojo/public/cpp/bindings/callback.h"
-#include "mojo/public/cpp/bindings/interface_impl.h"
-#include "mojo/public/cpp/bindings/interface_ptr.h"
-#include "mojo/public/cpp/bindings/interface_request.h"
-#include "mojo/public/cpp/bindings/map.h"
-#include "mojo/public/cpp/bindings/message_filter.h"
-#include "mojo/public/cpp/bindings/no_interface.h"
-#include "mojo/public/cpp/bindings/string.h"
-#include "mojo/public/cpp/bindings/struct_ptr.h"
-#include "{{module.path}}-internal.h"
-{%- for import in imports %}
-#include "{{import.module.path}}.h"
-{%- endfor %}
-
-{%- for namespace in namespaces_as_array %}
-namespace {{namespace}} {
-{%- endfor %}
-
-{#--- Constants #}
-{% for constant in module.constants %}
-extern const {{constant.kind|cpp_pod_type}} {{constant.name}};
-{%- endfor %}
-
-{#--- Enums #}
-{% for enum in enums %}
-{% include "enum_declaration.tmpl" %}
-{%- endfor %}
-
-{#--- Interface Forward Declarations -#}
-{% for interface in interfaces %}
-class {{interface.name}};
-typedef mojo::InterfacePtr<{{interface.name}}> {{interface.name}}Ptr;
-{% endfor %}
-
-{#--- Struct Forward Declarations -#}
-{% for struct in structs %}
-class {{struct.name}};
-{% if struct|should_inline %}
-typedef mojo::InlinedStructPtr<{{struct.name}}> {{struct.name}}Ptr;
-{% else %}
-typedef mojo::StructPtr<{{struct.name}}> {{struct.name}}Ptr;
-{% endif %}
-{% endfor %}
-
-{#--- NOTE: Non-inlined structs may have pointers to inlined structs, so we #}
-{#--- need to fully define inlined structs ahead of the others. #}
-
-{#--- Inlined structs #}
-{% for struct in structs %}
-{% if struct|should_inline %}
-{% include "wrapper_class_declaration.tmpl" %}
-{% endif %}
-{%- endfor %}
-
-{#--- Non-inlined structs #}
-{% for struct in structs %}
-{% if not struct|should_inline %}
-{% include "wrapper_class_declaration.tmpl" %}
-{% endif %}
-{%- endfor %}
-
-{#--- Interfaces -#}
-{% for interface in interfaces %}
-{% include "interface_declaration.tmpl" %}
-{%- endfor %}
-
-{#--- Interface Proxies -#}
-{% for interface in interfaces %}
-{% include "interface_proxy_declaration.tmpl" %}
-{%- endfor %}
-
-{#--- Interface Stubs -#}
-{% for interface in interfaces %}
-{% include "interface_stub_declaration.tmpl" %}
-{%- endfor %}
-
-{#--- Interface Request Validators -#}
-{% for interface in interfaces %}
-{% include "interface_request_validator_declaration.tmpl" %}
-{%- endfor %}
-
-{#--- Interface Response Validators -#}
-{% for interface in interfaces if interface|has_callbacks %}
-{% include "interface_response_validator_declaration.tmpl" %}
-{%- endfor %}
-
-{#--- Struct Serialization Helpers -#}
-{% if structs %}
-{% for struct in structs %}
-{% include "struct_serialization_declaration.tmpl" %}
-{%- endfor %}
-{%- endif %}
-
-{%- for namespace in namespaces_as_array|reverse %}
-} // namespace {{namespace}}
-{%- endfor %}
-
-#endif // {{header_guard}}
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/params_definition.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/params_definition.tmpl
deleted file mode 100644
index 5de77d3..0000000
--- a/mojo/public/tools/bindings/generators/cpp_templates/params_definition.tmpl
+++ /dev/null
@@ -1,33 +0,0 @@
-{%- import "struct_macros.tmpl" as struct_macros %}
-{%- set class_name = struct.name ~ "_Data" %}
-class {{class_name}} {
- public:
- static {{class_name}}* New(mojo::internal::Buffer* buf) {
- return new (buf->Allocate(sizeof({{class_name}})))
- {{class_name}}();
- }
-
- static bool Validate(const void* data,
- mojo::internal::BoundsChecker* bounds_checker) {
- {{ struct_macros.validate(struct, class_name)|indent(4) }}
- }
-
- mojo::internal::StructHeader header_;
-{{struct_macros.fields(struct)}}
-
- void EncodePointersAndHandles(std::vector<mojo::Handle>* handles) {
- {{ struct_macros.encodes(struct)|indent(4) }}
- }
-
- void DecodePointersAndHandles(std::vector<mojo::Handle>* handles) {
- {{ struct_macros.decodes(struct)|indent(4) }}
- }
-
- private:
- {{class_name}}() {
- header_.num_bytes = sizeof(*this);
- header_.num_fields = {{struct.packed.packed_fields|length}};
- }
-};
-static_assert(sizeof({{class_name}}) == {{struct.packed|struct_size}},
- "Bad sizeof({{class_name}})");
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/struct_declaration.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/struct_declaration.tmpl
deleted file mode 100644
index 34c0f11..0000000
--- a/mojo/public/tools/bindings/generators/cpp_templates/struct_declaration.tmpl
+++ /dev/null
@@ -1,22 +0,0 @@
-{%- import "struct_macros.tmpl" as struct_macros %}
-{%- set class_name = struct.name ~ "_Data" -%}
-
-class {{class_name}} {
- public:
- static {{class_name}}* New(mojo::internal::Buffer* buf);
-
- static bool Validate(const void* data,
- mojo::internal::BoundsChecker* bounds_checker);
-
- mojo::internal::StructHeader header_;
-{{struct_macros.fields(struct)}}
-
- void EncodePointersAndHandles(std::vector<mojo::Handle>* handles);
- void DecodePointersAndHandles(std::vector<mojo::Handle>* handles);
-
- private:
- {{class_name}}();
- ~{{class_name}}() = delete;
-};
-static_assert(sizeof({{class_name}}) == {{struct.packed|struct_size}},
- "Bad sizeof({{class_name}})");
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/struct_definition.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/struct_definition.tmpl
deleted file mode 100644
index 461f158..0000000
--- a/mojo/public/tools/bindings/generators/cpp_templates/struct_definition.tmpl
+++ /dev/null
@@ -1,28 +0,0 @@
-{%- import "struct_macros.tmpl" as struct_macros %}
-{%- set class_name = struct.name ~ "_Data" %}
-
-// static
-{{class_name}}* {{class_name}}::New(mojo::internal::Buffer* buf) {
- return new (buf->Allocate(sizeof({{class_name}}))) {{class_name}}();
-}
-
-// static
-bool {{class_name}}::Validate(const void* data,
- mojo::internal::BoundsChecker* bounds_checker) {
- {{ struct_macros.validate(struct, class_name)|indent(2) }}
-}
-
-{{class_name}}::{{class_name}}() {
- header_.num_bytes = sizeof(*this);
- header_.num_fields = {{struct.packed.packed_fields|length}};
-}
-
-void {{class_name}}::EncodePointersAndHandles(
- std::vector<mojo::Handle>* handles) {
- {{ struct_macros.encodes(struct)|indent(2) }}
-}
-
-void {{class_name}}::DecodePointersAndHandles(
- std::vector<mojo::Handle>* handles) {
- {{ struct_macros.decodes(struct)|indent(2) }}
-}
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl
deleted file mode 100644
index 623ebb4..0000000
--- a/mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl
+++ /dev/null
@@ -1,124 +0,0 @@
-{%- macro validate(struct, class_name) %}
- if (!data)
- return true;
-
- if (!ValidateStructHeader(
- data, sizeof({{class_name}}),
- {{struct.packed.packed_fields|length}}, bounds_checker)) {
- return false;
- }
-
- const {{class_name}}* object = static_cast<const {{class_name}}*>(data);
- MOJO_ALLOW_UNUSED_LOCAL(object);
-
-{%- for packed_field in struct.packed.packed_fields %}
-{%- set name = packed_field.field.name %}
-{%- set kind = packed_field.field.kind %}
-{%- if kind|is_object_kind %}
-{%- set wrapper_type = kind|cpp_wrapper_type %}
-{%- if not kind|is_nullable_kind %}
- if (!object->{{name}}.offset) {
- ReportValidationError(
- mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
- "null {{name}} field in {{struct.name}} struct");
- return false;
- }
-{%- endif %}
- if (!mojo::internal::ValidateEncodedPointer(&object->{{name}}.offset)) {
- ReportValidationError(mojo::internal::VALIDATION_ERROR_ILLEGAL_POINTER);
- return false;
- }
-{%- if kind|is_array_kind or kind|is_string_kind %}
- if (!{{wrapper_type}}::Data_::Validate<
- {{kind|get_array_validate_params|indent(10)}}>(
- mojo::internal::DecodePointerRaw(&object->{{name}}.offset),
- bounds_checker)) {
-{%- elif kind|is_map_kind %}
- if (!{{wrapper_type}}::Data_::Validate<
- {{kind.value_kind|get_map_validate_params|indent(10)}}>(
- mojo::internal::DecodePointerRaw(&object->{{name}}.offset),
- bounds_checker)) {
-{%- elif kind|is_struct_kind %}
- if (!{{kind|get_name_for_kind}}::Data_::Validate(
- mojo::internal::DecodePointerRaw(&object->{{name}}.offset),
- bounds_checker)) {
-{%- else %}
- if (!{{wrapper_type}}::Data_::Validate(
- mojo::internal::DecodePointerRaw(&object->{{name}}.offset),
- bounds_checker)) {
-{%- endif %}
- return false;
- }
-{%- elif kind|is_any_handle_kind %}
-{%- if not kind|is_nullable_kind %}
- if (object->{{name}}.value() == mojo::internal::kEncodedInvalidHandleValue) {
- ReportValidationError(
- mojo::internal::VALIDATION_ERROR_UNEXPECTED_INVALID_HANDLE,
- "invalid {{name}} field in {{struct.name}} struct");
- return false;
- }
-{%- endif %}
- if (!bounds_checker->ClaimHandle(object->{{name}})) {
- ReportValidationError(mojo::internal::VALIDATION_ERROR_ILLEGAL_HANDLE);
- return false;
- }
-{%- endif %}
-{%- endfor %}
-
- return true;
-{%- endmacro %}
-
-{%- macro field_line(field) %}
-{%- set type = field.kind|cpp_field_type %}
-{%- set name = field.name -%}
-{%- if field.kind.spec == 'b' -%}
- uint8_t {{name}} : 1;
-{%- elif field.kind|is_enum_kind -%}
- int32_t {{name}};
-{%- else -%}
- {{type}} {{name}};
-{%- endif %}
-{%- endmacro %}
-
-{%- macro fields(struct) %}
-{%- for packed_field in struct.packed.packed_fields %}
- {{field_line(packed_field.field)}}
-{%- if not loop.last %}
-{%- set next_pf = struct.packed.packed_fields[loop.index0 + 1] %}
-{%- set pad = next_pf.offset - (packed_field.offset + packed_field.size) %}
-{%- if pad > 0 %}
- uint8_t pad{{loop.index0}}_[{{pad}}];
-{%- endif %}
-{%- endif %}
-{%- endfor -%}
-
-{%- set num_fields = struct.packed.packed_fields|length %}
-{%- if num_fields > 0 %}
-{%- set last_field = struct.packed.packed_fields[num_fields - 1] %}
-{%- set offset = last_field.offset + last_field.size %}
-{%- set pad = offset|get_pad(8) -%}
-{%- if pad > 0 %}
- uint8_t padfinal_[{{pad}}];
-{%- endif %}
-{%- endif %}
-{%- endmacro %}
-
-{%- macro encodes(struct) -%}
-{%- for pf in struct.packed.packed_fields %}
-{%- if pf.field.kind|is_object_kind %}
-mojo::internal::Encode(&{{pf.field.name}}, handles);
-{%- elif pf.field.kind|is_any_handle_kind %}
-mojo::internal::EncodeHandle(&{{pf.field.name}}, handles);
-{%- endif %}
-{%- endfor %}
-{%- endmacro -%}
-
-{%- macro decodes(struct) -%}
-{%- for pf in struct.packed.packed_fields %}
-{%- if pf.field.kind|is_object_kind %}
-mojo::internal::Decode(&{{pf.field.name}}, handles);
-{%- elif pf.field.kind|is_any_handle_kind %}
-mojo::internal::DecodeHandle(&{{pf.field.name}}, handles);
-{%- endif %}
-{%- endfor %}
-{%- endmacro -%}
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_declaration.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_declaration.tmpl
deleted file mode 100644
index 604be86..0000000
--- a/mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_declaration.tmpl
+++ /dev/null
@@ -1,5 +0,0 @@
-size_t GetSerializedSize_(const {{struct.name}}Ptr& input);
-void Serialize_({{struct.name}}Ptr input, mojo::internal::Buffer* buffer,
- internal::{{struct.name}}_Data** output);
-void Deserialize_(internal::{{struct.name}}_Data* input,
- {{struct.name}}Ptr* output);
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_definition.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_definition.tmpl
deleted file mode 100644
index 1612bbe..0000000
--- a/mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_definition.tmpl
+++ /dev/null
@@ -1,78 +0,0 @@
-size_t GetSerializedSize_(const {{struct.name}}Ptr& input) {
- if (!input)
- return 0;
- size_t size = sizeof(internal::{{struct.name}}_Data);
-{%- for pf in struct.packed.packed_fields if pf.field.kind|is_object_kind %}
- size += GetSerializedSize_(input->{{pf.field.name}});
-{%- endfor %}
- return size;
-}
-
-void Serialize_({{struct.name}}Ptr input, mojo::internal::Buffer* buf,
- internal::{{struct.name}}_Data** output) {
- if (input) {
- internal::{{struct.name}}_Data* result =
- internal::{{struct.name}}_Data::New(buf);
-{%- for pf in struct.packed.packed_fields %}
-{%- if pf.field.kind|is_object_kind %}
-{%- if pf.field.kind|is_array_kind %}
- mojo::SerializeArray_<{{pf.field.kind|get_array_validate_params|indent(26)}}>(
- mojo::internal::Forward(input->{{pf.field.name}}), buf, &result->{{pf.field.name}}.ptr);
-{%- elif pf.field.kind|is_map_kind %}
- mojo::SerializeMap_<{{pf.field.kind.value_kind|get_map_validate_params|indent(26)}}>(
- mojo::internal::Forward(input->{{pf.field.name}}), buf, &result->{{pf.field.name}}.ptr);
-{%- else %}
- Serialize_(mojo::internal::Forward(input->{{pf.field.name}}), buf, &result->{{pf.field.name}}.ptr);
-{%- endif %}
-{%- if not pf.field.kind|is_nullable_kind %}
- MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
- !result->{{pf.field.name}}.ptr,
- mojo::internal::VALIDATION_ERROR_UNEXPECTED_NULL_POINTER,
- "null {{pf.field.name}} field in {{struct.name}} struct");
-{%- endif %}
-{%- elif pf.field.kind|is_any_handle_kind %}
-{%- if pf.field.kind|is_interface_kind %}
- result->{{pf.field.name}} = input->{{pf.field.name}}.PassMessagePipe().release();
-{%- else %}
- result->{{pf.field.name}} = input->{{pf.field.name}}.release();
-{%- endif %}
-{%- if not pf.field.kind|is_nullable_kind %}
- MOJO_INTERNAL_DLOG_SERIALIZATION_WARNING(
- !result->{{pf.field.name}}.is_valid(),
- mojo::internal::VALIDATION_ERROR_UNEXPECTED_INVALID_HANDLE,
- "invalid {{pf.field.name}} field in {{struct.name}} struct");
-{%- endif %}
-{%- else %}
- result->{{pf.field.name}} = input->{{pf.field.name}};
-{%- endif %}
-{%- endfor %}
- *output = result;
- } else {
- *output = nullptr;
- }
-}
-
-void Deserialize_(internal::{{struct.name}}_Data* input,
- {{struct.name}}Ptr* output) {
- if (input) {
- {{struct.name}}Ptr result({{struct.name}}::New());
-{%- for pf in struct.packed.packed_fields %}
-{%- if pf.field.kind|is_object_kind %}
- Deserialize_(input->{{pf.field.name}}.ptr, &result->{{pf.field.name}});
-{%- elif pf.field.kind|is_interface_kind %}
- if (input->{{pf.field.name}}.is_valid())
- result->{{pf.field.name}}.Bind(mojo::MakeScopedHandle(mojo::internal::FetchAndReset(&input->{{pf.field.name}})));
-{%- elif pf.field.kind|is_any_handle_kind %}
- result->{{pf.field.name}}.reset(mojo::internal::FetchAndReset(&input->{{pf.field.name}}));
-{%- elif pf.field.kind|is_enum_kind %}
- result->{{pf.field.name}} = static_cast<{{pf.field.kind|cpp_wrapper_type}}>(
- input->{{pf.field.name}});
-{%- else %}
- result->{{pf.field.name}} = input->{{pf.field.name}};
-{%- endif %}
-{%- endfor %}
- *output = result.Pass();
- } else {
- output->reset();
- }
-}
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl
deleted file mode 100644
index a29df07..0000000
--- a/mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl
+++ /dev/null
@@ -1,67 +0,0 @@
-size_t GetSerializedSize_(const {{union.name}}Ptr& input) {
- if (!input)
- return 0;
-
- size_t size = sizeof(internal::{{union.name}}_Data);
- switch (input->which()) {
-{% for field in union.fields %}
-{% if field.kind|is_string_kind %}
- case {{union.name}}::Tag::{{field.name|upper}}:
- size += GetSerializedSize_(input->get_{{field.name}}());
- break;
-{%- endif %}
-{%- endfor %}
- default:
- break;
- }
- return size;
-}
-
-
-void Serialize_({{union.name}}Ptr input, mojo::internal::Buffer* buf,
- internal::{{union.name}}_Data** output) {
- if (input) {
- mojo::internal::UnionAccessor<{{union.name}}> input_acc(input.get());
- internal::{{union.name}}_Data* result =
- internal::{{union.name}}_Data::New(buf);
- // TODO(azani): Handle unknown and objects.
- result->tag = input->which();
- switch (input->which()) {
-{% for field in union.fields %}
- case {{union.name}}::Tag::{{field.name|upper}}:
-{% if field.kind|is_string_kind %}
- Serialize_(input_acc.data()->{{field.name}}, buf, &result->data.{{field.name}}.ptr);
-{% else %}
- result->data.{{field.name}} = input_acc.data()->{{field.name}};
-{%- endif %}
- break;
-{%- endfor %}
- }
- *output = result;
- } else {
- *output = nullptr;
- }
-}
-
-void Deserialize_(internal::{{union.name}}_Data* input,
- {{union.name}}Ptr* output) {
- if (input) {
- {{union.name}}Ptr result({{union.name}}::New());
- mojo::internal::UnionAccessor<{{union.name}}> result_acc(result.get());
- switch (input->tag) {
-{% for field in union.fields %}
- case {{union.name}}::Tag::{{field.name|upper}}:
-{% if field.kind|is_string_kind %}
- result_acc.SwitchActive({{union.name}}::Tag::{{field.name|upper}});
- Deserialize_(input->data.{{field.name}}.ptr, &result_acc.data()->{{field.name}});
-{% else %}
- result->set_{{field.name}}(input->data.{{field.name}});
-{%- endif %}
- break;
-{%- endfor %}
- }
- *output = result.Pass();
- } else {
- output->reset();
- }
-}
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/wrapper_class_declaration.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/wrapper_class_declaration.tmpl
deleted file mode 100644
index 25b39b3..0000000
--- a/mojo/public/tools/bindings/generators/cpp_templates/wrapper_class_declaration.tmpl
+++ /dev/null
@@ -1,41 +0,0 @@
-
-class {{struct.name}} {
- public:
- typedef internal::{{struct.name}}_Data Data_;
-
-{#--- Constants #}
-{%- for constant in struct.constants %}
- static const {{constant.kind|cpp_pod_type}} {{constant.name}};
-{%- endfor %}
-{#--- Enums #}
-{%- for enum in struct.enums -%}
-{% macro enum_def() %}{% include "enum_declaration.tmpl" %}{% endmacro %}
- {{enum_def()|indent(2)}}
-{%- endfor %}
- static {{struct.name}}Ptr New();
-
- template <typename U>
- static {{struct.name}}Ptr From(const U& u) {
- return mojo::TypeConverter<{{struct.name}}Ptr, U>::Convert(u);
- }
-
- template <typename U>
- U To() const {
- return mojo::TypeConverter<U, {{struct.name}}>::Convert(*this);
- }
-
- {{struct.name}}();
- ~{{struct.name}}();
-
-{% if struct|is_cloneable_kind %}
- {{struct.name}}Ptr Clone() const;
-{%- endif %}
- bool Equals(const {{struct.name}}& other) const;
-
-{#--- Getters #}
-{% for field in struct.fields %}
-{%- set type = field.kind|cpp_wrapper_type %}
-{%- set name = field.name %}
- {{type}} {{name}};
-{%- endfor %}
-};
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/wrapper_class_definition.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/wrapper_class_definition.tmpl
deleted file mode 100644
index da93e07..0000000
--- a/mojo/public/tools/bindings/generators/cpp_templates/wrapper_class_definition.tmpl
+++ /dev/null
@@ -1,37 +0,0 @@
-// static
-{{struct.name}}Ptr {{struct.name}}::New() {
- {{struct.name}}Ptr rv;
- mojo::internal::StructHelper<{{struct.name}}>::Initialize(&rv);
- return rv.Pass();
-}
-
-{{struct.name}}::{{struct.name}}()
-{%- for field in struct.fields %}
- {% if loop.first %}:{% else %} {% endif %} {{field.name}}({{field|default_value}}){% if not loop.last %},{% endif %}
-{%- endfor %} {
-}
-
-{{struct.name}}::~{{struct.name}}() {
-}
-
-{% if struct|is_cloneable_kind %}
-{{struct.name}}Ptr {{struct.name}}::Clone() const {
- {{struct.name}}Ptr rv(New());
-{%- for field in struct.fields %}
-{%- if field.kind|is_struct_kind or field.kind|is_array_kind or field.kind|is_map_kind %}
- rv->{{field.name}} = {{field.name}}.Clone();
-{%- else %}
- rv->{{field.name}} = {{field.name}};
-{%- endif %}
-{%- endfor %}
- return rv.Pass();
-}
-{% endif %}
-
-bool {{struct.name}}::Equals(const {{struct.name}}& other) const {
-{%- for field in struct.fields %}
- if (!mojo::internal::ValueTraits<{{field.kind|cpp_wrapper_type}}>::Equals({{field.name}}, other.{{field.name}}))
- return false;
-{%- endfor %}
- return true;
-}
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/wrapper_union_class_declaration.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/wrapper_union_class_declaration.tmpl
deleted file mode 100644
index 91ea7cf..0000000
--- a/mojo/public/tools/bindings/generators/cpp_templates/wrapper_union_class_declaration.tmpl
+++ /dev/null
@@ -1,50 +0,0 @@
-class {{union.name}} {
- public:
- typedef internal::{{union.name}}_Data Data_;
- typedef Data_::{{union.name}}_Tag Tag;
-
- static {{union.name}}Ptr New();
-
- template <typename U>
- static {{union.name}}Ptr From(const U& u) {
- return mojo::TypeConverter<{{union.name}}Ptr, U>::Convert(u);
- }
-
- template <typename U>
- U To() const {
- return mojo::TypeConverter<U, {{union.name}}>::Convert(*this);
- }
-
- {{union.name}}();
- ~{{union.name}}();
-
-{% if union|is_cloneable_kind %}
- {{union.name}}Ptr Clone() const;
-{%- endif %}
- bool Equals(const {{union.name}}& other) const;
-
- Tag which() const {
- return tag_;
- }
-
-{% for field in union.fields %}
- bool is_{{field.name}}() const;
- {{field.kind|cpp_result_type}} get_{{field.name}}() const;
- void set_{{field.name}}({{field.kind|cpp_const_wrapper_type}} {{field.name}});
-{%- endfor %}
-
- private:
- friend class mojo::internal::UnionAccessor<{{union.name}}>;
- union Union_ {
- Union_() {}
- ~Union_() {}
-{% for field in union.fields %}
- {{field.kind|cpp_wrapper_type}} {{field.name}};
-{%- endfor %}
- };
- void SwitchActive(Tag new_active);
- void SetActive(Tag new_active);
- void DestroyActive();
- Tag tag_;
- Union_ data_;
-};
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/wrapper_union_class_definition.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/wrapper_union_class_definition.tmpl
deleted file mode 100644
index bab528c..0000000
--- a/mojo/public/tools/bindings/generators/cpp_templates/wrapper_union_class_definition.tmpl
+++ /dev/null
@@ -1,96 +0,0 @@
-// static
-{{union.name}}Ptr {{union.name}}::New() {
- {{union.name}}Ptr rv;
- mojo::internal::StructHelper<{{union.name}}>::Initialize(&rv);
- return rv.Pass();
-}
-
-{{union.name}}::{{union.name}}() {
- // TODO(azani): Implement default values here when/if we support them.
- // TODO(azani): Set to UNKNOWN when unknown is implemented.
- SetActive(static_cast<Tag>(0));
-}
-
-{{union.name}}::~{{union.name}}() {
- DestroyActive();
-}
-
-{% if union|is_cloneable_kind %}
-{{union.name}}Ptr {{union.name}}::Clone() const {
- {{union.name}}Ptr rv(New());
- switch (tag_) {
-{% for field in union.fields %}
- case Tag::{{field.name|upper}}:
- rv->set_{{field.name}}(data_.{{field.name}});
- break;
-{%- endfor %}
- };
- return rv.Pass();
-}
-{%- endif %}
-
-bool {{union.name}}::Equals(const {{union.name}}& other) const {
- if (tag_ != other.which()) {
- return false;
- }
-
- switch (tag_) {
-{% for field in union.fields %}
- case Tag::{{field.name|upper}}:
- return mojo::internal::ValueTraits<{{field.kind|cpp_wrapper_type}}>::Equals(data_.{{field.name}}, other.get_{{field.name}}());
-{%- endfor %}
- };
-
- return false;
-}
-
-{% for field in union.fields %}
-bool {{union.name}}::is_{{field.name}}() const {
- return tag_ == Tag::{{field.name|upper}};
-}
-
-{{field.kind|cpp_result_type}} {{union.name}}::get_{{field.name}}() const {
- MOJO_DCHECK(tag_ == Tag::{{field.name|upper}});
- return data_.{{field.name}};
-}
-
-void {{union.name}}::set_{{field.name}}({{field.kind|cpp_const_wrapper_type}} {{field.name}}) {
- SwitchActive(Tag::{{field.name|upper}});
- data_.{{field.name}} = {{field.name}};
-}
-{%- endfor %}
-
-void {{union.name}}::SwitchActive(Tag new_active) {
- if (new_active == tag_) {
- return;
- }
-
- DestroyActive();
- SetActive(new_active);
-}
-
-void {{union.name}}::SetActive(Tag new_active) {
- switch (new_active) {
-{% for field in union.fields %}
- case Tag::{{field.name|upper}}:
-{% if field.kind|is_string_kind %}
- new (&data_.{{field.name}}) String();
-{%- endif %}
- break;
-{%- endfor %}
- }
-
- tag_ = new_active;
-}
-
-void {{union.name}}::DestroyActive() {
- switch (tag_) {
-{% for field in union.fields %}
- case Tag::{{field.name|upper}}:
-{% if field.kind|is_string_kind %}
- data_.{{field.name}}.~String();
-{%- endif %}
- break;
-{%- endfor %}
- }
-}