Skip to content
Permalink
Browse files

qom: add the base Object class (v2)

This class provides the main building block for QEMU Object Model and is
extensively documented in the header file.  It is largely inspired by GObject.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
---
v1 -> v2
 - remove printf() in type registration
 - fix typo in comment (Paolo)
 - make Interface private
 - move object into a new directory and move header into include/qemu/
 - don't make object.h depend on qemu-common.h
 - remove Type and replace it with TypeImpl * (Paolo)
 - use hash table to store types (Paolo)
 - aggressively cache parent type (Paolo)
 - make a type_register and use it with interfaces (Paolo)
 - fix interface cast comment (Paolo)
 - add a few more functions required in later series
  • Loading branch information
Anthony Liguori
Anthony Liguori committed Jan 27, 2012
1 parent 6fc4925 commit 2f28d2ff9dce3c404b36e90e64541a4d48daf0ca
Showing with 931 additions and 1 deletion.
  1. +2 −0 Makefile
  2. +1 −0 Makefile.hw
  3. +3 −0 Makefile.objs
  4. +2 −0 Makefile.target
  5. +1 −1 configure
  6. +436 −0 include/qemu/object.h
  7. +1 −0 qom/Makefile
  8. +485 −0 qom/object.c
@@ -114,6 +114,8 @@ QEMU_CFLAGS+=$(CURL_CFLAGS)

QEMU_CFLAGS+=$(GLIB_CFLAGS)

QEMU_CFLAGS += -I$(SRC_PATH)/include

ui/cocoa.o: ui/cocoa.m

ui/sdl.o audio/sdlaudio.o ui/sdl_zoom.o baum.o: QEMU_CFLAGS += $(SDL_CFLAGS)
@@ -11,6 +11,7 @@ $(call set-vpath, $(SRC_PATH):$(SRC_PATH)/hw)

QEMU_CFLAGS+=-I..
QEMU_CFLAGS += $(GLIB_CFLAGS)
QEMU_CFLAGS += -I$(SRC_PATH)/include

include $(SRC_PATH)/Makefile.objs

@@ -124,6 +124,9 @@ common-obj-$(CONFIG_WIN32) += version.o

common-obj-$(CONFIG_SPICE) += ui/spice-core.o ui/spice-input.o ui/spice-display.o spice-qemu-char.o

include $(SRC_PATH)/qom/Makefile
common-obj-y += $(addprefix qom/, $(qom-y))

audio-obj-y = audio.o noaudio.o wavaudio.o mixeng.o
audio-obj-$(CONFIG_SDL) += sdlaudio.o
audio-obj-$(CONFIG_OSS) += ossaudio.o
@@ -22,6 +22,8 @@ QEMU_CFLAGS += -I.. -I$(TARGET_PATH) -DNEED_CPU_H

include $(SRC_PATH)/Makefile.objs

QEMU_CFLAGS+=-I$(SRC_PATH)/include

ifdef CONFIG_USER_ONLY
# user emulator name
QEMU_PROG=qemu-$(TARGET_ARCH2)
@@ -3785,7 +3785,7 @@ DIRS="$DIRS pc-bios/spapr-rtas"
DIRS="$DIRS roms/seabios roms/vgabios"
DIRS="$DIRS fsdev ui"
DIRS="$DIRS qapi qapi-generated"
DIRS="$DIRS qga trace"
DIRS="$DIRS qga trace qom"
FILES="Makefile tests/tcg/Makefile qdict-test-data.txt"
FILES="$FILES tests/tcg/cris/Makefile tests/tcg/cris/.gdbinit"
FILES="$FILES pc-bios/optionrom/Makefile pc-bios/keymaps"

0 comments on commit 2f28d2f

Please sign in to comment.