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

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

Issue 1127293003: Update mojo sdk to rev f84766d3b6420b7cf6a113d9d65d73cb5fe18d90 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: formatting Created 5 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: third_party/mojo/src/mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl
diff --git a/third_party/mojo/src/mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl b/third_party/mojo/src/mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl
index 3cadeed808817434ccd3af7cababd94d40fd57b1..38991a959fdbec83fe2ed7fc11d9b11fc297e6d9 100644
--- a/third_party/mojo/src/mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl
+++ b/third_party/mojo/src/mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl
@@ -30,11 +30,16 @@ p_{{param.name}}
{%- endmacro %}
{#--- Begin #}
-const char* {{class_name}}::Name_ = "{{namespace_as_string}}::{{class_name}}";
-const uint32_t {{class_name}}::Version_ = {{interface.version}};
+MOJO_STATIC_CONST_MEMBER_DEFINITION const char {{class_name}}::Name_[] = "{{namespace_as_string}}::{{class_name}}";
+MOJO_STATIC_CONST_MEMBER_DEFINITION const uint32_t {{class_name}}::Version_;
+
{#--- Constants #}
-{% for constant in interface.constants %}
-const {{constant.kind|cpp_pod_type}} {{interface.name}}::{{constant.name}} = {{constant|constant_value}};
+{%- for constant in interface.constants %}
+{%- if constant.kind|is_integral_kind %}
+MOJO_STATIC_CONST_MEMBER_DEFINITION const {{constant.kind|cpp_pod_type}} {{interface.name}}::{{constant.name}};
+{%- else %}
+MOJO_STATIC_CONST_MEMBER_DEFINITION const {{constant.kind|cpp_pod_type}} {{interface.name}}::{{constant.name}} = {{constant|constant_value}};
+{%- endif %}
{%- endfor %}
{#--- ForwardToCallback definition #}
@@ -67,7 +72,7 @@ bool {{class_name}}_{{method.name}}_ForwardToCallback::Accept(
{%- endfor %}
{{proxy_name}}::{{proxy_name}}(mojo::MessageReceiverWithResponder* receiver)
- : receiver_(receiver) {
+ : ControlMessageProxy(receiver) {
}
{#--- Proxy definitions #}
@@ -115,7 +120,7 @@ void {{proxy_name}}::{{method.name}}(
class {{class_name}}_{{method.name}}_ProxyToResponder
: public {{class_name}}::{{method.name}}Callback::Runnable {
public:
- virtual ~{{class_name}}_{{method.name}}_ProxyToResponder() {
+ ~{{class_name}}_{{method.name}}_ProxyToResponder() override {
// Is the Mojo application destroying the callback without running it
// and without first closing the pipe?
bool callback_was_dropped = responder_ && responder_->IsValid();
@@ -159,7 +164,8 @@ void {{class_name}}_{{method.name}}_ProxyToResponder::Run(
{%- endfor %}
{{class_name}}Stub::{{class_name}}Stub()
- : sink_(nullptr) {
+ : sink_(nullptr),
+ control_message_handler_({{interface.name}}::Version_) {
}
{{class_name}}Stub::~{{interface.name}}Stub() {}
@@ -167,6 +173,8 @@ void {{class_name}}_{{method.name}}_ProxyToResponder::Run(
{#--- Stub definition #}
bool {{class_name}}Stub::Accept(mojo::Message* message) {
+ if (mojo::internal::ControlMessageHandler::IsControlMessage(message))
+ return control_message_handler_.Accept(message);
{%- if interface.methods %}
switch (message->header()->name) {
{%- for method in interface.methods %}
@@ -195,6 +203,8 @@ bool {{class_name}}Stub::Accept(mojo::Message* message) {
bool {{class_name}}Stub::AcceptWithResponder(
mojo::Message* message, mojo::MessageReceiverWithStatus* responder) {
+ if (mojo::internal::ControlMessageHandler::IsControlMessage(message))
+ return control_message_handler_.AcceptWithResponder(message, responder);
{%- if interface.methods %}
switch (message->header()->name) {
{%- for method in interface.methods %}
@@ -234,6 +244,13 @@ bool {{class_name}}Stub::AcceptWithResponder(
bool {{class_name}}RequestValidator::Accept(mojo::Message* message) {
assert(sink_);
+
+ if (mojo::internal::ControlMessageHandler::IsControlMessage(message)) {
+ if (!mojo::internal::ValidateControlRequest(message))
+ return false;
+ return sink_->Accept(message);
+ }
+
switch (message->header()->name) {
{%- for method in interface.methods %}
case internal::k{{class_name}}_{{method.name}}_Name: {
@@ -269,6 +286,13 @@ bool {{class_name}}RequestValidator::Accept(mojo::Message* message) {
bool {{class_name}}ResponseValidator::Accept(mojo::Message* message) {
assert(sink_);
+
+ if (mojo::internal::ControlMessageHandler::IsControlMessage(message)) {
+ if (!mojo::internal::ValidateControlResponse(message))
+ return false;
+ return sink_->Accept(message);
+ }
+
if (!mojo::internal::ValidateMessageIsResponse(message))
return false;
switch (message->header()->name) {

Powered by Google App Engine
This is Rietveld 408576698