diff options
author | Peter Maydell | 2020-07-09 18:02:29 +0200 |
---|---|---|
committer | Peter Maydell | 2020-07-09 18:02:29 +0200 |
commit | aff2caf6b3fbab1062e117a47b66d27f7fd2f272 (patch) | |
tree | 75bf4ee375bd40ecb542ccacfe4328c88811b088 /include/qom/object.h | |
parent | Merge remote-tracking branch 'remotes/vivier2/tags/trivial-branch-for-5.1-pul... (diff) | |
parent | chardev: enable modules, use for braille (diff) | |
download | qemu-aff2caf6b3fbab1062e117a47b66d27f7fd2f272.tar.gz qemu-aff2caf6b3fbab1062e117a47b66d27f7fd2f272.tar.xz qemu-aff2caf6b3fbab1062e117a47b66d27f7fd2f272.zip |
Merge remote-tracking branch 'remotes/kraxel/tags/modules-20200707-pull-request' into staging
qom: add support for qom objects in modules.
build some devices (qxl, virtio-gpu, ccid, usb-redir) as modules.
build braille chardev as module.
v2: more verbose comment for "build: fix device module builds" patch.
note: qemu doesn't rebuild objects on cflags changes (specifically
-fPIC being added when code is switched from builtin to module).
Workaround for resulting build errors: "make clean", rebuild.
# gpg: Signature made Tue 07 Jul 2020 14:42:16 BST
# gpg: using RSA key 4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
# gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
# gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138
* remotes/kraxel/tags/modules-20200707-pull-request:
chardev: enable modules, use for braille
vga: build virtio-gpu as module
vga: build virtio-gpu only once
vga: build qxl as module
usb: build usb-redir as module
ccid: build smartcard as module
build: fix device module builds
qdev: device module support
object: qom module support
module: qom module support
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include/qom/object.h')
-rw-r--r-- | include/qom/object.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/qom/object.h b/include/qom/object.h index 94a61ccc3f..51f188137f 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -994,6 +994,18 @@ bool object_class_is_abstract(ObjectClass *klass); */ ObjectClass *object_class_by_name(const char *typename); +/** + * module_object_class_by_name: + * @typename: The QOM typename to obtain the class for. + * + * For objects which might be provided by a module. Behaves like + * object_class_by_name, but additionally tries to load the module + * needed in case the class is not available. + * + * Returns: The class for @typename or %NULL if not found. + */ +ObjectClass *module_object_class_by_name(const char *typename); + void object_class_foreach(void (*fn)(ObjectClass *klass, void *opaque), const char *implements_type, bool include_abstract, void *opaque); |