From: Matthias Bolte Date: Tue, 18 May 2010 15:37:45 +0000 (+0200) Subject: esx: Allow esxVI_X_DynamicCast to be called successfully on X objects X-Git-Tag: v0.8.2~236 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=90fce23f245ea985bab701bb6f3dadf82408007e;p=thirdparty%2Flibvirt.git esx: Allow esxVI_X_DynamicCast to be called successfully on X objects This semantic will be used in the ESX storage driver. --- diff --git a/src/esx/esx_vi_types.c b/src/esx/esx_vi_types.c index 7d2c02cda9..de2839f65a 100644 --- a/src/esx/esx_vi_types.c +++ b/src/esx/esx_vi_types.c @@ -540,6 +540,13 @@ +#define ESX_VI__TEMPLATE__DYNAMIC_CAST__ACCEPT(__type) \ + if (((esxVI_Object *)item)->_type == esxVI_Type_##__type) { \ + return item; \ + } + + + #define ESX_VI__TEMPLATE__DYNAMIC_CAST(__type, _accept) \ esxVI_##__type * \ esxVI_##__type##_DynamicCast(void *item) \ @@ -550,6 +557,8 @@ return NULL; \ } \ \ + ESX_VI__TEMPLATE__DYNAMIC_CAST__ACCEPT(__type) \ + \ _accept \ \ return NULL; \ @@ -557,13 +566,6 @@ -#define ESX_VI__TEMPLATE__DYNAMIC_CAST__ACCEPT(__type) \ - if (((esxVI_Object *)item)->_type == esxVI_Type_##__type) { \ - return item; \ - } - - - #define ESX_VI__TEMPLATE__DYNAMIC_SERIALIZE(__type, _dispatch, _serialize) \ ESX_VI__TEMPLATE__SERIALIZE_EXTRA(__type, \ ESX_VI__TEMPLATE__DISPATCH(__type, _dispatch, -1), \