Re: [PATCH 09/14] server: make cursor channel private

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Oct 23, 2015 at 10:29:04AM -0400, Frediano Ziglio wrote:
> It would be much better to define a public structure like
> 
> struct CursorChannel {
>    CommonChannel common;
> };
> 
> and a private one (in cursor-channel.c) like
> 
> struct CursorChannel {
>    CommonChannel common;
>    ... any field needed ...
> }
> 
> and define the macro as
> 
> #define RED_CHANNEL(Channel) (&(Channel)->common.base)

This kind of macros does not work as soon as you introduce another level
of inheritance:

struct SpecializedCursorChannel {
    CursorChannel parent;
    /* more stuff */
};

You cannot use your RED_CHANNEL macro to get a RedChannel from a
SpecializedCursorChannel instance.

Christophe

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]