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

Side by Side Diff: src/message.cpp

Issue 6820045: dbus-c++: MessageIter: handle nested dicts in copy_data (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/dbus-cplusplus.git@master
Patch Set: Created 9 years, 8 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * 2 *
3 * D-Bus++ - C++ bindings for D-Bus 3 * D-Bus++ - C++ bindings for D-Bus
4 * 4 *
5 * Copyright (C) 2005-2007 Paolo Durante <shackan@gmail.com> 5 * Copyright (C) 2005-2007 Paolo Durante <shackan@gmail.com>
6 * 6 *
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public 9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 MessageIter from_container = from.recurse(); 343 MessageIter from_container = from.recurse();
344 char *sig = from_container.signature(); 344 char *sig = from_container.signature();
345 345
346 debug_log("copying compound type: %c[%s]", from.type(), sig); 346 debug_log("copying compound type: %c[%s]", from.type(), sig);
347 347
348 MessageIter to_container (to.msg()); 348 MessageIter to_container (to.msg());
349 dbus_message_iter_open_container 349 dbus_message_iter_open_container
350 ( 350 (
351 (DBusMessageIter *)&(to._iter), 351 (DBusMessageIter *)&(to._iter),
352 from.type(), 352 from.type(),
353 » » » » from.type() == DBUS_TYPE_VARIANT ? NULL : sig, 353 » » » » from.type() == DBUS_TYPE_DICT_ENTRY ||
354 » » » » from.type() == DBUS_TYPE_STRUCT ? NULL : sig,
354 (DBusMessageIter *)&(to_container._iter) 355 (DBusMessageIter *)&(to_container._iter)
355 ); 356 );
356 357
357 from_container.copy_data(to_container); 358 from_container.copy_data(to_container);
358 to.close_container(to_container); 359 to.close_container(to_container);
359 free(sig); 360 free(sig);
360 } 361 }
361 } 362 }
362 } 363 }
363 364
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
633 ReturnMessage::ReturnMessage(const CallMessage &callee) 634 ReturnMessage::ReturnMessage(const CallMessage &callee)
634 { 635 {
635 _pvt = new Private(dbus_message_new_method_return(callee._pvt->msg)); 636 _pvt = new Private(dbus_message_new_method_return(callee._pvt->msg));
636 } 637 }
637 638
638 const char *ReturnMessage::signature() const 639 const char *ReturnMessage::signature() const
639 { 640 {
640 return dbus_message_get_signature(_pvt->msg); 641 return dbus_message_get_signature(_pvt->msg);
641 } 642 }
642 643
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698