)]}'
{
  "commit": "c3903d8c68f21b8aec418545136286145a4dbed0",
  "tree": "053b833efd72fbcce53cc0992ab10f6e1eca2ccc",
  "parents": [
    "c3bac7d2499f8a9ef5febd518aac093aafa40ea6"
  ],
  "author": {
    "name": "Alex Vakulenko",
    "email": "avakulenko@chromium.org",
    "time": "Wed Nov 26 10:47:59 2014 -0800"
  },
  "committer": {
    "name": "chrome-internal-fetch",
    "email": "chrome-internal-fetch@google.com",
    "time": "Thu Nov 27 03:26:37 2014 +0000"
  },
  "message": "libchromeos: Add D-Bus Property class that handles any data type\n\nlibchrome\u0027s D-Bus library provides dbus::Property\u003cT\u003e class in\n\u003cdbus/property.h\u003e header file for implementing D-Bus property support\nin object proxies. Unfortunately it provides specializations only for\na limited number of data types, such as basic D-Bus types (int, string,\nbool, etc.) as well as just a few common arrays: std::vector\u003cstd::string\u003e,\nstd::vector\u003cdbus::ObjectPath\u003e, std::vector\u003cuint8\u003e. None of the\nother array types, STUCTs or DICTs are supported.\n\nIt is very difficult to add generic specializations to Property\u003cT\u003e\nfor other array and map types, as well as tuple\u003c\u003e for STRUCT data.\n\nAs a work-around, re-implement only the top-level Property\u003cT\u003e on\nlibchromeos side using its extensive data serialization framework.\n\nThe code in chromeos/dbus_dbus_property.h is almost the 1-for-1 copy\nof that from \u003cdbus/property.h\u003e except for additional implementaion\nof PopValueFromReader and AppendSetValueToWriter.\n\nAlso updated buffet with using the new class and therefore removed\nthe specialization of Property for VariantDictionary type.\n\ncommand_property_set.cc is left empty for now and will be removed\ncompletely in a follow-up CL when D-Bus proxy generator adds support\nfor D-Bus properties.\n\nBUG\u003dchromium:431737\nTEST\u003dFEATURES\u003dtest emerge-link libchromeos buffet\n\nChange-Id: I06659fd6569898275fa2d16cd643ceda9058ffc2\nReviewed-on: https://chromium-review.googlesource.com/231995\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nReviewed-by: Anton Muhin \u003cantonm@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "40c09a33a524b6cb19ebfd9ae96ef4793ff76ceb",
      "old_mode": 33188,
      "old_path": "buffet/libbuffet/command_listener.cc",
      "new_id": "50e90ce34eb57eaf2881ba48a298ef7eb47c9396",
      "new_mode": 33188,
      "new_path": "buffet/libbuffet/command_listener.cc"
    },
    {
      "type": "modify",
      "old_id": "65f5c5e7575e5d35a9f6aaadf363240893946f4a",
      "old_mode": 33188,
      "old_path": "buffet/libbuffet/private/command_property_set.cc",
      "new_id": "370139d04bce29854d7fe93848f77de565ecc6ab",
      "new_mode": 33188,
      "new_path": "buffet/libbuffet/private/command_property_set.cc"
    },
    {
      "type": "modify",
      "old_id": "98387d34db26d17cf3049b6a94d2d4ed80974275",
      "old_mode": 33188,
      "old_path": "buffet/libbuffet/private/command_property_set.h",
      "new_id": "dbf9eae39b875f7b4ae45c4c77d95b366fa16d08",
      "new_mode": 33188,
      "new_path": "buffet/libbuffet/private/command_property_set.h"
    }
  ]
}
