)]}'
{
  "log": [
    {
      "commit": "619b9bdeb82131e8ce2e5e98f982e1d08515f5a9",
      "tree": "ff790fece647efe5d9dbf1c938ee4c22f6d60a9d",
      "parents": [
        "459a26cc4d311e478317891f788e7baca4d0ae5d",
        "7e01c2dc710197db4e8cce04d2cd1cbdd3d7c893"
      ],
      "author": {
        "name": "Luis Hector Chavez",
        "email": "lhchavez@google.com",
        "time": "Wed Jul 27 16:58:21 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 27 16:58:21 2016 +0000"
      },
      "message": "dbus-binding-generator: Update libchrome APIs to r405848 am: 5b39c2d4ec am: 8ed8a72c16\nam: 7e01c2dc71\n\nChange-Id: I1e09ea171c9a54ad9b3bfe1e78cd8bc206a0900f\n"
    },
    {
      "commit": "7e01c2dc710197db4e8cce04d2cd1cbdd3d7c893",
      "tree": "ff790fece647efe5d9dbf1c938ee4c22f6d60a9d",
      "parents": [
        "459a26cc4d311e478317891f788e7baca4d0ae5d",
        "8ed8a72c162b82527b2124cfae0b5ecf9c9b6289"
      ],
      "author": {
        "name": "Luis Hector Chavez",
        "email": "lhchavez@google.com",
        "time": "Wed Jul 27 16:55:20 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 27 16:55:20 2016 +0000"
      },
      "message": "dbus-binding-generator: Update libchrome APIs to r405848 am: 5b39c2d4ec\nam: 8ed8a72c16\n\nChange-Id: Ibef4be2319c45cd435ca8125e2aa08e28e6b8a17\n"
    },
    {
      "commit": "8ed8a72c162b82527b2124cfae0b5ecf9c9b6289",
      "tree": "ff790fece647efe5d9dbf1c938ee4c22f6d60a9d",
      "parents": [
        "459a26cc4d311e478317891f788e7baca4d0ae5d",
        "5b39c2d4ec6fb22e1417f52acda606717cf6bb09"
      ],
      "author": {
        "name": "Luis Hector Chavez",
        "email": "lhchavez@google.com",
        "time": "Wed Jul 27 16:52:23 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 27 16:52:23 2016 +0000"
      },
      "message": "dbus-binding-generator: Update libchrome APIs to r405848\nam: 5b39c2d4ec\n\nChange-Id: Ic916b3a36a960b49257b6e68b41f1041c17d301d\n"
    },
    {
      "commit": "5b39c2d4ec6fb22e1417f52acda606717cf6bb09",
      "tree": "ff790fece647efe5d9dbf1c938ee4c22f6d60a9d",
      "parents": [
        "bce0483dd09f592d6f9f989f0e34fc930d206810"
      ],
      "author": {
        "name": "Luis Hector Chavez",
        "email": "lhchavez@google.com",
        "time": "Mon Jul 18 16:01:18 2016 -0700"
      },
      "committer": {
        "name": "Luis Hector Chavez",
        "email": "lhchavez@google.com",
        "time": "Tue Jul 19 14:40:22 2016 -0700"
      },
      "message": "dbus-binding-generator: Update libchrome APIs to r405848\n\nThe new libchrome has been ported from Chromium and some APIs have\nchanged. Make necessary changes at call sites.\n\nChange-Id: I6854b5288b2b291abf19eaf5843cbe8a103d950c\n"
    },
    {
      "commit": "459a26cc4d311e478317891f788e7baca4d0ae5d",
      "tree": "27e29c831e94f47231d247695852a3171d8fa38d",
      "parents": [
        "06b4002a98eb869fee09dc81f00435fd8f81ce4f",
        "ab6efe1aa3f30726e372e934150aaa5dc2c5032e"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Wed Apr 13 20:56:47 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 13 20:56:47 2016 +0000"
      },
      "message": "Don\\\u0027t generate code with unused private fields am: bce0483\nam: ab6efe1\n\n* commit \u0027ab6efe1aa3f30726e372e934150aaa5dc2c5032e\u0027:\n  Don\u0027t generate code with unused private fields\n\nChange-Id: I26ff952d2fa3ea3c24dd8060340c379be30c50aa\n"
    },
    {
      "commit": "ab6efe1aa3f30726e372e934150aaa5dc2c5032e",
      "tree": "27e29c831e94f47231d247695852a3171d8fa38d",
      "parents": [
        "ead09adf829d0844607cd906ce909cc1dd459356",
        "bce0483dd09f592d6f9f989f0e34fc930d206810"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Wed Apr 13 20:53:16 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 13 20:53:16 2016 +0000"
      },
      "message": "Don\\\u0027t generate code with unused private fields\nam: bce0483\n\n* commit \u0027bce0483dd09f592d6f9f989f0e34fc930d206810\u0027:\n  Don\u0027t generate code with unused private fields\n\nChange-Id: Id21936e6ac6b8ee6e8d6c2bb126695e51d886034\n"
    },
    {
      "commit": "bce0483dd09f592d6f9f989f0e34fc930d206810",
      "tree": "27e29c831e94f47231d247695852a3171d8fa38d",
      "parents": [
        "ead09adf829d0844607cd906ce909cc1dd459356"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Wed Apr 13 12:57:27 2016 -0700"
      },
      "committer": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Wed Apr 13 12:57:27 2016 -0700"
      },
      "message": "Don\u0027t generate code with unused private fields\n\nA recent update to libchrome reveals that we were previously suppressing\nwarnings about unused private fields.  Without that, the generated code\ncan cause errors when interfaces have no methods.\n\nBug: 28117776\nChange-Id: Ic734c1ce9485797065e504c566cad8d6edf45d07\nTest: Generated code now compiles.\n"
    },
    {
      "commit": "06b4002a98eb869fee09dc81f00435fd8f81ce4f",
      "tree": "d548d0f529fc3570f28cd0e61fa0ce950faba021",
      "parents": [
        "71fde8e0b8a85fe729da5351aacfee4d354fddc5",
        "ead09adf829d0844607cd906ce909cc1dd459356"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Mon Mar 21 17:32:01 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Mar 21 17:32:01 2016 +0000"
      },
      "message": "chromeos-dbus-bindings: Fix build break on Chrome OS\nam: ead09ad\n\n* commit \u0027ead09adf829d0844607cd906ce909cc1dd459356\u0027:\n  chromeos-dbus-bindings: Fix build break on Chrome OS\n"
    },
    {
      "commit": "ead09adf829d0844607cd906ce909cc1dd459356",
      "tree": "d548d0f529fc3570f28cd0e61fa0ce950faba021",
      "parents": [
        "f07ce4ed69c3c2624f4aae422d1ed62a8ac7a44c"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Mon Mar 21 10:10:04 2016 -0700"
      },
      "committer": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Mon Mar 21 10:10:04 2016 -0700"
      },
      "message": "chromeos-dbus-bindings: Fix build break on Chrome OS\n\nChange-Id: Ib18dbd7c67b5aaf9eddef0f646454ea631e6adc7\n"
    },
    {
      "commit": "71fde8e0b8a85fe729da5351aacfee4d354fddc5",
      "tree": "eda8c8c8f1f417c4efef388e7d29319f4b0b694b",
      "parents": [
        "fc305a170ef11c3fa05fde88e59e098b5ab66b3c",
        "f07ce4ed69c3c2624f4aae422d1ed62a8ac7a44c"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Thu Jan 21 01:00:54 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 21 01:00:54 2016 +0000"
      },
      "message": "dbus-binding-generator: Update libchrome APIs to r369476\nam: f07ce4ed69\n\n* commit \u0027f07ce4ed69c3c2624f4aae422d1ed62a8ac7a44c\u0027:\n  dbus-binding-generator: Update libchrome APIs to r369476\n"
    },
    {
      "commit": "f07ce4ed69c3c2624f4aae422d1ed62a8ac7a44c",
      "tree": "eda8c8c8f1f417c4efef388e7d29319f4b0b694b",
      "parents": [
        "4d7450f26396d6a5d3135e058873d484c3857aa0"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Wed Jan 20 07:50:25 2016 -0800"
      },
      "committer": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Wed Jan 20 07:50:25 2016 -0800"
      },
      "message": "dbus-binding-generator: Update libchrome APIs to r369476\n\nThe new libchrome has been ported from Chromium and some APIs have\nchanged. Make necessary changes at call sites.\n\nChange-Id: I792e854c58fadce96e153e081fc8fc6e129da6dc\n"
    },
    {
      "commit": "fc305a170ef11c3fa05fde88e59e098b5ab66b3c",
      "tree": "84efcf8cbb9e56db9f9bbccc4491e0a5689bd3f1",
      "parents": [
        "e0affa61fcf906611bf8332a392f72845eb9424b",
        "4d7450f26396d6a5d3135e058873d484c3857aa0"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Mon Jan 04 19:40:37 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 04 19:40:37 2016 +0000"
      },
      "message": "Fix compiler warnings in dbus-binding-generator\nam: 4d7450f263\n\n* commit \u00274d7450f26396d6a5d3135e058873d484c3857aa0\u0027:\n  Fix compiler warnings in dbus-binding-generator\n"
    },
    {
      "commit": "4d7450f26396d6a5d3135e058873d484c3857aa0",
      "tree": "84efcf8cbb9e56db9f9bbccc4491e0a5689bd3f1",
      "parents": [
        "9f6fb89c67950128c98e723fad5263369f103faf"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Mon Jan 04 09:59:49 2016 -0800"
      },
      "committer": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Mon Jan 04 11:19:00 2016 -0800"
      },
      "message": "Fix compiler warnings in dbus-binding-generator\n\nDo this for both in repository code and generated code.\n\nBug: 26379019\nTest: compiles, unittests pass\n\nChange-Id: Ic1e387d914696639c0ad495d3ecb6f0a60bcb981\n"
    },
    {
      "commit": "e0affa61fcf906611bf8332a392f72845eb9424b",
      "tree": "4c39ee7005d4a825cc91c2a49a7a0f113d2d0c26",
      "parents": [
        "3f18bbbc96f466b3e6725ea0e05de7e5f7458c2d",
        "9f6fb89c67950128c98e723fad5263369f103faf"
      ],
      "author": {
        "name": "Dan Colish",
        "email": "colish@google.com",
        "time": "Mon Dec 14 11:06:15 2015 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Dec 14 11:06:15 2015 -0800"
      },
      "message": "Match SetPropertyChangedCallback signature in mocked object.\nam: 9f6fb89c67\n\n* commit \u00279f6fb89c67950128c98e723fad5263369f103faf\u0027:\n  Match SetPropertyChangedCallback signature in mocked object.\n"
    },
    {
      "commit": "9f6fb89c67950128c98e723fad5263369f103faf",
      "tree": "4c39ee7005d4a825cc91c2a49a7a0f113d2d0c26",
      "parents": [
        "e4ba481e55e2b0e1cb1fa528005bcfc3da361424"
      ],
      "author": {
        "name": "Dan Colish",
        "email": "colish@google.com",
        "time": "Mon Dec 14 10:29:00 2015 -0800"
      },
      "committer": {
        "name": "Dan Colish",
        "email": "colish@google.com",
        "time": "Mon Dec 14 10:30:40 2015 -0800"
      },
      "message": "Match SetPropertyChangedCallback signature in mocked object.\n\nBUG: 26092352\nChange-Id: Iba1e8cac5707daaf7b09c38af60b46852662c151\n"
    },
    {
      "commit": "3f18bbbc96f466b3e6725ea0e05de7e5f7458c2d",
      "tree": "647447adcd26454f8d771217515d3fb39b22ca5d",
      "parents": [
        "3518a1b9a73a4d3a1bf3ab59441840b34d313d43",
        "e4ba481e55e2b0e1cb1fa528005bcfc3da361424"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Fri Dec 11 09:28:10 2015 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Dec 11 09:28:10 2015 -0800"
      },
      "message": "Merge \"Drop the \"-host\" suffix on libchrome and libbrillo.\"\nam: e4ba481e55\n\n* commit \u0027e4ba481e55e2b0e1cb1fa528005bcfc3da361424\u0027:\n  Drop the \"-host\" suffix on libchrome and libbrillo.\n"
    },
    {
      "commit": "3518a1b9a73a4d3a1bf3ab59441840b34d313d43",
      "tree": "647447adcd26454f8d771217515d3fb39b22ca5d",
      "parents": [
        "49655940723dca6d3a24bd1cac686c7d24308fb3",
        "daea81b234ad10d0ecd0410521e517fa89f7b2e0"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Fri Dec 11 09:00:36 2015 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Dec 11 09:00:36 2015 -0800"
      },
      "message": "Move SetPropertyChangedCallback to proxy interface and add a mock\nam: daea81b234\n\n* commit \u0027daea81b234ad10d0ecd0410521e517fa89f7b2e0\u0027:\n  Move SetPropertyChangedCallback to proxy interface and add a mock\n"
    },
    {
      "commit": "49655940723dca6d3a24bd1cac686c7d24308fb3",
      "tree": "894c2857758b9699e956e0140f66768e2588cb61",
      "parents": [
        "d0eca9d166717a07605c7080f9d859a2f09bd4ef"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Wed Dec 09 17:36:51 2015 -0800"
      },
      "committer": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Thu Dec 10 17:38:37 2015 -0800"
      },
      "message": "Drop the \"-host\" suffix on libchrome and libbrillo.\n\nTo be aligned with the new build system, the host and target modules\nshould have the same name. This patch updates the libchrome and\nlibbrillo dependencies.\n\nBug: 24619596\nTEST\u003dmma on linux and mac\n\nChange-Id: I09abfcefc7e0758adb10889433b90354d81e4838\n(cherry picked from commit 2eab379c2966e0d9aad3e1dd6b3a4df50e2504c3)\n"
    },
    {
      "commit": "e4ba481e55e2b0e1cb1fa528005bcfc3da361424",
      "tree": "647447adcd26454f8d771217515d3fb39b22ca5d",
      "parents": [
        "daea81b234ad10d0ecd0410521e517fa89f7b2e0",
        "2eab379c2966e0d9aad3e1dd6b3a4df50e2504c3"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Thu Dec 10 22:18:33 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 10 22:18:33 2015 +0000"
      },
      "message": "Merge \"Drop the \"-host\" suffix on libchrome and libbrillo.\""
    },
    {
      "commit": "daea81b234ad10d0ecd0410521e517fa89f7b2e0",
      "tree": "55e9e63bd462848fb41c1ca43f5fd424172b98f3",
      "parents": [
        "d0eca9d166717a07605c7080f9d859a2f09bd4ef"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Thu Dec 10 10:49:40 2015 -0800"
      },
      "committer": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Thu Dec 10 10:49:40 2015 -0800"
      },
      "message": "Move SetPropertyChangedCallback to proxy interface and add a mock\n\nMoved the declaration of SetPropertyChangedCallback() to D-Bus proxy\ninterface so this method can be used with an interface as well as\nmocked out properly.\n\nBUG: 26092352\nChange-Id: Id6077eaacaac13672e5ce02614fd7574b2397150\n"
    },
    {
      "commit": "2eab379c2966e0d9aad3e1dd6b3a4df50e2504c3",
      "tree": "545e26758bfd065560596c00854b8705377775cb",
      "parents": [
        "ea3c168b5b00783acac87d7fb453583981ce5cf3"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Wed Dec 09 17:36:51 2015 -0800"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Wed Dec 09 17:36:51 2015 -0800"
      },
      "message": "Drop the \"-host\" suffix on libchrome and libbrillo.\n\nTo be aligned with the new build system, the host and target modules\nshould have the same name. This patch updates the libchrome and\nlibbrillo dependencies.\n\nBug: 24619596\nTEST\u003dmma on linux and mac\n\nChange-Id: I09abfcefc7e0758adb10889433b90354d81e4838\n"
    },
    {
      "commit": "d0eca9d166717a07605c7080f9d859a2f09bd4ef",
      "tree": "cba612325781d415fa4d39920cd540b0af1b4b8e",
      "parents": [
        "cb2d7bf4c3b78db8c72cb70c7b5c6df145fa7707"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Wed Dec 09 14:37:23 2015 -0800"
      },
      "committer": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Wed Dec 09 14:41:06 2015 -0800"
      },
      "message": "dbus-binding-generator: Fix mock generation and support for readwrite props\n\nPrevious change added \"set_\u003cname\u003e()\" for writable properties, but that\nwas done unconditionally, even for read-only properties. Added check for\nproperty access qualifier.\n\nMock generation was missing for GetObjectPath and property setters.\n\nBUG: 26092352\nChange-Id: Ib30267f41c7a937ea8543f02bbe17719ef15cca9\n"
    },
    {
      "commit": "cb2d7bf4c3b78db8c72cb70c7b5c6df145fa7707",
      "tree": "1597fb7f81784b2e0edfa5ff81ed4d488678f84b",
      "parents": [
        "ea3c168b5b00783acac87d7fb453583981ce5cf3"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Tue Dec 08 17:03:40 2015 -0800"
      },
      "committer": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Tue Dec 08 17:03:40 2015 -0800"
      },
      "message": "dbus-binding-generator: Use abstract interfaces instead of proxies\n\nUse abstract proxy interfaces instead of concrete proxy instances.\nThis allows client to mock out APIs and facilitate testing.\n\nHad to add the ability to obtain an object path from the interface\nas well as set properties on interfaces, as these were used by the\ncurrent callers.\n\nBUG: 26092352\nChange-Id: I853d37f60fbe6d56e33171c82cd74520e38711cf\n"
    },
    {
      "commit": "ea3c168b5b00783acac87d7fb453583981ce5cf3",
      "tree": "80a677c3aff42b59d3201f9d8eb36f46c262da90",
      "parents": [
        "472163ee927aa86f40f635611a4e04d314236eba"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Wed Oct 28 11:52:13 2015 -0700"
      },
      "committer": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Wed Oct 28 11:52:13 2015 -0700"
      },
      "message": "chromeos-dbus-bindings: rename libchromeos -\u003e libbrillo\n\nRemaining changes missed in the original CL.\n\nBUG: 24872993\nChange-Id: Id4ad17d4cc454ff79307a919357cbaf00968ef93\n"
    },
    {
      "commit": "472163ee927aa86f40f635611a4e04d314236eba",
      "tree": "5f3332373bdb06386b5fd4bf2ea7472d5d334a3e",
      "parents": [
        "be6240db3b8a0981ce0f800247105154ff8e4960"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Tue Oct 27 11:30:52 2015 -0700"
      },
      "committer": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Tue Oct 27 11:39:49 2015 -0700"
      },
      "message": "dbus-binding-generator: Rename libchromeos to libbrillo\n\nBUG: 24872993\nChange-Id: I02898f06e056ea769fe2509e699f8582975d9ff5\n"
    },
    {
      "commit": "be6240db3b8a0981ce0f800247105154ff8e4960",
      "tree": "2ad8bbd69c4c7f00895eb7faad4412f72b302337",
      "parents": [
        "1385cd1001b8665d506a6d936ecf2a38c295e435"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Tue Oct 13 08:14:52 2015 -0700"
      },
      "committer": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Tue Oct 13 15:14:50 2015 -0700"
      },
      "message": "Rename \"chromeos\" -\u003e \"brillo\" in include paths and namespaces\n\nlibchromeos is transitioning to libbrillo and chromeos namespaces\nand include directory is changing to brillo.\n\nBUG: 24872993\nTEST\u003dbuilt on aosp and dragonboard, unit tests passed\n     the generated proxies/adaptors in other projects compile correctly\n\nChange-Id: Idd11c5eebc1e5b80825321dd25f06a8af6f1cd26\n"
    },
    {
      "commit": "1385cd1001b8665d506a6d936ecf2a38c295e435",
      "tree": "82981872b824dfeb5d01f193705be414bfa0f8fe",
      "parents": [
        "b04415c9c7edc9a9474ee4d59956fd01798eb302"
      ],
      "author": {
        "name": "Scott James Remnant",
        "email": "keybuk@google.com",
        "time": "Tue Sep 29 12:46:56 2015 -0700"
      },
      "committer": {
        "name": "Scott James Remnant",
        "email": "keybuk@google.com",
        "time": "Tue Sep 29 12:46:56 2015 -0700"
      },
      "message": "dbus-binding-generator: build on non-Linux hosts\n\nWith a portable subset of libchromeos-host now available, it\u0027s now\npossible to build this tool for non-Linux hosts.\n\nBUG\u003d24073089\nTEST\u003dbuild on Mac host, also build tool using it\n\nChange-Id: Ic9a169f84ec68eaa3c43817cb2e4572be90ad228\n"
    },
    {
      "commit": "b04415c9c7edc9a9474ee4d59956fd01798eb302",
      "tree": "5f9082151c18d91e552aa653349b30e1829b6f7f",
      "parents": [
        "a31c5257ce2673c8cdcb8e43e2a1dd40e926009d"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Sep 08 16:59:47 2015 +0000"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Sep 08 17:07:49 2015 +0000"
      },
      "message": "Revert \"chromeos-dbus-bindings: remove object proxy from bus in proxy destructor\"\n\nThis reverts commit a31c5257ce2673c8cdcb8e43e2a1dd40e926009d.\n\nThe original CL breaks some system services (such as crash_reporter)\nin Chrome OS.  Instead, fix the original issue by explicitly calling\nXXXProxy::ReleaseObjectProxy.\n\nBUG\u003d23560086\n\nChange-Id: I90c7c1cecc5132bd3d78be77cbe79ad45f41a99d\n"
    },
    {
      "commit": "a31c5257ce2673c8cdcb8e43e2a1dd40e926009d",
      "tree": "27b5851de9a015c2cd7bd5f2c25a6805e8963dac",
      "parents": [
        "a0a75b2804a64ef1415d05ef77dfb1ad58f178b0"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Aug 27 11:37:07 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Fri Aug 28 16:11:21 2015 -0700"
      },
      "message": "chromeos-dbus-bindings: remove object proxy from bus in proxy destructor\n\nThis will free up resources that the bus allocated for the given proxy,\navoid any memory/resource leak.\n\nBUG\u003d23560086\nTEST\u003dunittest\nTEST\u003dVerify generated proxy code\n\nChange-Id: I0e6b7387ee01cbd4564174f0a8817aa784fd6295\n"
    },
    {
      "commit": "a0a75b2804a64ef1415d05ef77dfb1ad58f178b0",
      "tree": "5f9082151c18d91e552aa653349b30e1829b6f7f",
      "parents": [
        "a30e09dde8bde67a44a2275b58d3f9d058207e57"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Tue Aug 18 10:56:04 2015 -0700"
      },
      "committer": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@google.com",
        "time": "Tue Aug 18 14:31:44 2015 -0700"
      },
      "message": "dbus-bindings: Fix include path.\n\nchromeos-dbus-bindings was moved to a subdirectory. In order for the\nimport path to import headers with chromeos-dbus-bindings/*, we need to\nadd the parent directory to the include directories.\n\nBUG\u003dchromium:515556\nTEST\u003d`emerge-gizmo chromeos-dbus-bindings` works.\n\nChange-Id: I97f38fcdb4f94f57cbdf896a76c97f13f031a2a6\n"
    },
    {
      "commit": "a30e09dde8bde67a44a2275b58d3f9d058207e57",
      "tree": "90d0373df776417105219f2de31157cbbb1f892e",
      "parents": [
        "464405e052175cd0421742a917d0a69cab46a89d"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Mon Aug 03 19:37:03 2015 -0700"
      },
      "committer": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Wed Aug 12 12:28:04 2015 -0700"
      },
      "message": "chromeos-dbus-bindings: Literal proxy includes for mocks\n\n(cherry-pick of platform2 5b6ba1c6b8140d3d4e069d9afcdabdfb3a5669ce)\n\nChange the DBus binding generator to accept a flag\n--proxy-path-in-mocks which takes the literal path to include the proxy\nheader at.  This works around some behavior where the generator\nwould attempt to infer this path by constructing a relative path from\nthe mock path to the proxy file path.  This breaks when we install\nthe mock headers to the build root, rather than using them from where\nthey were generated.\n\nBUG\u003dchromium:516514\nTEST\u003dunittests, trybots\n\nChange-Id: I96c7429cc4344bd9a3764efb09b2f014dd2420ac\nReviewed-on: https://chromium-review.googlesource.com/290448\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTested-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nCommit-Queue: Christopher Wiley \u003cwiley@chromium.org\u003e\n"
    },
    {
      "commit": "464405e052175cd0421742a917d0a69cab46a89d",
      "tree": "7da702680650495a29d0e7696a1e8d0436b83771",
      "parents": [
        "643ac02b5a989b6833920caba0f1ccf659ec3b16"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Thu Jul 30 11:21:51 2015 -0700"
      },
      "committer": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Wed Aug 12 12:27:12 2015 -0700"
      },
      "message": "chromeos-dbus-bindings: Handle mocks all the way up to eleven.\n\n(cherry-pick of platform2 240e46d3b77a969611ec6855cbb2e95a4293a3b6)\n\ngmock doesn\u0027t define MOCK_METHODn for n greater than 10 due to some\nlegacy compiler limitations in older Visual Studio versions. While\nhanving methods with more than 10 arguments is rare and a bad idea in\ngeneral, we have some DBus methods that will generate wrappers with\nmore than 10 arguments, between DBus method arguments and the added\ncallbacks, and timeouts.\n\nThis patch avoids the problem by not generating an invalid MOCK_METHOD\nentry for such methods and leaving the chance for the user of such\nmock to subclass it and implement such method in a different way or\nignore the problem if the method in the mock was not needed at all. To\ndo this we provide a default implementation with a warning.\n\nBUG\u003dchromium:419827\nTEST\u003dAdded unittests. Generated flimflam.ManagerProxy mocks that now compile.\n\nChange-Id: I742217b1cdd8bfb4ee5a37bec51485e21cb654d9\nReviewed-on: https://chromium-review.googlesource.com/289835\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\nTrybot-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "643ac02b5a989b6833920caba0f1ccf659ec3b16",
      "tree": "c6fc8ce291b35a00d133ba5a3d70ec6ce2493674",
      "parents": [
        "876774d281ceb2112b2487c85ef3f1da2e566598"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Tue Aug 04 09:52:44 2015 -0700"
      },
      "committer": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Tue Aug 04 09:52:44 2015 -0700"
      },
      "message": "Add Android.mk\n\nThis includes support to build both the host build tool and the\nhost unittests.\n\nBug: 22608897\nChange-Id: Iee07b18be658462fb0549d4c12cae8aae26e8d2d\n"
    },
    {
      "commit": "876774d281ceb2112b2487c85ef3f1da2e566598",
      "tree": "479f99edd682797e090780c48dd5b8208864bff9",
      "parents": [
        "1c6f962ccc8f81ea4ec736a772763f76fc611b42",
        "9fb75bd52086d7378d73f60357fb497351f7fc4f"
      ],
      "author": {
        "name": "Bertrand Simonnet",
        "email": "bsimonnet@google.com",
        "time": "Fri Jul 31 00:10:19 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 31 00:10:19 2015 +0000"
      },
      "message": "Merge \"Revert \"Add Android.mk\"\""
    },
    {
      "commit": "9fb75bd52086d7378d73f60357fb497351f7fc4f",
      "tree": "06142e16477dcecf01e0c6acf56993e0ebbbd7e2",
      "parents": [
        "885fbff615a8a740131bf740812c6ca72ee3c01d"
      ],
      "author": {
        "name": "Bertrand Simonnet",
        "email": "bsimonnet@google.com",
        "time": "Fri Jul 31 00:09:32 2015 +0000"
      },
      "committer": {
        "name": "Bertrand Simonnet",
        "email": "bsimonnet@google.com",
        "time": "Fri Jul 31 00:09:32 2015 +0000"
      },
      "message": "Revert \"Add Android.mk\"\n\nThis reverts commit 885fbff615a8a740131bf740812c6ca72ee3c01d.\n\nChange-Id: I00b1ae8d77732beb816077b94bf289dae67b31ed\n"
    },
    {
      "commit": "1c6f962ccc8f81ea4ec736a772763f76fc611b42",
      "tree": "c6fc8ce291b35a00d133ba5a3d70ec6ce2493674",
      "parents": [
        "885fbff615a8a740131bf740812c6ca72ee3c01d",
        "b05f95c23e285a37d0bd8eb8f6a0cc515857a215"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Thu Jul 30 23:10:35 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 30 23:10:35 2015 +0000"
      },
      "message": "Merge \"Look up one more level for common-mk/ directory\""
    },
    {
      "commit": "b05f95c23e285a37d0bd8eb8f6a0cc515857a215",
      "tree": "479f99edd682797e090780c48dd5b8208864bff9",
      "parents": [
        "e3c51041cd39e382b9d68184124a3dd1cfcb06d4"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Thu Jul 30 15:38:07 2015 -0700"
      },
      "committer": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Thu Jul 30 15:38:07 2015 -0700"
      },
      "message": "Look up one more level for common-mk/ directory\n\nWe\u0027re going to set up the chromeos-dbus-bindings ebuild to\nbuild this source in chromeos with a directory structure like:\n\nplatform2/dbus-binding-generator/chromeos-dbus-bindings/\n\nrather than the previous\n\nplatform2/chromeos-dbus-bindings/\n\nThis requires we modify where we look for common-mk a little.\n\nChange-Id: I87b8d9c3455dcd6227328376d16125a636575d0e\n"
    },
    {
      "commit": "885fbff615a8a740131bf740812c6ca72ee3c01d",
      "tree": "c15eba83884b0e22a50dcfa89487f11b566cf06f",
      "parents": [
        "e3c51041cd39e382b9d68184124a3dd1cfcb06d4"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Mon Jul 27 16:57:29 2015 -0700"
      },
      "committer": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Wed Jul 29 18:02:54 2015 -0700"
      },
      "message": "Add Android.mk\n\nThis includes support to build both the host build tool and the\nhost unittests.\n\nBug: 22608897\nChange-Id: I23a24f702b7366ce8bbf3e39e9d22345cd57655a\n"
    },
    {
      "commit": "e3c51041cd39e382b9d68184124a3dd1cfcb06d4",
      "tree": "06142e16477dcecf01e0c6acf56993e0ebbbd7e2",
      "parents": [
        "c4a3805076ae13371b94da9fdc98670226ef4706",
        "5d162e5e777d4f516e34343830628e34e753c0c6"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Wed Jul 29 17:27:03 2015 -0700"
      },
      "committer": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Wed Jul 29 17:27:03 2015 -0700"
      },
      "message": "Merge branch \u0027rewrite-chromeos-dbus-bindings\u0027 into merge-chromeos-dbus-bindings\n"
    },
    {
      "commit": "5d162e5e777d4f516e34343830628e34e753c0c6",
      "tree": "122e2cebfd658c80a6b3d37a849bd78c63698bc5",
      "parents": [
        "ce286b950d6b6db208459931a1604720903303cc"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Wed Jul 29 10:19:19 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Jul 29 22:55:05 2015 +0000"
      },
      "message": "chromeos-dbus-bindings: Move interface virtual destructors to public.\n\nIn order to pass around ownership of *Proxy objects using\n*ProxyInterface classes we need to be able to destroy them from the\nabstract interface. This patch moves the destructor to the public side.\n\nTo fix blank lines, this patch moves the blank lines added on all\nmethods to a line *before* the block instead of a line after the\nblock.\n\nBUG\u003dchromium:419827\nTEST\u003dUpdated unittest. Generated code still compiles.\n\nChange-Id: If7c7c2e0dfcb7887f523558726fc65a62221d89e\nReviewed-on: https://chromium-review.googlesource.com/289318\nTrybot-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nReviewed-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "ce286b950d6b6db208459931a1604720903303cc",
      "tree": "c383b015aae2806035e0f485e7bffff52fa10f7c",
      "parents": [
        "f211ae662aee9b2d4cb8538e9845b5389ba0cc3e"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Tue Jul 28 15:04:07 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Jul 29 21:18:25 2015 +0000"
      },
      "message": "chromeos-dbus-bindings: Expose Register*Handler() methods in the *ProxyInterface.\n\nThe generated proxy is split in two: an abstract interface\n(class *ProxyInterface) and the actual implementation that sends the\ndbus calls (class *Proxy). For signals, we can register a signal\nhandler using the Register*Handler() method in the Proxy class, but it\nis not available in the ProxyInterface.\n\nThis patch defines the Register*Handler() methods in the abstract\ninterface and includes the corresponding method in the ProxyMock class\nso the unittests can check that the signals are handled and the code\nunder test can receive a ProxyInterface instance and register the\nhandler with it.\n\nBUG\u003dNone\nTEST\u003dUnittests updated.\n\nChange-Id: Ife2f91591e87e8c8c3edda76db32c6327b145a81\nReviewed-on: https://chromium-review.googlesource.com/289330\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\nTrybot-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "f211ae662aee9b2d4cb8538e9845b5389ba0cc3e",
      "tree": "d78ac655859eee134d5d5cb9393b05873d7601a5",
      "parents": [
        "d0cb3fe72b7070d373bf960550b7cbfb0adbe843"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Tue Jul 28 13:09:29 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Jul 29 08:45:26 2015 +0000"
      },
      "message": "chromeos-dbus-bindings: Print output diff when failing a test.\n\nTo help test-driven-development techniques and prevent lazy developers\nfrom copy-pasting the output of the test into the expected results\nwithout inspecting them, this patch shows the unified diff between\nthe expected result and the generated file.\n\nIt is still possible to update the unittest code by appliying the\npatch to the *_unittest.cc file.\n\nBUG\u003dNone\nTEST\u003dModified an expected result and saw the diff on the unittest.\n\nChange-Id: If24479fed1fa3be67f2a99c092206bf27cf2b110\nReviewed-on: https://chromium-review.googlesource.com/289300\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\nTrybot-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "d0cb3fe72b7070d373bf960550b7cbfb0adbe843",
      "tree": "3261e26789729525f856681c4e3017e1fc9b5782",
      "parents": [
        "e2879c0a7b4e26332255cbfffca86dbd8fd676bb"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Mon Jul 27 17:32:58 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Tue Jul 28 21:31:38 2015 +0000"
      },
      "message": "chromeos-dbus-bindings: Fix more sign issues\n\nBUG\u003dNone\nTEST\u003dCompiles on Android without sign comparison warnings.\n\nChange-Id: I818975146bd028e50ae20948211b959e022fb0bb\nReviewed-on: https://chromium-review.googlesource.com/288926\nTested-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Christopher Wiley \u003cwiley@chromium.org\u003e\n"
    },
    {
      "commit": "c4a3805076ae13371b94da9fdc98670226ef4706",
      "tree": "dda3b6c9105f61b29e827eb84f225215a270b30f",
      "parents": [
        "ee37066f52ac98db9f77a37683388ab7fde8ef2e"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Mon Jul 27 16:52:24 2015 -0700"
      },
      "committer": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Mon Jul 27 16:52:24 2015 -0700"
      },
      "message": "Add license files\n\nChange-Id: I6588bad92f8f114a1e66f3e73b240ac43e75ed2b\n"
    },
    {
      "commit": "ee37066f52ac98db9f77a37683388ab7fde8ef2e",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Sat Jul 25 08:02:25 2015 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Sat Jul 25 08:02:25 2015 -0700"
      },
      "message": "Initial empty repository\n"
    },
    {
      "commit": "e2879c0a7b4e26332255cbfffca86dbd8fd676bb",
      "tree": "b702c0a465c0ab76e31f3ea2e42d7d1144b6519e",
      "parents": [
        "168561072be5df28a2491252984095ff3a3a77f4"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@google.com",
        "time": "Tue Jul 21 13:00:03 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Jul 24 21:54:10 2015 +0000"
      },
      "message": "chromeos-dbus-bindings: Fix sign issues in unittests\n\nBUG\u003dNone\nTEST\u003dCompiles here and on Android\n\nChange-Id: Ifae7bb9cfc886b7d52a4aeb73e3cd0981fb3df6d\nReviewed-on: https://chromium-review.googlesource.com/287301\nTested-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Christopher Wiley \u003cwiley@chromium.org\u003e\n"
    },
    {
      "commit": "168561072be5df28a2491252984095ff3a3a77f4",
      "tree": "49a4acf9d881244a49c3ed2d6b4268bb9865101b",
      "parents": [
        "0bd7dd71a61171d9609ecc7722e8fd87e0afdda2"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Fri Jun 19 20:55:14 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Mon Jun 22 19:27:51 2015 +0000"
      },
      "message": "chromeos-dbus-bindings: Make Interface destructor virtual.\n\nAs required per style and to support using -Wnon-virtual-dtor on generated\ncode, this patch makes the protected destructor virtual on the proxy\ninterface.\n\nBUG\u003dNone\nTEST\u003dsudo env FEATURES\u003dtest emerge chromeos-dbus-bindings; update_engine_client compiles with -Wnon-virtual-dtor.\n\nChange-Id: I9904cf823e5e3fc028ab870adbbbd26a3f0da44b\nReviewed-on: https://chromium-review.googlesource.com/280877\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "0bd7dd71a61171d9609ecc7722e8fd87e0afdda2",
      "tree": "fbcf43feef76275a01a3d2ae016052b767187b0a",
      "parents": [
        "6cc1d5b99f6994832595c4d0a788972e65a6ef54"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Mon Jun 15 12:53:22 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Jun 17 17:34:39 2015 +0000"
      },
      "message": "platform2: Fix issues with new version of libchrome\n\nlibchrome r334380 has the following breaking changes that need to be fixed:\n- base::JSONWriter::Write() and base::JSONWriter::WriteWithOptions() take\n  \"const base::Value\u0026\" instead of \"const base::Value*\"\n- base::JSONReader::Read() and base::JSONReader::ReadAndReturnError()\n  return a scoped_ptr\u003cbase::Value\u003e instead of base::Value*\n- base/safe_strerror_posix.h is moved to base/posix/safe_strerror.h\n- safe_strerror() is now in \"base\" namespace\n- StartsWithASCII(), EndsWith(), StringToUpperASCII(), LowerCaseEqualsASCII()\n  are now in \"base\" namespace\n- ObserverList\u003cT\u003e is now in \"base\" namespace\n- base::PrintTo(base::FilePath) used in gtest is now moved to libchrome-test\n  library and as such, unit test runners need to link to this library now.\n- crypto::RSAPrivateKey::CreateSensitive() is now removed from //crypto, so\n  some of tests in chromeos-login that used that function had to be changed\n  to use crypto::GenerateRSAKeyPairNSS() directly.\n- UnixDomanSocket class is now in \"base\" namespace\n- Pickle class is now in \"base\" namespace\n\nBUG\u003dchromium:496469\nTEST\u003d`./build_packages`\nCQ-DEPEND\u003dCL:277662\n\nChange-Id: I36e5fbf2e36a92068873ffbd44020c862a3ed9e3\nReviewed-on: https://chromium-review.googlesource.com/277671\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTrybot-Ready: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "6cc1d5b99f6994832595c4d0a788972e65a6ef54",
      "tree": "f98dc1d9b49c74303308b5b5bba0712624f77f73",
      "parents": [
        "b000aae2c03cc3fa6980f57993a52a81363b3518"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Fri Apr 24 18:09:32 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Apr 29 01:49:26 2015 +0000"
      },
      "message": "libchromeos: Replace scoped_ptr with std::unique_ptr in D-Bus method handlers\n\nChanged callbacks to use std::unique_ptr in D-Bus method handlers instead of\nscoped_ptr, now that we can do this with base::Callback.\nThis eliminates the need to mix scoped_ptr and std::unique_ptr in the same\ntranslation unit.\n\nSweep the code in the rest of platform2 that used libchromeos\u0027s D-Bus framework.\n\nBUG\u003dNone\nTEST\u003d`FEATURES\u003dtest emerge-link libchromeos apmanager attestation buffet chromeos-dbus-bindings`\n\nChange-Id: I50289198ef9ab183d5bc7d0c8cc7a8f53085e5a4\nReviewed-on: https://chromium-review.googlesource.com/267337\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTrybot-Ready: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nReviewed-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "b000aae2c03cc3fa6980f57993a52a81363b3518",
      "tree": "7d1ba63918cb331729a1caa7b9c9de6b55d7d10f",
      "parents": [
        "239469e41988c62504a59d4880403481e79fafd5"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Thu Apr 02 14:31:10 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Apr 03 18:33:17 2015 +0000"
      },
      "message": "platform2: Explicitly use base:: namespace with CommandLine\n\nThe current revision of libchrome is removing CommandLine class\nfrom global namespace and only retain the one in base::.\n\nSweep the code to use the correct namespace in anticpation of\nlibchrome revision roll.\n\nBUG\u003dNone\nTEST\u003d./build_packages\n\nChange-Id: Ib7ca448dac1204c1e36ab053e775a5a5214997ac\nReviewed-on: https://chromium-review.googlesource.com/263785\nTrybot-Ready: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "239469e41988c62504a59d4880403481e79fafd5",
      "tree": "77341dbffd4b254bf5ab71a01f1b90bd3ae25e9a",
      "parents": [
        "efe9df5bf7fd906c1dad13f0e00cfd27ad190dac"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@chromium.org",
        "time": "Fri Mar 27 17:07:20 2015 -0400"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Sun Mar 29 10:02:23 2015 +0000"
      },
      "message": "delete __STDC_{FORMAT,LIMIT}_MACROS\n\nWith newer glibc versions (2.18+), these macros no longer exist (and the\nfunctionality they protected are always enabled).  Delete them.\n\nBUG\u003dchromium:401360\nTEST\u003dprecq passes\n\nChange-Id: I21b0607a874b9f9e39dff050054a2928a6c55023\nReviewed-on: https://chromium-review.googlesource.com/262903\nTrybot-Ready: Mike Frysinger \u003cvapier@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Mike Frysinger \u003cvapier@chromium.org\u003e\nTested-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "efe9df5bf7fd906c1dad13f0e00cfd27ad190dac",
      "tree": "bff82907f48b9655effb9147c76ead66ca768965",
      "parents": [
        "1b6aa986ce3143dd2fe9c9ccc180f8ea9afba1e5"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@chromium.org",
        "time": "Thu Mar 12 16:02:22 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Sun Mar 15 02:41:42 2015 +0000"
      },
      "message": "chromeos-dbus-bindings: Correct ObjectManager without service name\n\nWe need to store the passed in service name and pass it to proxies\nwe create when not configured with a service name in the dbus config.\n\nBUG\u003dbrillo:581\nTEST\u003dleaderd changes which depend on this compile, unittests.\n\nChange-Id: Id53f3a0c45ac64d477ba1d723952679cc3eb1b29\nReviewed-on: https://chromium-review.googlesource.com/260014\nTested-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Christopher Wiley \u003cwiley@chromium.org\u003e\n"
    },
    {
      "commit": "1b6aa986ce3143dd2fe9c9ccc180f8ea9afba1e5",
      "tree": "35f51f61e8b950ef23c8a7e982558329862a74b7",
      "parents": [
        "1485624e77ed53a3beba5ab6433b26f31f3607a2"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@chromium.org",
        "time": "Tue Mar 10 19:33:33 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Mar 13 11:31:13 2015 +0000"
      },
      "message": "libchromeos: Replace char with std::string in string_utils API\n\nstd::string version of functions is enough to cover char use cases.\nC library was replaced with STL in Split and SplitAtFirst implementations.\nAdded support of splitting by empty string. Uses but reasonable implementation\nis simple.\n\nBUG\u003dnone\nTEST\u003dunittests\n\nChange-Id: I0778722d31a7b06eea2227b4d94991ab194195cb\nReviewed-on: https://chromium-review.googlesource.com/258640\nReviewed-by: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\nCommit-Queue: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\nTested-by: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\n"
    },
    {
      "commit": "1485624e77ed53a3beba5ab6433b26f31f3607a2",
      "tree": "ea9e46b58359abcf595021de8cac249941013de6",
      "parents": [
        "c4e01f1a41b5fce64a352f9a39f956c2586887af"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Thu Feb 26 10:16:12 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Feb 27 07:08:02 2015 +0000"
      },
      "message": "chromeos-dbus-bindings: Handle all-uppercase identifiers gracefully\n\nProperties such as \u0027UUID\u0027 were convered to \u0027u_u_i_d\u0027 while trying\nto convert \u0027CamelCase\u0027 identifier to \u0027google_style\u0027 variable name.\n\nDo not break up consecutive uppercase characters into separate\n\u0027words\u0027.\n\nBUG\u003dbrillo:387\nTEST\u003dFEATURES\u003dtest emerge-link chromeos-dbus-bindings\n\nChange-Id: I541f12e33d1c36d9ae2cf9fdba5ca9e23096fc46\nReviewed-on: https://chromium-review.googlesource.com/254180\nReviewed-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "c4e01f1a41b5fce64a352f9a39f956c2586887af",
      "tree": "43815d96509bd13c12bcf550a9ae89bbca385666",
      "parents": [
        "59dd2e90057686c1fc7978456e9b24b9688146c4"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Mon Feb 23 15:55:21 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Feb 25 23:33:19 2015 +0000"
      },
      "message": "chromeos-dbus-bindings: Generate only single proxy accessor for singletons\n\nFor D-Bus objects with single fixed object path assume that they are\nsingletons and remove the object path parameter from the proxy\naccessor ObjectManagerProxy::GetNNNProxy() method.\n\nBUG\u003dbrillo:348\nTEST\u003d`FEATURES\u003dtest emerge-link chromeos-dbus-bindings`\n     `FEATURES\u003dtest emerge-link peerd privetd buffet apmanager lorgnette`\n\nChange-Id: I29419e2db5bd0fc8a4f508804c1e322c1880a3dd\nReviewed-on: https://chromium-review.googlesource.com/252422\nTrybot-Ready: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nReviewed-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "59dd2e90057686c1fc7978456e9b24b9688146c4",
      "tree": "7cadcc87de8353374b771bd70e0cc33929624087",
      "parents": [
        "b69be601eba1d4a1d5fdd8121a93c8fb67217fc8"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Mon Feb 23 15:14:28 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Feb 25 23:32:39 2015 +0000"
      },
      "message": "chromeos-dbus-bindings: Generator must expose property name accessors\n\nD-Bus property names tend to be used in client code literally to\nvalidate the property name in property change notifications, etc.\n\nThis forces clients to hard-code the name in their code and when\nan interface definition changes in XML and new adaptor/proxies are\ngenerated, the client code is not updated but still compiles, so the\nbreaking change is hard to notice.\n\nExpose property name accessors in the generated code which makes the\nclient break at compile time if the property name is changed.\n\nBUG\u003dbrillo:348\nTEST\u003d`FEATURES\u003dtest emerge-link chromeos-dbus-bindings`\n\nChange-Id: I21bb2c06faf134aa92c923085ddeebce16806fb8\nReviewed-on: https://chromium-review.googlesource.com/252420\nReviewed-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "b69be601eba1d4a1d5fdd8121a93c8fb67217fc8",
      "tree": "e0edf18e41a222fee2108f57e202719c1722727a",
      "parents": [
        "1b4882c32998b6ae9d4e29ea5ac44e36d22e2ae7"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Mon Feb 23 14:40:42 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Feb 25 23:32:31 2015 +0000"
      },
      "message": "chromeos-dbus-bindings: Inline some of named constants in tests\n\nIn order to make tests more readable and maintainable, removed named\nconstants and use string literals in their place. Since pretty much all\nof these constants were used only once in a test, there is no benefit\nin creating a constant, but it makes it difficult to read the test and\nadd new conditions/expectations.\n\nBUG\u003dNone\nTEST\u003d`FEATURES\u003dtest emerge-link chromeos-dbus-bindings`\n\nChange-Id: I220f528f98301b7ff9f08106f9c32b3d5e87309c\nReviewed-on: https://chromium-review.googlesource.com/252353\nReviewed-by: Paul Stewart \u003cpstew@chromium.org\u003e\nReviewed-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "1b4882c32998b6ae9d4e29ea5ac44e36d22e2ae7",
      "tree": "0561ef1bc9c36ff42d470d79e5f0b68a3c786fff",
      "parents": [
        "008e19dd69bfc8439454a14df159b5a829881956"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Mon Feb 23 13:18:34 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Feb 25 03:32:57 2015 +0000"
      },
      "message": "chromeos-dbus-bindings: Add support for dbus::Message in handler params\n\nAdded a new annotation attribute (\"org.chromium.DBus.Method.IncludeDBusMessage\")\nfor \"normal\" and \"async\" methods to allow to pass the raw D-Bus message\nto the handler, so it can extract additional useful information (like\nthe message sender, etc).\n\nBUG\u003dbrillo:346\nTEST\u003d`FEATURES\u003dtest emerge-link chromeos-dbus-bindings`\n\nChange-Id: Iec2ff6154cfdbc8a36a84014688011e23762ba3a\nReviewed-on: https://chromium-review.googlesource.com/252321\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nReviewed-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "008e19dd69bfc8439454a14df159b5a829881956",
      "tree": "af8bfbd9719e268aa93afe24d5423cd23a562a85",
      "parents": [
        "e11e81c98987c5bd4b3d50f5cd0188c2b25df864"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Wed Jan 21 10:37:00 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Thu Jan 22 22:45:42 2015 +0000"
      },
      "message": "chromeos-dbus-bindings: Added proxy mock generation\n\nNow it is possible to generate Mocks for D-Bus proxy objects to\nmock out the D-Bus interfaces in tests.\n\nA new option --mock\u003d\u003cfile\u003e is added to the generator to specify\nthe output file for the mock objects. If used with --proxy,\nthe mock header file will include the proxy header file to share\nthe definition of the common interface proxy abstract interface.\nOtherwise, the mock header file will provide its own definition\nof that abstract interface.\n\nAs a result, the proxy generation has been changed to include\nthe base abstract interface for the D-Bus interface proxy class\nwhich the proxy and/or mock objects derive from.\n\nThe code using the proxy objects can be updated to pass around\nthe abstract interface instead of concrete proxy classes which\nwill make it possible to substruture proxies with mocks and\nfacilitate testing of the code using D-Bus proxies.\n\nGYP action now has another variable \u0027mock_output_file\u0027 which\ncan be used along with \u0027proxy_output_file\u0027 to control the\nlocation of the generated mock header file:\n\n\u0027actions\u0027: [\n  {\n    \u0027action_name\u0027: \u0027generate-buffet-proxies\u0027,\n    \u0027variables\u0027: {\n      \u0027dbus_service_config\u0027: \u0027dbus_bindings/dbus-service-config.json\u0027,\n      \u0027proxy_output_file\u0027: \u0027include/buffet/dbus-proxies.h\u0027\n      \u0027mock_output_file\u0027: \u0027include/buffet/dbus-mocks.h\u0027\n    },\n    \u0027sources\u0027: [\n      \u0027dbus_bindings/org.chromium.Buffet.Command.xml\u0027,\n      \u0027dbus_bindings/org.chromium.Buffet.Manager.xml\u0027,\n    ],\n    \u0027includes\u0027: [\u0027../common-mk/generate-dbus-proxies.gypi\u0027],\n  },\n],\n\nBUG\u003dchromium:449176\nTEST\u003dFEATURES\u003dtest emerge-link chromeos-dbus-bindings\n     Manually tested the generated proxy and mock classes with\n     buffet.\n\nChange-Id: I1fb84cfbfd751793df72ad5b050ee1cf00a64d62\nReviewed-on: https://chromium-review.googlesource.com/242276\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "e11e81c98987c5bd4b3d50f5cd0188c2b25df864",
      "tree": "d29ae02cb1a809a4f68a113d6fb2b3d128156462",
      "parents": [
        "f3c689780c9c0cc5fd1630f01ee05060bb696403"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@chromium.org",
        "time": "Fri Dec 19 13:10:52 2014 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Sat Dec 20 04:46:24 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: Add destructor for ObjectManagerProxy\n\nPreviously, the generated ObjectManagerProxy was registering interfaces\nwith its wrapped ObjectManager instance but not unregistering them. The\nregistered interfaces were using the ObjectManagerProxy pointer to\ncreate new property sets for the given interfaces. Unfortunately, this\nled to a race where:\n\n1) ObjectManagerProxy is destroyed\n2) dbus::Bus object receives a signal that new interface has been added\n3) ObjectManager instance previously wrapped by ObjectManagerProxy deferences\n   the pointer to the ObjectManagerProxy (now invalid)\n4) Terrible things happen here.\n\nBUG\u003dNone\nTEST\u003dgenerated proxies still compile.\n\nChange-Id: Ie1da0955088606d5cd41a1bffc131b114dc1f173\nReviewed-on: https://chromium-review.googlesource.com/236885\nCommit-Queue: Christopher Wiley \u003cwiley@chromium.org\u003e\nTested-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nReviewed-by: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\n"
    },
    {
      "commit": "f3c689780c9c0cc5fd1630f01ee05060bb696403",
      "tree": "0397b8818bfc61b2c075af9122cc74d37ec5b6f7",
      "parents": [
        "1f19109f49760b81f955c4b56ecc0529d83dd569"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Wed Dec 10 12:52:31 2014 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Mon Dec 15 07:18:09 2014 +0000"
      },
      "message": "Update libchrome to r307740 and fix build errors\n\nUpdated libchrome, libchrome_crypto, metrics, feedback to the\nlatest revisions from Chrome (r307740).\n\nFixed build breaks due to the changes in upstream code:\n\n- scope_ptr no longer needs explicit PassAs\u003cT\u003e() calls.\n- scope_ptr\u003cT\u003e no longer has implicit conversion to T*.\n  Must use scope_ptr\u003cT\u003e::get() instead.\n- base/file_util.h moved to base/files/file_util.h\n- ARRAYSIZE_UNSAFE() removed in favor of arraysize()\n- base::AppendToFile() and base::WriteFileDescriptor() now\n  return bool instead of the number of bytes written.\n- dbus::Bus::AddFilterFunction() now returns void.\n- C++11 features are enabled in libchromeos, so all targets\n  linking with it now have to support C++11\n- OVERRIDE macro is removed in favor of native C++11\n  \u0027override\u0027 keyword.\n\nBUG\u003dchromium:416628, chromium:411508\nTEST\u003dBuild the world on x86, x64, ARM. The following builders\n     were tried:\n       x86-generic-full amd64-generic-full arm-generic-full\n       amd64-generic-asan daisy-full nyan-full pre-cq-group\n       daisy-release-group sandybridge-release-group\n       pineview-release-group\nCQ-DEPEND\u003dCL:234450,CL:234980\n\nChange-Id: I374bebe2211d533c4431c82efb8be1cdcb1f405d\nReviewed-on: https://chromium-review.googlesource.com/234440\nReviewed-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "1f19109f49760b81f955c4b56ecc0529d83dd569",
      "tree": "301a57b291a189bc5734c5dd3885434e62e06d11",
      "parents": [
        "c4e32f54a834739eefbf4b651bb9692bd58da043"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@chromium.org",
        "time": "Tue Dec 09 19:11:43 2014 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Dec 10 20:52:17 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: write access property support\n\nDBus properties are default to read-only, so update the access mode\nfor properties that have write access. Also set the validator callback\nfor those properties as well.\n\nApplications can override the validate method to provide their own\nimplementation for verifying the value for each writable property.\n\nBUG\u003dchromium:440139\nTEST\u003dUSE\u003d\"asan clang\" FEATURES\u003dtest emerge-$BOARD libchromeos buffet\n     apmanager peerd\n\nChange-Id: I3c8fd90218bb194f86fad7e9d76ff51f0e0861ec\nReviewed-on: https://chromium-review.googlesource.com/234281\nReviewed-by: Peter Qiu \u003czqiu@chromium.org\u003e\nCommit-Queue: Peter Qiu \u003czqiu@chromium.org\u003e\nTested-by: Peter Qiu \u003czqiu@chromium.org\u003e\n"
    },
    {
      "commit": "c4e32f54a834739eefbf4b651bb9692bd58da043",
      "tree": "7b7df9ef9a88dcccdfc1c7cb2cfac5e1d7ef79f5",
      "parents": [
        "824b5246a3ab5c70d32938ed9c3b982f5624dfe9"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Thu Dec 04 08:28:49 2014 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Dec 05 01:09:41 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: Add asynchronous method proxies and timeouts\n\nAdded async versions of proxy methods and also optional timeout\nparameter when calling D-Bus methods. If the timeout is not specified,\na D-Bus default value is used.\n\nBUG\u003dchromium:431736\nTEST\u003dFEATURES\u003dtest emerge-link chromeos-dbus-bindings\n\nChange-Id: I3104d8b3c54809c352e361b199d37a4206bb58dc\nReviewed-on: https://chromium-review.googlesource.com/233180\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nReviewed-by: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "824b5246a3ab5c70d32938ed9c3b982f5624dfe9",
      "tree": "5718aae34948449c487e7a121a40315fd79ef734",
      "parents": [
        "e2a3338c9b7a772c2e7a2ab7d41551262f00cfeb"
      ],
      "author": {
        "name": "Christopher Wiley",
        "email": "wiley@chromium.org",
        "time": "Wed Dec 03 11:58:01 2014 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Dec 05 00:02:01 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: Use per signal handlers\n\nWhen we use a delegate, we\u0027re forced into a situation where:\n\n1) Some object must manage the lifetime of both the delegate and the\n   proxy\n2) We can continue to receive callbacks on the signal handler until\n   we detach the proxy from the Bus\n\nHowever, there is not a great mechanism to coordinate the lifetime\nof the managing object with the required lifetime of the delegate\nobject.  If we ever reach the destructor of the managing object,\nit is too late to try and tear down the proxy and its signal delegate.\n\nBUG\u003dchromium:438728\nTEST\u003dunittests and generated code compiles.\n\nChange-Id: Ia6f8080b069f4aa6d1b92b1ca612e3d69eee88a7\nReviewed-on: https://chromium-review.googlesource.com/233009\nReviewed-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nTested-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nCommit-Queue: Christopher Wiley \u003cwiley@chromium.org\u003e\n"
    },
    {
      "commit": "e2a3338c9b7a772c2e7a2ab7d41551262f00cfeb",
      "tree": "82dec0cb0873f5818a2b2db9906b490b6eed5253",
      "parents": [
        "99e8fb04c1176e856026f14fd9ffc04b66115e0c"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Wed Dec 03 10:44:08 2014 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Dec 04 00:00:53 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: Add \"ignore_interfaces\" option to config.json\n\nSome services (e.g. Avahi) include system interfaces such as\norg.freedesktop.DBus.Introspectable as part of their object\ndescription.\n\nThis causes problems when generating multiple proxies since the\nsame interface is included more than once and the resutling proxy\ncode fails to compile.\n\nAdd an optional setting \"ignore_interfaces\" to the config .json\nfile to allow to list the interfaces we are not interested in.\n\nAlso, it turns out that a lot of places use \"/\" object path\nlegitimately, so I removed that extra hacky check for \"/\" path\nand treating it as if not specified. If some objects do use\n\"/\" incorrectly, their XML files should be fixed to omit\n\u003cname\u003e attribute on interface completely.\n\nBUG\u003dchromium:438685\nTEST\u003dFEATURES\u003dtest emerge-link chromeos-dbus-bindings\n\nChange-Id: I692e4621f3d36e683a21f96b72bb147b2dd8d88a\nReviewed-on: https://chromium-review.googlesource.com/232865\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nReviewed-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "99e8fb04c1176e856026f14fd9ffc04b66115e0c",
      "tree": "1886d52816eba601c4b00a5847ed851a8d63863c",
      "parents": [
        "355d7ceb80c699ecfa0bfe7d08f134801037ac9d"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Mon Dec 01 17:22:03 2014 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Dec 03 06:10:18 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: Add support for ObjectManager/Properties\n\nWhen generating D-Bus object proxy classes, add support for D-Bus\nObject Manager proxy and properties on D-Bus objects.\n\nBUG\u003dchromium:431737\nTEST\u003dFEATURES\u003dtest emerge-link chromeos-dbus-bindings\n\nChange-Id: I4d399fc5ed9613e7c51a7b489383fada184e498f\nReviewed-on: https://chromium-review.googlesource.com/232532\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nReviewed-by: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "355d7ceb80c699ecfa0bfe7d08f134801037ac9d",
      "tree": "d9562dae254d46f629695386d55d83ee02d9bc9a",
      "parents": [
        "0a86514094bf9ed17f7cd576a41edf723d4a7b30"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Mon Dec 01 12:51:07 2014 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Dec 03 05:02:58 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: Extract common code into functions\n\nMoved common code used to parse D-Bus object/interface names\nsuch as \"org.chromium.TestInterface\" into a class, NameParser.\nThis allows it to be used to extract the nested namespaces,\nproduce properly-formed variable names and so on.\n\nDid the same with generating const references for non-integral\ntypes.\n\nBUG\u003dchromium:431737\nTEST\u003dFEATURES\u003dtest emerge-link chromeos-dbus-bindings\n\nChange-Id: I011639b9c7c355fd0e693b200840811a6e3c33ca\nReviewed-on: https://chromium-review.googlesource.com/232404\nReviewed-by: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nReviewed-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "0a86514094bf9ed17f7cd576a41edf723d4a7b30",
      "tree": "2282566e8f3f9954493f1d38e4f8265780cbfc00",
      "parents": [
        "6ef2d737ce25f4c0debcf87d5f5909289ce15adf"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Wed Nov 26 08:44:50 2014 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Nov 27 03:26:35 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: Minor code formatting and comment fixes\n\nMade minor code formatting changes to the generated code and fixed\ncomment generation from \u003ctp:docstring\u003e element to maintain relative\nin-comment indentation as seen in peerd\u0027s Service.xml file.\n\nSo the comment tag like this:\n      \u003ctp:docstring\u003e\n        A list of IP addresses, each composed of:\n        - an array of bytes containing the octets of the IP\n          address (either an IPv4 or an IPv6 address)\n        - a 16 bit port number.\n      \u003c/tp:docstring\u003e\n\nWould become a code comment like this:\n\n  // A list of IP addresses, each composed of:\n  // - an array of bytes containing the octets of the IP\n  //   address (either an IPv4 or an IPv6 address)\n  // - a 16 bit port number.\n\nBUG\u003dNone\nTEST\u003dFEATURES\u003dtest emerge-link chromeos-dbus-bindings\n     Manually inspect the generated proxy/adapters for\n     existing components (buffet, peerd, privetd).\n\nChange-Id: I794533a26a75991a9a89382f185df721a1b53793\nReviewed-on: https://chromium-review.googlesource.com/232060\nReviewed-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nReviewed-by: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "6ef2d737ce25f4c0debcf87d5f5909289ce15adf",
      "tree": "dd115a392689e4c52b2f874e0ad38989f95c7ebc",
      "parents": [
        "d1150f95cc49218b7bc50120278b52a02ce12c15"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Tue Nov 25 14:04:27 2014 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Nov 27 03:23:00 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: Use object path and service name in generated code\n\nTo eliminate unnecessary dependencies on string constants from D-Bus\nservice providers, allow generated proxies extract fixed object paths\nfrom the \u0027name\u0027 attribute of \u003cnode\u003e in the XML file (if available) and\nbe able to pass in additional the D-Bus service configuration parameters\n(such as D-Bus service name) as input to the generator, so that the proxy\ncode knows these values too and the caller doesn\u0027t have to provide this\ninformation.\n\nWith these changes the object path and/or service names become embedded\ninto the generated proxies and are no longer required to be provided as\nparameters to the constructors. If there are multiple instances of D-Bus\nobjects with the same interface are available (or the object could\nappear at different bus paths), the path cannot be embedded into\nthe proxy and must still be provided in the constructor of the generated\nclass.\n\nThe service config can now be provided in --service-config\u003d... argument\nto the generator which is expected to be a JSON file.\nIf the service name it is not specified, the generated proxy code will\nrequire this parameter in the constructor call, as before.\n\nAlso updated other targets that use the proxy generator to follow the\nnew constructor syntax (buffet, peerd, privetd).\n\nBUG\u003dchromium:431737\nTEST\u003dFEATURES\u003dtest emerge-link chromeos-dbus-bindings peerd buffet privetd\n\nChange-Id: I4bb8387a9b21b75e3508fa13d14b79fbe653c929\nReviewed-on: https://chromium-review.googlesource.com/231920\nReviewed-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nReviewed-by: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "d1150f95cc49218b7bc50120278b52a02ce12c15",
      "tree": "f432135a655c9ca69e69f02fdc848c485b7333b8",
      "parents": [
        "c95f06bd6f672f408c5f77948781392098f52a86"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Fri Nov 21 08:57:57 2014 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Sat Nov 22 09:35:02 2014 +0000"
      },
      "message": "buffet: Moved D-Bus definitions to XML/Code generator\n\nMoved D-Bus interface definitions for buffet to XML files and using\nthe code generator to produce adaptors/proxies. Switched over the\nimplementations of objects to using the generated adaptors and using\nthe generated proxies in buffet_client.\n\nSome more work on proxy generator is required to switch over the\nusage of Command/CommandListener in libbuffet to using the generated\nproxies, since the generator does not support D-Bus properties or\nObject Manager yet.\n\nBUG\u003dchromium:435591\nTEST\u003dFEATURES\u003dtest emerge-link buffet\n\nChange-Id: If010ee70b356d146e4a35a7301a753c9c54377f5\nReviewed-on: https://chromium-review.googlesource.com/231350\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "c95f06bd6f672f408c5f77948781392098f52a86",
      "tree": "aaef3982d93c4edc14dd04e7771de05e6dcf6be2",
      "parents": [
        "4f3c05eed11d5f1e279313bafb1d8d693774d35f"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Thu Nov 20 15:06:09 2014 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Sat Nov 22 01:40:51 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: passing multiple input files on command line\n\nWhen generating D-Bus proxies for objects under D-Bus Object Manager\ncontrol, it is important to group all the proxies and tie them to\na single instance of Object Manager proxy that knows about the\nsubordinate interfaces and their properties.\n\nIn order to do this, multiple source XML files will be grouped into\none proxy header file, complete with all the proxy interfaces, signal\nhandlers as well as a single Object Manager proxy class that manages\nall those proxies (this part will be done in a separate CL).\n\nIn order to supply more than one source XML file to the generator\nexecutable, remove --input switch and let the files be passed directly.\n\nGYP files that import proxies from other projects will need to do so\nfor more than one source target, so they can use a single GYP rule\nas was defined in generate-dbus-bindings.gypi. However, that rule\nis totally acceptable for generating adaptors, so, renamed the\ngenerate-dbus-bindings.gypi into generate-dbus-adaptors.gypi to\nbe more specific and simplified it a bit.\n\nAlso made generated object proxies to allow explicit releasing of the\nunderlying dbus::ObjectProxy from the dbus::Bus. This is cannot be done\nin the constructor since dbus::Bus::RemoveObjectProxy is an asynchronous\ncall and requires a message loop to be executed. For clients such as\nbuffet_client that doesn\u0027t have a message loop, removing the proxy\nin the destructor causes a crash. For clients like Shill who need to\nkeep the bus clean, they can call ReleaseObjectProxy() before destroying\nthe proxy object.\n\nBUG\u003dchromium:431737\nTEST\u003dFEATURES\u003dtest emerge-link chromeos-dbus-bindings lorgnette apmanager\n\nChange-Id: I6737c155c528f46d480d51aaf8420a1dad00f83e\nReviewed-on: https://chromium-review.googlesource.com/231155\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nReviewed-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "4f3c05eed11d5f1e279313bafb1d8d693774d35f",
      "tree": "d3e3a4840c2b790a2c202719ce2e994219224a5d",
      "parents": [
        "fafef1300f94cada37c4fac0e0c7ba46aeee5ad1"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Wed Nov 12 15:01:46 2014 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Nov 20 23:03:45 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: Add support for STRUCT and typed async methods\n\nThe async method handlers in libchromeos have been changed to use\nstrongly typed response objects. This change mainly changes the\nadapter generator to produce the correct signatures for the async\nadapter methods.\n\nIn the attempt to support existing XML files from shill and\nmodemmanager I implemented some features that are required there:\n\n1. Allow nested \u003cnode\u003e elements (which are still ignored but at\n   least parsing of XML files doesn\u0027t fail.\n2. Add support for \u003ctp:docstring\u003e element to extract comments\n   from interface/method/signal/property definitions and add\n   then to adaptor/proxy code which should help user to make\n   sense of method intentions.\n3. Added support for STRUCT D-Bus types (...). Now using\n   std::tuple\u003c\u003e to represent D-Bus structures.\n4. a{sv} are converted to chromeos::VariantDictionary instead of\n   std::map\u003cstd::string, chromeos::Any\u003e which is shorter and\n   being very popular type in D-Bus, makes a few generated\n   function signatures neater.\n5. Added support for \"org.freedesktop.DBus.GLib.Async\" annotation\n   to be an alias for \"org.chromium.DBus.Method.Kind\"\u003d\"async\".\n6. Fixed chromeos::string_utils::Split() to eliminate empty\n   strings if they were created by trimming all-whitespace\n   elements of the split array.\n\nBUG\u003dNone\nTEST\u003dFEATURES\u003dtest emerge-link chromeos-dbus-bindings\n\nChange-Id: I73cf13819128ca5fca9e9188d162d120b737cf1f\nReviewed-on: https://chromium-review.googlesource.com/229430\nReviewed-by: Paul Stewart \u003cpstew@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "fafef1300f94cada37c4fac0e0c7ba46aeee5ad1",
      "tree": "66f335624af7de6436aaac780bd40dce477ebbde",
      "parents": [
        "dd885751db1da01f14c873484e1344378614108a"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Mon Nov 03 14:52:09 2014 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Nov 06 06:32:43 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: Redesign due to underlying DBusObject change.\n\nDBusObject method handlers have been changed to allow for async\nmethod handlers. D-Bus proxy generator is changing accordingly\nto reflect the underlying implementation change.\n\nNow it is possible to generate asyc-ready method handlers by\nadding annotations to the method elements in the source XML file.\nWith the \"org.chromium.DBus.Method.Kind\" attribute on a method\ndescription element, you can now control which of the four\nsupported method handers are to be used:\n\n- \"normal\" (default): the handler signature is as follows:\n\n  bool Handler(ErrorPtr* error, const Type1\u0026 in1, const Type2\u0026 in2, ...\n               Type3* out1, Type4* out2, ...);\n\n- \"simple\": the handler does not fail and hence does not return\n  any error information. One of the following two signatures:\n\n  RetType Handler(const Type1\u0026 in1, const Type2\u0026 in2, ...);\n  void Handler(const Type1\u0026 in1, const Type2\u0026 in2, ...,\n               Type3* out1, Type4* out2, ...);\n\n- \"async\": is a possibly asynchronous method handler:\n\n  void Handler(scoped_ptr\u003cDBusMethodResponse\u003e response,\n               const Type1\u0026 in1, const Type2\u0026 in2, ...);\n\n- \"raw\": the fully custom specialty handler that allows\n  raw implementation of D-Bus method with no additional framework:\n\n  void Handler(dbus::MethodCall* method_call, ResponseSender sender);\n\nAs part of this change, it was also possible to provide implementations\nfor methods returning more than one value.\n\nA method element can also specify that the method handler can be\nmarked as \u0027const\u0027 in the C++ adapter by adding the following attribute\nwith the value of \"true\": \"org.chromium.DBus.Method.Const\"\n\nAnother significant change to the D-Bus binding generator is the\nsupport of multiple interfaces per D-Bus object. Now the XML file\ncan list multiple \u003cinterface\u003e tags for a class node. This makes the\ngenerator to create the abstract C++ interface adaptors that contain\nprotorypes for all the methods, signals and properties for that interface.\n\nThe final interface implementation class derives from one or more adaptor(s)\nand implements the actual interface methods.\n\nFinally, updated lorgnette to use the new generated adaptor for its\nD-Bus interfaces.\n\nBUG\u003dchromium:419271, chromium:420925, chromium:428390\nTEST\u003dFEATURES\u003dtest emerge-link chromeos-dbus-bindings\n\nChange-Id: I02d1fc2e21a230e0f4c959c54ed7c71490945b12\nReviewed-on: https://chromium-review.googlesource.com/227281\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "dd885751db1da01f14c873484e1344378614108a",
      "tree": "7a139d2ba2d5ba73823490d544d5682fa2b9f368",
      "parents": [
        "b19e92f93f5cd73fa19a65f6a5b2205fe47fc41c"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@chromium.org",
        "time": "Sun Nov 02 16:00:46 2014 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Mon Nov 03 22:09:54 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: Add support for DBus Property\n\nIt is desired to have this tool auto generate codes for DBus Property,\nboth registering property to the DBus interface and prvoiding accessor\nfunctions for the property. This make adding DBus property much easier\nfor the application developers.\n\nThe accessor functions are named based on the property name (GetPropertyName\nand SetPropertyName). So the developer doesn\u0027t need to know the actual\nvariable name being used.\n\nNote that DBus spec requires the user to specify access permission for the\nproperty, which is not currently supported by chrome-dbus (always read/write\nwith write operation not supported). So this attribute is currently a noop.\n\nExample:\n\u003cproperty name\u003d\"InterfaceName\" type\u003d\"s\" access\u003d\"read\"/\u003e\n\ndbus_interface_-\u003eAddProperty\n    \"InterfaceName\",\n    \u0026interface_name_);\n\nstd::string GetInterfaceName() const {\n  return interface_name_.GetValue.Get\u003cstd::string\u003e();\n}\nvoid SetInterfaceName(\n    const std::string\u0026 interface_name) {\n  interface_name_.SetValue(interface_name);\n}\n\nchromeos::dbus_utils::ExportedProperty\u003cstd::string\u003e\n    interface_name_;\n\nBUG\u003dchromium:429027\nTEST\u003dunittests, emerge apmanager with DBus property binding\n\nChange-Id: Ib05af799afdbe63d740c75196f6967b2b11f1748\nReviewed-on: https://chromium-review.googlesource.com/226946\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Peter Qiu \u003czqiu@chromium.org\u003e\nTested-by: Peter Qiu \u003czqiu@chromium.org\u003e\n"
    },
    {
      "commit": "b19e92f93f5cd73fa19a65f6a5b2205fe47fc41c",
      "tree": "2bad12b011ceba89f17fba6f13b27ef6aef9d1fe",
      "parents": [
        "a6153c9c655b30ebf4046c8f59ba3fdfddf885cd"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Thu Oct 23 23:04:11 2014 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Mon Oct 27 21:44:50 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: Add support for sending signals from the adaptor.\n\nThis patch creates helper methods in the Adaptor to send the defined\nsignals with the right signature.\n\nBUG\u003dchromium:426531\nTEST\u003dUnittests\n\nChange-Id: Ib9b9c2bc125a3edbff368d3a2bccb80ba06ba089\nReviewed-on: https://chromium-review.googlesource.com/225306\nReviewed-by: Paul Stewart \u003cpstew@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "a6153c9c655b30ebf4046c8f59ba3fdfddf885cd",
      "tree": "d8431fb0147c0dee6da5a0b9d22e1fd35dc3d0d2",
      "parents": [
        "1dce1ae6ca266668e37d6bc4009692bbc12e2bb6"
      ],
      "author": {
        "name": "Paul Stewart",
        "email": "pstew@chromium.org",
        "time": "Thu Oct 23 08:24:58 2014 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Oct 24 01:38:01 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: Add bus parameter to adaptor constructor\n\nTake both an object manager and bus pointer For callers who wish\nnot to use an object manager.\n\nBUG\u003dchromium:426408\nTEST\u003dUnit tests + compile lorgnette\n\nChange-Id: I74d0405e0122ac058430c06d001076d3edcc1fde\nReviewed-on: https://chromium-review.googlesource.com/225157\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Paul Stewart \u003cpstew@chromium.org\u003e\nCommit-Queue: Paul Stewart \u003cpstew@chromium.org\u003e\n"
    },
    {
      "commit": "1dce1ae6ca266668e37d6bc4009692bbc12e2bb6",
      "tree": "f011b54360c1d19b5250ca5143aed75628db325c",
      "parents": [
        "99010b6c94b0bdf45cca07e60cb6795dca94d031"
      ],
      "author": {
        "name": "Paul Stewart",
        "email": "pstew@chromium.org",
        "time": "Wed Oct 01 05:30:18 2014 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Sat Oct 04 21:08:42 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: Create proxy generator\n\nConsolidate common functions to a parent HeaderGenerator class,\nand create a new ProxyGenerator class.  This new class converts\nfrom native C++ method calls to D-Bus method invocations.  It\nalso takes an interface class (populated with default null\nimplementations) for all signals supported by the interface.\n\nCQ-DEPEND\u003dCL:221015\nBUG\u003dchromium:404505\nTEST\u003dNew unit test\n\nChange-Id: Id6ed1f6f6e0868f32911a96e23e3dc74c9df0212\nReviewed-on: https://chromium-review.googlesource.com/221365\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Paul Stewart \u003cpstew@chromium.org\u003e\nTested-by: Paul Stewart \u003cpstew@chromium.org\u003e\n"
    },
    {
      "commit": "99010b6c94b0bdf45cca07e60cb6795dca94d031",
      "tree": "5520646a4011126effd9f775fb67755ab817f16d",
      "parents": [
        "cc0b8b16d1e2b5d286ef2bad41be978fa4a887ef"
      ],
      "author": {
        "name": "Paul Stewart",
        "email": "pstew@chromium.org",
        "time": "Wed Oct 01 15:24:43 2014 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Oct 03 09:09:41 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: Leave method interface unadorned\n\nDo not prefix the adaptor method interface with a class name.\nSince it is wrapped in the adaptor, it is unambiguous to just\ncall it MethodInterface.\n\nBUG\u003dNone\nTEST\u003dUnit test, rebuild platform2\n\nChange-Id: Idaaab1291fbbb1d153050f8f82ff087633fcc12f\nReviewed-on: https://chromium-review.googlesource.com/221232\nReviewed-by: Paul Stewart \u003cpstew@chromium.org\u003e\nTested-by: Paul Stewart \u003cpstew@chromium.org\u003e\nCommit-Queue: Paul Stewart \u003cpstew@chromium.org\u003e\n"
    },
    {
      "commit": "cc0b8b16d1e2b5d286ef2bad41be978fa4a887ef",
      "tree": "17f4093a9cd56a3eaa239f36f5cea57c818b31c8",
      "parents": [
        "8d62c293a157f403668a590f4ca20d60e33a5a55"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Thu Oct 02 08:03:21 2014 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Oct 02 20:51:09 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: Move INFO  messages to verbose output only.\n\nchromeos-dbus-bindings is used while building other projects, so it\nshould remain silent unless there\u0027s a message worth displaying as an\nerror. The XML parsing messages (normal parsing) were moved to\nVLOG(1) instead of LOG(INFO). Two other normal messages from main\n(repeating the destination passed via command line interface) were\nalso moved to VLOG(1).\n\nchromeos-dbus-bindings uses the base::logging system, that should be\ninitialized explicitly and parses some standard flags from the command\nline.\n\nBUG\u003dNone\nTEST\u003dunittest passed. `chromeos-dbus-bindings -v\u003d1 ...` prints these logs, without `v\u003d1` it doesn\u0027t.\n\nChange-Id: I2ea010f00a22887c0919308db63d842fb13acb6d\nReviewed-on: https://chromium-review.googlesource.com/221027\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Paul Stewart \u003cpstew@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "8d62c293a157f403668a590f4ca20d60e33a5a55",
      "tree": "1e86345d0252a963bc23cb0e98f491a149399054",
      "parents": [
        "bb784db8417f52e9c06642f010f7d094cca9ad6c"
      ],
      "author": {
        "name": "Paul Stewart",
        "email": "pstew@chromium.org",
        "time": "Wed Oct 01 05:40:57 2014 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Oct 02 07:02:47 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: Ignore multi-return methods\n\nMultiple return arguments are legal in D-Bus.  Instead of throwing\na fatal error, ignore methods of this sort in the adaptor\ngenerator, since libchromeos currently cannot automatically\ngenerate returns for such methods.\n\nWhile here, provide a protected getter to the DBus interface\npointer, so subclasses can register their own methods.\n\nBUG\u003dchromium:419271\nTEST\u003dModified unit tests\n\nChange-Id: Idd4ed43ee4cb8fa4249d666d85cadcb465c39cc1\nReviewed-on: https://chromium-review.googlesource.com/220750\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Paul Stewart \u003cpstew@chromium.org\u003e\nTested-by: Paul Stewart \u003cpstew@chromium.org\u003e\n"
    },
    {
      "commit": "bb784db8417f52e9c06642f010f7d094cca9ad6c",
      "tree": "d296e82f6788c1093cde25cf823ee792c0359695",
      "parents": [
        "b9b3f9d3654f15b221f47f5f24bd874102a27ed2"
      ],
      "author": {
        "name": "Paul Stewart",
        "email": "pstew@chromium.org",
        "time": "Fri Sep 26 19:39:12 2014 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Mon Sep 29 20:28:08 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: Make direction paramter optional for methods\n\nSome generated XML interfaces do not contain \"direction\" paramters\nfor input arguments to methods.  The wording in the DTD is SHOULD,\nso we should not be too pedantic about it.\n\nBUG\u003dNone\nTEST\u003dModified unit test\n\nChange-Id: Id116d5c9da850a5407abf3d889c893fef8d0d77b\nReviewed-on: https://chromium-review.googlesource.com/220203\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Paul Stewart \u003cpstew@chromium.org\u003e\nCommit-Queue: Paul Stewart \u003cpstew@chromium.org\u003e\n"
    },
    {
      "commit": "b9b3f9d3654f15b221f47f5f24bd874102a27ed2",
      "tree": "58e7580dcd397bc43e41ae690e1216a006f9fcc2",
      "parents": [
        "3b340b88d7e6593882d6c4be4174891f546282af"
      ],
      "author": {
        "name": "Paul Stewart",
        "email": "pstew@chromium.org",
        "time": "Wed Sep 10 15:12:39 2014 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Sep 26 03:23:48 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: Generate Interface\n\nGenerate an interface class that contains pure-virtual methods\nfor each method supported by the interface.  Also generate a\ncontroller that registers these methods with an exported DBus\ninterface.\n\nBUG\u003dchromium:404505\nTEST\u003dNew unit test\n\nChange-Id: Ib9eacdd822982e6e992d10fc21a4eec804489b45\nReviewed-on: https://chromium-review.googlesource.com/218749\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Paul Stewart \u003cpstew@chromium.org\u003e\nTested-by: Paul Stewart \u003cpstew@chromium.org\u003e\n"
    },
    {
      "commit": "3b340b88d7e6593882d6c4be4174891f546282af",
      "tree": "4d0087557629e13e112235dc139a13dd5677a791",
      "parents": [
        "340615f4dd580a9d5187b2cb8eff5d042624de0f"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Wed Sep 24 11:09:43 2014 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Sep 25 04:10:00 2014 +0000"
      },
      "message": "Remove \u0027../platform2/\u0027 from platform2 relative paths in gyp files.\n\nThe paths in platform2 gyp files are relative to the gyp file so they\ndon\u0027t require to have \u0027../platform2/\u0027 in them.\n\nBUG\u003dNone\nTEST\u003dcbuildbot amd64-generic-full arm-generic-full\n\nChange-Id: I4da32969fc4956df14e9d3685f790565cd33d20f\nReviewed-on: https://chromium-review.googlesource.com/219788\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "340615f4dd580a9d5187b2cb8eff5d042624de0f",
      "tree": "fdff996cd6d38c33680adb574db3dcec3c706bd2",
      "parents": [
        "0e3301aa8024df8ff895d9700f97e809cad2cf5e"
      ],
      "author": {
        "name": "Paul Stewart",
        "email": "pstew@chromium.org",
        "time": "Mon Sep 08 10:59:43 2014 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Sep 09 21:00:40 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: Address unused warnings\n\nplatform2 builds appear to have gained the \"-Wunused-parameter\"\nflag by default.  It turns out that base/memory/scoped_ptr.h:117\nviolates this, and while no module in chromeos-dbus-bindings uses\nor includes scoped_ptr directly, it is included in a chain that\nstats with \"base/file_util.h\".  As such it is necessary to turn\nthis warning off.\n\nAlso, since the compiler does not understand LOG(FATAL), it also\ncomplains that argument_list might be used uninitialized in\nXmlInterfaceParser::AddMethodArgument.  Fix this by initializing\nto nullptr.\n\nBUG\u003dNone\nTEST\u003dUnit tests\n\nChange-Id: If8f02a6bbdd21c524e5ba6cf6dcee2e3880e12f8\nReviewed-on: https://chromium-review.googlesource.com/217071\nReviewed-by: Ben Chan \u003cbenchan@chromium.org\u003e\nTested-by: Paul Stewart \u003cpstew@chromium.org\u003e\nCommit-Queue: Paul Stewart \u003cpstew@chromium.org\u003e\n"
    },
    {
      "commit": "0e3301aa8024df8ff895d9700f97e809cad2cf5e",
      "tree": "01ec286b1b77c1b8427056703a3876e0b551a754",
      "parents": [
        "154cad5f50f22e473237bb2ead8b5789180cfe2f"
      ],
      "author": {
        "name": "Paul Stewart",
        "email": "pstew@chromium.org",
        "time": "Wed Sep 03 19:01:54 2014 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Sep 05 04:10:43 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: Add D-Bus signature parser\n\nAdd a utility for converting a D-Bus signature into the C++\ntypename equivalent.\n\nBUG\u003dchromium:404505\nTEST\u003dNew unit test\n\nChange-Id: I05b51014741f001089dfcbbab6eb1a0b6f96d888\nReviewed-on: https://chromium-review.googlesource.com/216491\nReviewed-by: Paul Stewart \u003cpstew@chromium.org\u003e\nCommit-Queue: Paul Stewart \u003cpstew@chromium.org\u003e\nTested-by: Paul Stewart \u003cpstew@chromium.org\u003e\n"
    },
    {
      "commit": "154cad5f50f22e473237bb2ead8b5789180cfe2f",
      "tree": "efce6398d97b43d3d61cb5ebc5f51adbf46a200c",
      "parents": [
        "2b1c6124a7c74225e231132a68e1a92723a26da9"
      ],
      "author": {
        "name": "Paul Stewart",
        "email": "pstew@chromium.org",
        "time": "Tue Aug 19 21:18:12 2014 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Sep 05 01:16:48 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: Add method name generator\n\nCreate a trivial generator for string constants for each method\nin the interface.  It is assumed that in usage the referring\nheader will enclose an \"#include\" with the appropriate namespace.\n\nBUG\u003dchromium:404505\nTEST\u003dNew unit test\n\nChange-Id: I2cc2a54663e09718b2a50c87d9029bb4bb2b4865\nReviewed-on: https://chromium-review.googlesource.com/215133\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Paul Stewart \u003cpstew@chromium.org\u003e\nTested-by: Paul Stewart \u003cpstew@chromium.org\u003e\n"
    },
    {
      "commit": "2b1c6124a7c74225e231132a68e1a92723a26da9",
      "tree": "082bcc8fa57d88b8a8ab2d45b791d27ef92feff1",
      "parents": [
        "4a4c706fa989e4643cb5b3d675656586b42d8950"
      ],
      "author": {
        "name": "Paul Stewart",
        "email": "pstew@chromium.org",
        "time": "Tue Aug 19 21:18:12 2014 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Sep 05 01:16:38 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: XML parser\n\nAdd an expat-based XML parser to parse an XML interface\ndescription into a structure.\n\nBUG\u003dchromium:404505\nTEST\u003dNew unit tests\n\nChange-Id: Ibc8e2b50d7e33ff209158962db3f6f97b8cfac97\nReviewed-on: https://chromium-review.googlesource.com/213242\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Paul Stewart \u003cpstew@chromium.org\u003e\nTested-by: Paul Stewart \u003cpstew@chromium.org\u003e\n"
    },
    {
      "commit": "4a4c706fa989e4643cb5b3d675656586b42d8950",
      "tree": "7187a7a1a94eee2f4a7988119907c28d8c374797",
      "parents": [],
      "author": {
        "name": "Paul Stewart",
        "email": "pstew@chromium.org",
        "time": "Mon Aug 18 20:19:51 2014 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Sep 03 22:48:23 2014 +0000"
      },
      "message": "chromeos-dbus-bindings: Add skeleton\n\nThis CL proposes the place and name of a new utility to generate\nD-Bus bindings for the chrome-dbus library from XML interface\ndescriptions.\n\nBUG\u003dchromium:404505\nTEST\u003dUsing upcoming CL:213030 and \"emerge-falco chromeos-dbus-bindings\"\n\nChange-Id: Iec706361935ef563df6f329d032ff015b2a22bb5\nReviewed-on: https://chromium-review.googlesource.com/213008\nReviewed-by: Ben Chan \u003cbenchan@chromium.org\u003e\nTested-by: Paul Stewart \u003cpstew@chromium.org\u003e\nCommit-Queue: Paul Stewart \u003cpstew@chromium.org\u003e\n"
    }
  ]
}
