[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 44/58] qom: provide convenient macros for declaring and de
From: |
Daniel P . Berrangé |
Subject: |
Re: [PATCH v2 44/58] qom: provide convenient macros for declaring and defining types |
Date: |
Thu, 20 Aug 2020 18:57:33 +0100 |
User-agent: |
Mutt/1.14.5 (2020-06-23) |
On Thu, Aug 20, 2020 at 01:45:06PM -0400, Eduardo Habkost wrote:
> (CCing Eric Blake, who reviewed the original patch. Sorry for
> not CCing you previously, Eric)
>
> On Wed, Aug 19, 2020 at 08:12:22PM -0400, Eduardo Habkost wrote:
> [...]
> > +/**
> > + * OBJECT_DECLARE_TYPE:
> > + * @ModuleObjName: the object name with initial capitalization
> > + * @module_obj_name: the object name in lowercase with underscore
> > separators
> > + * @MODULE_OBJ_NAME: the object name in uppercase with underscore
> > separators
>
> We need to decide what to do with TYPE_SWIM:
>
> #define TYPE_SWIM "swim"
> typedef struct SWIM SWIM;
> #define SWIM(obj) OBJECT_CHECK(SWIM, (obj), TYPE_SWIM)
>
> Both the typedef and type checking macros are called "SWIM".
> This makes usage of OBJECT_DECLARE_TYPE impossible (because the
> type checking function can't have the same as the typedef). What
> should be the recommended style here? Rename the struct to
> "Swim"?
This would be the gobject style approach to the problem - structs
always have initial-caps-only even if they are abbreviations.
If that's unappealing we could add a suffix "struct SWIMInst"
> We have similar issues with RXCPU and ARMSSE, but these type
> checking macros can be easily renamed to RX_CPU and ARM_SSE. so
> they won't be an issue.
Or RSCPUInst and ARMSSEInst ?
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
- Re: [PATCH v2 42/58] vfio/pci: Move QOM macros to header, (continued)
- [PATCH v2 43/58] qom: make object_ref/unref use a void * instead of Object *., Eduardo Habkost, 2020/08/19
- [PATCH v2 45/58] qom: Allow class type name to be specified in OBJECT_DECLARE*, Eduardo Habkost, 2020/08/19
- [PATCH v2 47/58] qom: Make type checker functions accept const pointers, Eduardo Habkost, 2020/08/19
- [PATCH v2 46/58] qom: DECLARE_*_CHECKERS macros, Eduardo Habkost, 2020/08/19
- [PATCH v2 48/58] qom: TYPE_INFO macro, Eduardo Habkost, 2020/08/19
- [PATCH v2 50/58] [automated] Delete duplicate QOM typedefs, Eduardo Habkost, 2020/08/19
- [PATCH v2 44/58] qom: provide convenient macros for declaring and defining types, Eduardo Habkost, 2020/08/19
- [PATCH v2 54/58] [semi-automated] Use DECLARE_*CHECKER* when possible (--force mode), Eduardo Habkost, 2020/08/19
- [PATCH v2 56/58] [automated] Use OBJECT_DECLARE_SIMPLE_TYPE when possible, Eduardo Habkost, 2020/08/19
- [PATCH v2 55/58] [automated] Use OBJECT_DECLARE_TYPE where possible, Eduardo Habkost, 2020/08/19
- [PATCH v2 58/58] crypto: use QOM macros for declaration/definition of TLS creds types, Eduardo Habkost, 2020/08/19
- [PATCH v2 57/58] crypto: use QOM macros for declaration/definition of secret types, Eduardo Habkost, 2020/08/19