)]}'
{
  "commit": "2f28d2ff9dce3c404b36e90e64541a4d48daf0ca",
  "tree": "bbb62df5cb7583f22ebe05f962fc2d5bfaca1e08",
  "parents": [
    "6fc4925bf612e00c149d23ef1761dedc8aae1a46"
  ],
  "author": {
    "name": "Anthony Liguori",
    "email": "aliguori@us.ibm.com",
    "time": "Sat Dec 03 17:10:08 2011 -0600"
  },
  "committer": {
    "name": "Anthony Liguori",
    "email": "aliguori@us.ibm.com",
    "time": "Fri Jan 27 10:28:30 2012 -0600"
  },
  "message": "qom: add the base Object class (v2)\n\nThis class provides the main building block for QEMU Object Model and is\nextensively documented in the header file.  It is largely inspired by GObject.\n\nSigned-off-by: Anthony Liguori \u003caliguori@us.ibm.com\u003e\n---\nv1 -\u003e v2\n - remove printf() in type registration\n - fix typo in comment (Paolo)\n - make Interface private\n - move object into a new directory and move header into include/qemu/\n - don\u0027t make object.h depend on qemu-common.h\n - remove Type and replace it with TypeImpl * (Paolo)\n - use hash table to store types (Paolo)\n - aggressively cache parent type (Paolo)\n - make a type_register and use it with interfaces (Paolo)\n - fix interface cast comment (Paolo)\n - add a few more functions required in later series\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "917fb9bd7dd33d042c90ea11c313436bc3f96f2c",
      "old_mode": 33188,
      "old_path": "Makefile",
      "new_id": "d172cbfab64ffad890bf156f74364bbdd78f18d2",
      "new_mode": 33188,
      "new_path": "Makefile"
    },
    {
      "type": "modify",
      "old_id": "63eb7e40be7264268cbed33567b54f80f96bb2aa",
      "old_mode": 33188,
      "old_path": "Makefile.hw",
      "new_id": "7b8d068c94270f119ab4e0d7f7518a4742c5d491",
      "new_mode": 33188,
      "new_path": "Makefile.hw"
    },
    {
      "type": "modify",
      "old_id": "06a147b0b0ed93fcadce308fdf0b152baa5888e1",
      "old_mode": 33188,
      "old_path": "Makefile.objs",
      "new_id": "b94262524d35f1e8bf87ecab82cd7efdf68ef0a7",
      "new_mode": 33188,
      "new_path": "Makefile.objs"
    },
    {
      "type": "modify",
      "old_id": "3c850854cc4a6591f5b1aaec9a56faf760cd6067",
      "old_mode": 33188,
      "old_path": "Makefile.target",
      "new_id": "68481a3a6c98007cadcae294fcdec3de8adacf73",
      "new_mode": 33188,
      "new_path": "Makefile.target"
    },
    {
      "type": "modify",
      "old_id": "69fb2397492b4a656a0a3c25e7a844048af90f46",
      "old_mode": 33261,
      "old_path": "configure",
      "new_id": "f69e08f575e92c3f36602a013cdff50f71f2e5bf",
      "new_mode": 33261,
      "new_path": "configure"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ba37850a089b8c8777f19201a882f652cecbbfca",
      "new_mode": 33188,
      "new_path": "include/qemu/object.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a3c789207ef00dc97b55f9d6fb85438eafd0d07d",
      "new_mode": 33188,
      "new_path": "qom/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ef37e080d4e21725588edfe540e764b1357a001c",
      "new_mode": 33188,
      "new_path": "qom/object.c"
    }
  ]
}
