From: Eduardo Habkost <ehabkost@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Paolo Bonzini" <pbonzini@redhat.com>,
"Daniel P. Berrangé" <berrange@redhat.com>,
"Eduardo Habkost" <ehabkost@redhat.com>
Subject: [PATCH for-6.2 07/10] docs: qom: Fix OBJECT_DECLARE_SIMPLE_TYPE documentation
Date: Thu, 29 Jul 2021 13:55:51 -0400 [thread overview]
Message-ID: <20210729175554.686474-8-ehabkost@redhat.com> (raw)
In-Reply-To: <20210729175554.686474-1-ehabkost@redhat.com>
The OBJECT_DECLARE_SIMPLE_TYPE documentation was inaccurate: it
doesn't define a class struct or class type checking helpers.
OBJECT_DECLARE_TYPE expansion looks very similar to the existing
example, though. Rewrite that section to show both both
OBJECT_DECLARE_SIMPLE_TYPE and OBJECT_DECLARE_TYPE.
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
docs/devel/qom.rst | 31 +++++++++++++++++++++----------
1 file changed, 21 insertions(+), 10 deletions(-)
diff --git a/docs/devel/qom.rst b/docs/devel/qom.rst
index dee60a64c0a..aa1f672efbe 100644
--- a/docs/devel/qom.rst
+++ b/docs/devel/qom.rst
@@ -301,6 +301,27 @@ This is equivalent to the following:
.. code-block:: c
:caption: Expansion from declaring a simple type
+ typedef struct MyDevice MyDevice;
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC(MyDevice, object_unref)
+ #define MY_DEVICE(void *obj)
+ OBJECT_CHECK(MyDevice, obj, TYPE_MY_DEVICE)
+
+The 'struct MyDevice' needs to be declared separately.
+
+If the type requires virtual functions to be declared in a class
+struct, then the alternative `OBJECT_DECLARE_TYPE()` macro can be
+used:
+
+.. code-block:: c
+ :caption: Declaring a type with custom class struct
+
+ OBJECT_DECLARE_TYPE(MyDevice, my_device, MY_DEVICE, DEVICE)
+
+This is equivalent to the following:
+
+.. code-block:: c
+ :caption: Expansion from declaring a type with custom class struct
+
typedef struct MyDevice MyDevice;
typedef struct MyDeviceClass MyDeviceClass;
@@ -313,16 +334,6 @@ This is equivalent to the following:
#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
-used. This does the same as `OBJECT_DECLARE_SIMPLE_TYPE()`, but without
-the 'struct MyDeviceClass' definition.
-
Type definition macros
----------------------
--
2.31.1
next prev parent reply other threads:[~2021-07-29 18:02 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-29 17:55 [PATCH for-6.2 00/10] QOM documentation updates Eduardo Habkost
2021-07-29 17:55 ` [PATCH for-6.2 01/10] docs: qom: Replace old GTK-Doc #symbol syntax with `symbol` Eduardo Habkost
2021-08-02 12:14 ` Peter Maydell
2021-08-04 20:31 ` Eduardo Habkost
2021-08-04 20:42 ` Peter Maydell
2021-08-04 21:00 ` Eduardo Habkost
2021-08-05 0:26 ` John Snow
2021-08-05 16:36 ` Eduardo Habkost
2021-08-05 19:07 ` Eduardo Habkost
2021-07-29 17:55 ` [PATCH for-6.2 02/10] docs: qom: Use Sphinx cross references more often Eduardo Habkost
2021-07-29 17:55 ` [PATCH for-6.2 03/10] docs: qom: Fix autoptr expansion example Eduardo Habkost
2021-08-02 12:16 ` Peter Maydell
2021-07-29 17:55 ` [PATCH for-6.2 04/10] docs: qom: Fix "API Reference" heading level Eduardo Habkost
2021-08-02 12:16 ` Peter Maydell
2021-07-29 17:55 ` [PATCH for-6.2 05/10] docs: qom: Add subsection headings to declaration/definition macros section Eduardo Habkost
2021-07-30 13:15 ` Philippe Mathieu-Daudé
2021-08-02 12:17 ` Peter Maydell
2021-07-29 17:55 ` [PATCH for-6.2 06/10] docs: qom: Remove unnecessary class typedefs from example Eduardo Habkost
2021-07-30 8:16 ` Markus Armbruster
2021-07-30 8:43 ` Peter Maydell
2021-07-30 9:19 ` Daniel P. Berrangé
2021-08-02 12:19 ` Peter Maydell
2021-08-04 20:40 ` Eduardo Habkost
2021-08-04 20:45 ` Peter Maydell
2021-07-29 17:55 ` Eduardo Habkost [this message]
2021-08-02 12:24 ` [PATCH for-6.2 07/10] docs: qom: Fix OBJECT_DECLARE_SIMPLE_TYPE documentation Peter Maydell
2021-07-29 17:55 ` [PATCH for-6.2 08/10] docs: qom: Show actual typecast functions in examples Eduardo Habkost
2021-08-02 12:25 ` Peter Maydell
2021-07-29 17:55 ` [PATCH for-6.2 09/10] docs: qom: Remove OBJECT_CHECK macro examples Eduardo Habkost
2021-08-02 12:27 ` Peter Maydell
2021-07-29 17:55 ` [PATCH for-6.2 10/10] MAINTAINERS: Add qom.rst to QOM section Eduardo Habkost
2021-08-02 12:28 ` Peter Maydell
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=20210729175554.686474-8-ehabkost@redhat.com \
--to=ehabkost@redhat.com \
--cc=berrange@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).