[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH for-6.2 07/10] docs: qom: Fix OBJECT_DECLARE_SIMPLE_TYPE document
From: |
Eduardo Habkost |
Subject: |
[PATCH for-6.2 07/10] docs: qom: Fix OBJECT_DECLARE_SIMPLE_TYPE documentation |
Date: |
Thu, 29 Jul 2021 13:55:51 -0400 |
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
- [PATCH for-6.2 03/10] docs: qom: Fix autoptr expansion example, (continued)
- [PATCH for-6.2 03/10] docs: qom: Fix autoptr expansion example, Eduardo Habkost, 2021/07/29
- [PATCH for-6.2 04/10] docs: qom: Fix "API Reference" heading level, Eduardo Habkost, 2021/07/29
- [PATCH for-6.2 02/10] docs: qom: Use Sphinx cross references more often, Eduardo Habkost, 2021/07/29
- [PATCH for-6.2 01/10] docs: qom: Replace old GTK-Doc #symbol syntax with `symbol`, Eduardo Habkost, 2021/07/29
- [PATCH for-6.2 05/10] docs: qom: Add subsection headings to declaration/definition macros section, Eduardo Habkost, 2021/07/29
- [PATCH for-6.2 06/10] docs: qom: Remove unnecessary class typedefs from example, Eduardo Habkost, 2021/07/29
- [PATCH for-6.2 07/10] docs: qom: Fix OBJECT_DECLARE_SIMPLE_TYPE documentation,
Eduardo Habkost <=
- [PATCH for-6.2 09/10] docs: qom: Remove OBJECT_CHECK macro examples, Eduardo Habkost, 2021/07/29
- [PATCH for-6.2 08/10] docs: qom: Show actual typecast functions in examples, Eduardo Habkost, 2021/07/29
- [PATCH for-6.2 10/10] MAINTAINERS: Add qom.rst to QOM section, Eduardo Habkost, 2021/07/29