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

Unified Diff: chrome/common/safe_browsing/protobuf_message_write_macros.h

Issue 1004323003: Add support for sending protobuf messages over IPC. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@zip
Patch Set: remove todo and enable for cros Created 5 years, 9 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: chrome/common/safe_browsing/protobuf_message_write_macros.h
diff --git a/chrome/common/safe_browsing/protobuf_message_write_macros.h b/chrome/common/safe_browsing/protobuf_message_write_macros.h
new file mode 100644
index 0000000000000000000000000000000000000000..2b8a51ca6fc30a9a5d6391942cf89cb5b2fe913e
--- /dev/null
+++ b/chrome/common/safe_browsing/protobuf_message_write_macros.h
@@ -0,0 +1,33 @@
+// Copyright 2015 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.
+
+#ifndef CHROME_COMMON_SAFE_BROWSING_PROTOBUF_MESSAGE_WRITE_MACROS_H_
+#define CHROME_COMMON_SAFE_BROWSING_PROTOBUF_MESSAGE_WRITE_MACROS_H_
+
+// Null out all the macros that need nulling.
+#include "chrome/common/safe_browsing/ipc_protobuf_message_null_macros.h"
+
+// Set up so next include will generate write methods.
+#undef IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN
+#undef IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_FUNDAMENTAL_MEMBER
+#undef IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER
+#undef IPC_PROTOBUF_MESSAGE_TRAITS_REPEATED_COMPLEX_MEMBER
+#undef IPC_PROTOBUF_MESSAGE_TRAITS_END
+
+#define IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN(message_name) \
+ void ParamTraits<message_name>::Write(Message* m, const param_type& p) {
+#define IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_COMPLEX_MEMBER \
+ IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_FUNDAMENTAL_MEMBER
+#define IPC_PROTOBUF_MESSAGE_TRAITS_OPTIONAL_FUNDAMENTAL_MEMBER(name) \
+ if (p.has_##name()) { \
+ m->WriteBool(true); \
+ WriteParam(m, p.name()); \
+ } else { \
+ m->WriteBool(false); \
+ }
+#define IPC_PROTOBUF_MESSAGE_TRAITS_REPEATED_COMPLEX_MEMBER(name) \
+ WriteParam(m, p.name());
+#define IPC_PROTOBUF_MESSAGE_TRAITS_END() }
+
+#endif // CHROME_COMMON_SAFE_BROWSING_PROTOBUF_MESSAGE_WRITE_MACROS_H_

Powered by Google App Engine
This is Rietveld 408576698