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

Unified Diff: mojo/public/bindings/sample/generated/sample_service.cc

Issue 66353002: Mojo: RemotePtr<S> + bindings changes for Peer attribute. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Move forward declarations to interface_declaration Created 7 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 side-by-side diff with in-line comments
Download patch
Index: mojo/public/bindings/sample/generated/sample_service.cc
diff --git a/mojo/public/bindings/sample/generated/sample_service.cc b/mojo/public/bindings/sample/generated/sample_service.cc
index 9209cb9095a6a9ebd941a6621cb9817a214c3de5..2befd7ec1a85fad88b942890d700c9f1acdd569d 100644
--- a/mojo/public/bindings/sample/generated/sample_service.cc
+++ b/mojo/public/bindings/sample/generated/sample_service.cc
@@ -50,6 +50,35 @@ class Service_Frobinate_Params {
};
MOJO_COMPILE_ASSERT(sizeof(Service_Frobinate_Params) == 24,
bad_sizeof_Service_Frobinate_Params);
+
+const uint32_t kServiceClient_DidFrobinate_Name = 0;
+
+class ServiceClient_DidFrobinate_Params {
+ public:
+ static ServiceClient_DidFrobinate_Params* New(mojo::Buffer* buf) {
+ return new (buf->Allocate(sizeof(ServiceClient_DidFrobinate_Params)))
+ ServiceClient_DidFrobinate_Params();
+ }
+
+ void set_result(int32_t result) { result_ = result; }
+
+ int32_t result() const { return result_; }
+
+ private:
+ friend class mojo::internal::ObjectTraits<ServiceClient_DidFrobinate_Params>;
+
+ ServiceClient_DidFrobinate_Params() {
+ _header_.num_bytes = sizeof(*this);
+ _header_.num_fields = 3;
+ }
+
+ mojo::internal::StructHeader _header_;
+ int32_t result_;
+ uint8_t _pad0_[4];
+};
+MOJO_COMPILE_ASSERT(sizeof(ServiceClient_DidFrobinate_Params) == 16,
+ bad_sizeof_ServiceClient_DidFrobinate_Params);
+
#if defined(__clang__)
#pragma clang diagnostic pop
#endif
@@ -134,6 +163,48 @@ bool ServiceStub::Accept(mojo::Message* message) {
return true;
}
+ServiceClientProxy::ServiceClientProxy(mojo::MessageReceiver* receiver)
+ : receiver_(receiver) {
+}
+
+void ServiceClientProxy::DidFrobinate(int32_t result) {
+ size_t payload_size =
+ mojo::internal::Align(sizeof(ServiceClient_DidFrobinate_Params));
+
+
+ mojo::MessageBuilder builder(kServiceClient_DidFrobinate_Name, payload_size);
+
+ ServiceClient_DidFrobinate_Params* params =
+ ServiceClient_DidFrobinate_Params::New(builder.buffer());
+
+ params->set_result(result);
+
+ mojo::Message message;
+ mojo::internal::EncodePointersAndHandles(params, &message.handles);
+
+ message.data = builder.Finish();
+
+ receiver_->Accept(&message);
+}
+
+
+bool ServiceClientStub::Accept(mojo::Message* message) {
+ switch (message->data->header.name) {
+ case kServiceClient_DidFrobinate_Name: {
+ ServiceClient_DidFrobinate_Params* params =
+ reinterpret_cast<ServiceClient_DidFrobinate_Params*>(
+ message->data->payload);
+
+ if (!mojo::internal::DecodePointersAndHandles(params, *message))
+ return false;
+ DidFrobinate(params->result());
+ break;
+ }
+
+ }
+ return true;
+}
+
} // namespace sample
namespace mojo {
@@ -249,5 +320,20 @@ class ObjectTraits<sample::Service_Frobinate_Params> {
}
};
+template <>
+class ObjectTraits<sample::ServiceClient_DidFrobinate_Params> {
+ public:
+ static void EncodePointersAndHandles(
+ sample::ServiceClient_DidFrobinate_Params* params,
+ std::vector<Handle>* handles) {
+ }
+
+ static bool DecodePointersAndHandles(
+ sample::ServiceClient_DidFrobinate_Params* params,
+ const Message& message) {
+ return true;
+ }
+};
+
} // namespace internal
} // namespace mojo

Powered by Google App Engine
This is Rietveld 408576698