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 #include "dbus/message.h" | 5 #include "dbus/message.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/format_macros.h" | 10 #include "base/format_macros.h" |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 case MESSAGE_METHOD_CALL: | 80 case MESSAGE_METHOD_CALL: |
81 return "MESSAGE_METHOD_CALL"; | 81 return "MESSAGE_METHOD_CALL"; |
82 case MESSAGE_METHOD_RETURN: | 82 case MESSAGE_METHOD_RETURN: |
83 return "MESSAGE_METHOD_RETURN"; | 83 return "MESSAGE_METHOD_RETURN"; |
84 case MESSAGE_SIGNAL: | 84 case MESSAGE_SIGNAL: |
85 return "MESSAGE_SIGNAL"; | 85 return "MESSAGE_SIGNAL"; |
86 case MESSAGE_ERROR: | 86 case MESSAGE_ERROR: |
87 return "MESSAGE_ERROR"; | 87 return "MESSAGE_ERROR"; |
88 } | 88 } |
89 NOTREACHED(); | 89 NOTREACHED(); |
90 return ""; | 90 return std::string(); |
91 } | 91 } |
92 | 92 |
93 std::string Message::ToStringInternal(const std::string& indent, | 93 std::string Message::ToStringInternal(const std::string& indent, |
94 MessageReader* reader) { | 94 MessageReader* reader) { |
95 const char* kBrokenMessage = "[broken message]"; | 95 const char* kBrokenMessage = "[broken message]"; |
96 std::string output; | 96 std::string output; |
97 while (reader->HasMoreData()) { | 97 while (reader->HasMoreData()) { |
98 const DataType type = reader->GetDataType(); | 98 const DataType type = reader->GetDataType(); |
99 switch (type) { | 99 switch (type) { |
100 case BYTE: { | 100 case BYTE: { |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
244 // | 244 // |
245 // destination: com.example.Service | 245 // destination: com.example.Service |
246 // path: /com/example/Object | 246 // path: /com/example/Object |
247 // interface: com.example.Interface | 247 // interface: com.example.Interface |
248 // member: SomeMethod | 248 // member: SomeMethod |
249 // | 249 // |
250 // string \"payload\" | 250 // string \"payload\" |
251 // ... | 251 // ... |
252 std::string Message::ToString() { | 252 std::string Message::ToString() { |
253 if (!raw_message_) | 253 if (!raw_message_) |
254 return ""; | 254 return std::string(); |
255 | 255 |
256 // Generate headers first. | 256 // Generate headers first. |
257 std::string headers; | 257 std::string headers; |
258 AppendStringHeader("message_type", GetMessageTypeAsString(), &headers); | 258 AppendStringHeader("message_type", GetMessageTypeAsString(), &headers); |
259 AppendStringHeader("destination", GetDestination(), &headers); | 259 AppendStringHeader("destination", GetDestination(), &headers); |
260 AppendStringHeader("path", GetPath().value(), &headers); | 260 AppendStringHeader("path", GetPath().value(), &headers); |
261 AppendStringHeader("interface", GetInterface(), &headers); | 261 AppendStringHeader("interface", GetInterface(), &headers); |
262 AppendStringHeader("member", GetMember(), &headers); | 262 AppendStringHeader("member", GetMember(), &headers); |
263 AppendStringHeader("error_name", GetErrorName(), &headers); | 263 AppendStringHeader("error_name", GetErrorName(), &headers); |
264 AppendStringHeader("sender", GetSender(), &headers); | 264 AppendStringHeader("sender", GetSender(), &headers); |
265 AppendStringHeader("signature", GetSignature(), &headers); | 265 AppendStringHeader("signature", GetSignature(), &headers); |
266 AppendUint32Header("serial", GetSerial(), &headers); | 266 AppendUint32Header("serial", GetSerial(), &headers); |
267 AppendUint32Header("reply_serial", GetReplySerial(), &headers); | 267 AppendUint32Header("reply_serial", GetReplySerial(), &headers); |
268 | 268 |
269 // Generate the payload. | 269 // Generate the payload. |
270 MessageReader reader(this); | 270 MessageReader reader(this); |
271 return headers + "\n" + ToStringInternal("", &reader); | 271 return headers + "\n" + ToStringInternal(std::string(), &reader); |
272 } | 272 } |
273 | 273 |
274 bool Message::SetDestination(const std::string& destination) { | 274 bool Message::SetDestination(const std::string& destination) { |
275 return dbus_message_set_destination(raw_message_, destination.c_str()); | 275 return dbus_message_set_destination(raw_message_, destination.c_str()); |
276 } | 276 } |
277 | 277 |
278 bool Message::SetPath(const ObjectPath& path) { | 278 bool Message::SetPath(const ObjectPath& path) { |
279 return dbus_message_set_path(raw_message_, path.value().c_str()); | 279 return dbus_message_set_path(raw_message_, path.value().c_str()); |
280 } | 280 } |
281 | 281 |
(...skipping 697 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
979 const bool success = PopBasic(DBUS_TYPE_UNIX_FD, &fd); | 979 const bool success = PopBasic(DBUS_TYPE_UNIX_FD, &fd); |
980 if (!success) | 980 if (!success) |
981 return false; | 981 return false; |
982 | 982 |
983 value->PutValue(fd); | 983 value->PutValue(fd); |
984 // NB: the caller must check validity before using the value | 984 // NB: the caller must check validity before using the value |
985 return true; | 985 return true; |
986 } | 986 } |
987 | 987 |
988 } // namespace dbus | 988 } // namespace dbus |
OLD | NEW |