All of lore.kernel.org
 help / color / mirror / Atom feed
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: Wed, 14 May 2025 23:45:40 +0800	[thread overview]
Message-ID: <aCS6pLuiFaeEmeEu@intel.com> (raw)
In-Reply-To: <c179270c-d636-e20a-2043-38c09b81b4c6@eik.bme.hu>

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.

Thanks,
Zhao



  reply	other threads:[~2025-05-14 15:25 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 [this message]
2025-05-14 16:16       ` BALATON Zoltan
2025-05-15 14:04         ` Zhao Liu
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=aCS6pLuiFaeEmeEu@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.