vrclient: Add destructors for win objects

This commit is contained in:
Józef Kucia 2018-04-19 15:50:32 +02:00
parent 832108fc39
commit a1031dbce4
20 changed files with 769 additions and 84 deletions

View file

@ -21,20 +21,21 @@ WINE_DEFAULT_DEBUG_CHANNEL(vrclient);
typedef struct __winIVRClientCore_IVRClientCore_003 {
vtable_ptr *vtable;
void *linux_side;
struct client_core_data user_data;
} winIVRClientCore_IVRClientCore_003;
DEFINE_THISCALL_WRAPPER(winIVRClientCore_IVRClientCore_003_Init, 16)
EVRInitError __thiscall winIVRClientCore_IVRClientCore_003_Init(winIVRClientCore_IVRClientCore_003 *_this, EVRApplicationType eApplicationType, const char * pStartupInfo)
{
TRACE("%p\n", _this);
return cppIVRClientCore_IVRClientCore_003_Init(_this->linux_side, eApplicationType, pStartupInfo);
return ivrclientcore_init(cppIVRClientCore_IVRClientCore_003_Init, _this->linux_side, eApplicationType, pStartupInfo, 3, &_this->user_data);
}
DEFINE_THISCALL_WRAPPER(winIVRClientCore_IVRClientCore_003_Cleanup, 4)
void __thiscall winIVRClientCore_IVRClientCore_003_Cleanup(winIVRClientCore_IVRClientCore_003 *_this)
{
TRACE("%p\n", _this);
cppIVRClientCore_IVRClientCore_003_Cleanup(_this->linux_side);
ivrclientcore_cleanup(cppIVRClientCore_IVRClientCore_003_Cleanup, _this->linux_side, 3, &_this->user_data);
}
DEFINE_THISCALL_WRAPPER(winIVRClientCore_IVRClientCore_003_IsInterfaceVersionValid, 12)
@ -48,8 +49,7 @@ DEFINE_THISCALL_WRAPPER(winIVRClientCore_IVRClientCore_003_GetGenericInterface,
void * __thiscall winIVRClientCore_IVRClientCore_003_GetGenericInterface(winIVRClientCore_IVRClientCore_003 *_this, const char * pchNameAndVersion, EVRInitError * peError)
{
TRACE("%p\n", _this);
return create_win_interface(pchNameAndVersion,
cppIVRClientCore_IVRClientCore_003_GetGenericInterface(_this->linux_side, pchNameAndVersion, peError));
return ivrclientcore_get_generic_interface(cppIVRClientCore_IVRClientCore_003_GetGenericInterface, _this->linux_side, pchNameAndVersion, peError, 3, &_this->user_data);
}
DEFINE_THISCALL_WRAPPER(winIVRClientCore_IVRClientCore_003_BIsHmdPresent, 4)
@ -100,25 +100,32 @@ winIVRClientCore_IVRClientCore_003 *create_winIVRClientCore_IVRClientCore_003(vo
return r;
}
void destroy_winIVRClientCore_IVRClientCore_003(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}
#include "cppIVRClientCore_IVRClientCore_002.h"
typedef struct __winIVRClientCore_IVRClientCore_002 {
vtable_ptr *vtable;
void *linux_side;
struct client_core_data user_data;
} winIVRClientCore_IVRClientCore_002;
DEFINE_THISCALL_WRAPPER(winIVRClientCore_IVRClientCore_002_Init, 8)
EVRInitError __thiscall winIVRClientCore_IVRClientCore_002_Init(winIVRClientCore_IVRClientCore_002 *_this, EVRApplicationType eApplicationType)
{
TRACE("%p\n", _this);
return cppIVRClientCore_IVRClientCore_002_Init(_this->linux_side, eApplicationType);
return ivrclientcore_002_init(cppIVRClientCore_IVRClientCore_002_Init, _this->linux_side, eApplicationType, 2, &_this->user_data);
}
DEFINE_THISCALL_WRAPPER(winIVRClientCore_IVRClientCore_002_Cleanup, 4)
void __thiscall winIVRClientCore_IVRClientCore_002_Cleanup(winIVRClientCore_IVRClientCore_002 *_this)
{
TRACE("%p\n", _this);
cppIVRClientCore_IVRClientCore_002_Cleanup(_this->linux_side);
ivrclientcore_cleanup(cppIVRClientCore_IVRClientCore_002_Cleanup, _this->linux_side, 2, &_this->user_data);
}
DEFINE_THISCALL_WRAPPER(winIVRClientCore_IVRClientCore_002_IsInterfaceVersionValid, 12)
@ -132,8 +139,7 @@ DEFINE_THISCALL_WRAPPER(winIVRClientCore_IVRClientCore_002_GetGenericInterface,
void * __thiscall winIVRClientCore_IVRClientCore_002_GetGenericInterface(winIVRClientCore_IVRClientCore_002 *_this, const char * pchNameAndVersion, EVRInitError * peError)
{
TRACE("%p\n", _this);
return create_win_interface(pchNameAndVersion,
cppIVRClientCore_IVRClientCore_002_GetGenericInterface(_this->linux_side, pchNameAndVersion, peError));
return ivrclientcore_get_generic_interface(cppIVRClientCore_IVRClientCore_002_GetGenericInterface, _this->linux_side, pchNameAndVersion, peError, 2, &_this->user_data);
}
DEFINE_THISCALL_WRAPPER(winIVRClientCore_IVRClientCore_002_BIsHmdPresent, 4)
@ -184,3 +190,9 @@ winIVRClientCore_IVRClientCore_002 *create_winIVRClientCore_IVRClientCore_002(vo
return r;
}
void destroy_winIVRClientCore_IVRClientCore_002(void *object)
{
TRACE("%p\n", object);
HeapFree(GetProcessHeap(), 0, object);
}