OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef IPC_IPC_MESSAGE_UTILS_H_ | 5 #ifndef IPC_IPC_MESSAGE_UTILS_H_ |
6 #define IPC_IPC_MESSAGE_UTILS_H_ | 6 #define IPC_IPC_MESSAGE_UTILS_H_ |
7 | 7 |
8 #include <limits.h> | 8 #include <limits.h> |
9 #include <stddef.h> | 9 #include <stddef.h> |
10 #include <stdint.h> | 10 #include <stdint.h> |
(...skipping 661 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
672 typedef base::UnguessableToken param_type; | 672 typedef base::UnguessableToken param_type; |
673 static void GetSize(base::PickleSizer* sizer, const param_type& p); | 673 static void GetSize(base::PickleSizer* sizer, const param_type& p); |
674 static void Write(base::Pickle* m, const param_type& p); | 674 static void Write(base::Pickle* m, const param_type& p); |
675 static bool Read(const base::Pickle* m, | 675 static bool Read(const base::Pickle* m, |
676 base::PickleIterator* iter, | 676 base::PickleIterator* iter, |
677 param_type* r); | 677 param_type* r); |
678 static void Log(const param_type& p, std::string* l); | 678 static void Log(const param_type& p, std::string* l); |
679 }; | 679 }; |
680 | 680 |
681 template <> | 681 template <> |
| 682 struct IPC_EXPORT ParamTraits<std::unique_ptr<base::Value>> { |
| 683 typedef std::unique_ptr<base::Value> param_type; |
| 684 static void GetSize(base::PickleSizer* sizer, const param_type& p); |
| 685 static void Write(base::Pickle* m, const param_type& p); |
| 686 static bool Read(const base::Pickle* m, |
| 687 base::PickleIterator* iter, |
| 688 param_type* r); |
| 689 static void Log(const param_type& p, std::string* l); |
| 690 }; |
| 691 |
| 692 template <> |
682 struct ParamTraits<std::tuple<>> { | 693 struct ParamTraits<std::tuple<>> { |
683 typedef std::tuple<> param_type; | 694 typedef std::tuple<> param_type; |
684 static void GetSize(base::PickleSizer* sizer, const param_type& p) {} | 695 static void GetSize(base::PickleSizer* sizer, const param_type& p) {} |
685 static void Write(base::Pickle* m, const param_type& p) {} | 696 static void Write(base::Pickle* m, const param_type& p) {} |
686 static bool Read(const base::Pickle* m, | 697 static bool Read(const base::Pickle* m, |
687 base::PickleIterator* iter, | 698 base::PickleIterator* iter, |
688 param_type* r) { | 699 param_type* r) { |
689 return true; | 700 return true; |
690 } | 701 } |
691 static void Log(const param_type& p, std::string* l) { | 702 static void Log(const param_type& p, std::string* l) { |
(...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1152 template <class ReplyParamType> | 1163 template <class ReplyParamType> |
1153 inline void LogReplyParamsToMessage(const ReplyParamType& reply_params, | 1164 inline void LogReplyParamsToMessage(const ReplyParamType& reply_params, |
1154 const Message* msg) {} | 1165 const Message* msg) {} |
1155 | 1166 |
1156 inline void ConnectMessageAndReply(const Message* msg, Message* reply) {} | 1167 inline void ConnectMessageAndReply(const Message* msg, Message* reply) {} |
1157 #endif | 1168 #endif |
1158 | 1169 |
1159 } // namespace IPC | 1170 } // namespace IPC |
1160 | 1171 |
1161 #endif // IPC_IPC_MESSAGE_UTILS_H_ | 1172 #endif // IPC_IPC_MESSAGE_UTILS_H_ |
OLD | NEW |