From: Zhao Liu <zhao1.liu@intel.com>
To: BALATON Zoltan <balaton@eik.bme.hu>
Cc: "Paolo Bonzini" <pbonzini@redhat.com>,
"Daniel P . Berrang�" <berrange@redhat.com>,
"Eduardo Habkost" <eduardo@habkost.net>,
qemu-devel@nongnu.org, qemu-trivial@nongnu.org
Subject: Re: [PATCH 2/9] docs/devel/qom: Fix the doc about OBJECT_DECLARE_SIMPLE_TYPE
Date: Thu, 15 May 2025 22:04:20 +0800 [thread overview]
Message-ID: <aCX0ZF6G6sbRvKg6@intel.com> (raw)
In-Reply-To: <abd48771-90ba-fd25-e59f-3c6f90d5c0e5@eik.bme.hu>
On Wed, May 14, 2025 at 06:16:31PM +0200, BALATON Zoltan wrote:
> Date: Wed, 14 May 2025 18:16:31 +0200
> From: BALATON Zoltan <balaton@eik.bme.hu>
> Subject: Re: [PATCH 2/9] docs/devel/qom: Fix the doc about
> OBJECT_DECLARE_SIMPLE_TYPE
>
> On Wed, 14 May 2025, Zhao Liu wrote:
> > On Wed, May 14, 2025 at 02:06:14PM +0200, BALATON Zoltan wrote:
> > > Date: Wed, 14 May 2025 14:06:14 +0200
> > > From: BALATON Zoltan <balaton@eik.bme.hu>
> > > Subject: Re: [PATCH 2/9] docs/devel/qom: Fix the doc about
> > > OBJECT_DECLARE_SIMPLE_TYPE
> > >
> > > On Wed, 14 May 2025, Zhao Liu wrote:
> > > > Currently, the expansion example of OBJECT_DECLARE_SIMPLE_TYPE "roughly"
> > > > reflects what OBJECT_DECLARE_TYPE is doing.
> > > >
> > > > Why "roughly"? Because this line -
> > > >
> > > > > G_DEFINE_AUTOPTR_CLEANUP_FUNC(MyDeviceClass, object_unref)
> > > >
> > > > - is also wrong for OBJECT_DECLARE_TYPE.
> > > >
> > > > Fix the expansion example of OBJECT_DECLARE_SIMPLE_TYPE, especially
> > > > drop that definition of MyDeviceClass.
> > > >
> > > > Cc: Paolo Bonzini <pbonzini@redhat.com>
> > > > Cc: "Daniel P. Berrang?" <berrange@redhat.com>
> > > > Cc: Eduardo Habkost <eduardo@habkost.net>
> > > > Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
> > > > ---
> > > > docs/devel/qom.rst | 11 +----------
> > > > 1 file changed, 1 insertion(+), 10 deletions(-)
> > > >
> > > > diff --git a/docs/devel/qom.rst b/docs/devel/qom.rst
> > > > index 5870745ba27b..185f4c2f5921 100644
> > > > --- a/docs/devel/qom.rst
> > > > +++ b/docs/devel/qom.rst
> > > > @@ -326,21 +326,12 @@ This is equivalent to the following:
> > > > :caption: Expansion from declaring a simple type
> > > >
> > > > typedef struct MyDevice MyDevice;
> > > > - typedef struct MyDeviceClass MyDeviceClass;
> > > >
> > > > - G_DEFINE_AUTOPTR_CLEANUP_FUNC(MyDeviceClass, object_unref)
> > > > + G_DEFINE_AUTOPTR_CLEANUP_FUNC(MyDevice, object_unref)
> > > >
> > > > - #define MY_DEVICE_GET_CLASS(void *obj) \
> > > > - OBJECT_GET_CLASS(MyDeviceClass, obj, TYPE_MY_DEVICE)
> > > > - #define MY_DEVICE_CLASS(void *klass) \
> > > > - OBJECT_CLASS_CHECK(MyDeviceClass, klass, TYPE_MY_DEVICE)
> > > > #define MY_DEVICE(void *obj)
> > > > OBJECT_CHECK(MyDevice, obj, TYPE_MY_DEVICE)
> > > >
> > > > - struct MyDeviceClass {
> > > > - DeviceClass parent_class;
> > > > - };
> > > > -
> > > > The 'struct MyDevice' needs to be declared separately.
> > > > If the type requires virtual functions to be declared in the class
> > > > struct, then the alternative OBJECT_DECLARE_TYPE() macro can be
> > >
> > > Maybe you need to adjust the text here about OBJECT_DECLARE_TYPE here and
> > > show how to define Class sturct?
> >
> > Then it's not easy to organize the structure in this document, since
> > most of the content is now make "OBJECT_DECLARE_SIMPLE_TYPE" as well as
> > "OBJECT_DEFINE_SIMPLE_TYPE" as examples... I'm a bit unsure, and we can
> > wait and see what others would say.
> >
> > BTW, I found I missed this sentence:
> >
> > "(OBJECT_DECLARE_TYPE) This does the same as OBJECT_DECLARE_SIMPLE_TYPE(),
> > but without the 'struct MyDeviceClass' definition."
> >
> > It should be: This does the same as OBJECT_DECLARE_SIMPLE_TYPE(),
> > but with the class type.
>
> Yes that's what I meant. If you remove the class example then how will
> readers know how to define that so a new example for that may be needed but
> you can wait for others' opinion too.
The new example deserves another separate patch. I'll think about how to
describe it.
Thanks,
Zhao
next prev parent reply other threads:[~2025-05-15 13:43 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-14 8:49 [PATCH 0/9] qom: Consolidate OBJECT_{DEFINE|DECLARE}_SIMPLE_TYPE* Zhao Liu
2025-05-14 8:49 ` [PATCH 1/9] qom/object: Improve the doc of macros related with simple type Zhao Liu
2025-05-14 12:02 ` BALATON Zoltan
2025-05-14 15:32 ` Zhao Liu
2025-05-14 16:13 ` BALATON Zoltan
2025-05-15 14:01 ` Zhao Liu
2025-05-14 8:49 ` [PATCH 2/9] docs/devel/qom: Fix the doc about OBJECT_DECLARE_SIMPLE_TYPE Zhao Liu
2025-05-14 12:06 ` BALATON Zoltan
2025-05-14 15:45 ` Zhao Liu
2025-05-14 16:16 ` BALATON Zoltan
2025-05-15 14:04 ` Zhao Liu [this message]
2025-05-14 8:49 ` [PATCH 3/9] hw/acpi/pci: Consolidate OBJECT_DEFINE_SIMPLE_TYPE_WITH_INTERFACES Zhao Liu
2025-05-14 13:08 ` Ani Sinha
2025-05-14 8:49 ` [PATCH 4/9] hw/char/sh_serial: " Zhao Liu
2025-05-14 12:07 ` BALATON Zoltan
2025-05-14 15:46 ` Zhao Liu
2025-05-14 8:49 ` [PATCH 5/9] hw/hyperv/hv-balloon: " Zhao Liu
2025-05-19 14:10 ` Maciej S. Szmigiero
2025-05-14 8:49 ` [PATCH 6/9] hw/ppc/pef: " Zhao Liu
2025-05-14 11:46 ` BALATON Zoltan
2025-05-14 11:59 ` BALATON Zoltan
2025-05-14 8:49 ` [PATCH 7/9] hw/core/resetcontainer: Consolidate OBJECT_DECLARE_SIMPLE_TYPE Zhao Liu
2025-05-14 16:56 ` Philippe Mathieu-Daudé
2025-05-14 8:49 ` [PATCH 8/9] target/s390x/kvm/pv: Consolidate OBJECT_DEFINE_SIMPLE_TYPE_WITH_INTERFACES Zhao Liu
2025-05-14 8:51 ` David Hildenbrand
2025-05-14 15:53 ` Zhao Liu
2025-05-14 16:24 ` BALATON Zoltan
2025-05-15 13:50 ` Zhao Liu
2025-05-15 15:41 ` BALATON Zoltan
2025-05-15 16:11 ` Daniel P. Berrangé
2025-05-16 3:23 ` Zhao Liu
2025-05-16 7:47 ` David Hildenbrand
2025-05-14 8:49 ` [PATCH 9/9] ui/console-vc: Consolidate OBJECT_DEFINE_SIMPLE_TYPE Zhao Liu
2025-05-14 16:55 ` Philippe Mathieu-Daudé
2025-05-31 17:36 ` [PATCH 0/9] qom: Consolidate OBJECT_{DEFINE|DECLARE}_SIMPLE_TYPE* Michael Tokarev
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aCX0ZF6G6sbRvKg6@intel.com \
--to=zhao1.liu@intel.com \
--cc=balaton@eik.bme.hu \
--cc=berrange@redhat.com \
--cc=eduardo@habkost.net \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-trivial@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.