mirror of
https://github.com/ValveSoftware/Proton.git
synced 2025-02-05 18:20:51 +03:00
lsteamclient: Use manual method wrapper instead of post-exec.
CW-Bug-Id: #22729
This commit is contained in:
parent
4092684400
commit
fce62d2dfd
@ -5,6 +5,7 @@ EXTRADLLFLAGS = -mcygwin -static-libgcc -static-libstdc++ -ldl
|
||||
EXTRADEFS = -DWINE_NO_LONG_TYPES -DSTEAM_API_EXPORTS -Dprivate=public -Dprotected=public
|
||||
|
||||
SOURCES = \
|
||||
steam_client_manual.c \
|
||||
steamclient_main.c \
|
||||
steamclient_wrappers.c \
|
||||
winISteamAppList.c \
|
||||
|
@ -33,7 +33,6 @@ void cppISteamClient_SteamClient006_CreateSteamPipe( struct cppISteamClient_Stea
|
||||
{
|
||||
struct u_ISteamClient_SteamClient006 *iface = (struct u_ISteamClient_SteamClient006 *)params->linux_side;
|
||||
params->_ret = iface->CreateSteamPipe( );
|
||||
params->_ret = after_steam_pipe_create( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient006_BReleaseSteamPipe( struct cppISteamClient_SteamClient006_BReleaseSteamPipe_params *params )
|
||||
|
@ -34,7 +34,6 @@ void cppISteamClient_SteamClient007_CreateSteamPipe( struct cppISteamClient_Stea
|
||||
{
|
||||
struct u_ISteamClient_SteamClient007 *iface = (struct u_ISteamClient_SteamClient007 *)params->linux_side;
|
||||
params->_ret = iface->CreateSteamPipe( );
|
||||
params->_ret = after_steam_pipe_create( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient007_BReleaseSteamPipe( struct cppISteamClient_SteamClient007_BReleaseSteamPipe_params *params )
|
||||
|
@ -33,7 +33,6 @@ void cppISteamClient_SteamClient008_CreateSteamPipe( struct cppISteamClient_Stea
|
||||
{
|
||||
struct u_ISteamClient_SteamClient008 *iface = (struct u_ISteamClient_SteamClient008 *)params->linux_side;
|
||||
params->_ret = iface->CreateSteamPipe( );
|
||||
params->_ret = after_steam_pipe_create( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient008_BReleaseSteamPipe( struct cppISteamClient_SteamClient008_BReleaseSteamPipe_params *params )
|
||||
|
@ -34,7 +34,6 @@ void cppISteamClient_SteamClient009_CreateSteamPipe( struct cppISteamClient_Stea
|
||||
{
|
||||
struct u_ISteamClient_SteamClient009 *iface = (struct u_ISteamClient_SteamClient009 *)params->linux_side;
|
||||
params->_ret = iface->CreateSteamPipe( );
|
||||
params->_ret = after_steam_pipe_create( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient009_BReleaseSteamPipe( struct cppISteamClient_SteamClient009_BReleaseSteamPipe_params *params )
|
||||
|
@ -36,7 +36,6 @@ void cppISteamClient_SteamClient010_CreateSteamPipe( struct cppISteamClient_Stea
|
||||
{
|
||||
struct u_ISteamClient_SteamClient010 *iface = (struct u_ISteamClient_SteamClient010 *)params->linux_side;
|
||||
params->_ret = iface->CreateSteamPipe( );
|
||||
params->_ret = after_steam_pipe_create( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient010_BReleaseSteamPipe( struct cppISteamClient_SteamClient010_BReleaseSteamPipe_params *params )
|
||||
@ -170,7 +169,6 @@ void cppISteamClient_SteamClient010_BShutdownIfAllPipesClosed( struct cppISteamC
|
||||
{
|
||||
struct u_ISteamClient_SteamClient010 *iface = (struct u_ISteamClient_SteamClient010 *)params->linux_side;
|
||||
params->_ret = iface->BShutdownIfAllPipesClosed( );
|
||||
params->_ret = after_shutdown( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient010_GetISteamHTTP( struct cppISteamClient_SteamClient010_GetISteamHTTP_params *params )
|
||||
|
@ -37,7 +37,6 @@ void cppISteamClient_SteamClient011_CreateSteamPipe( struct cppISteamClient_Stea
|
||||
{
|
||||
struct u_ISteamClient_SteamClient011 *iface = (struct u_ISteamClient_SteamClient011 *)params->linux_side;
|
||||
params->_ret = iface->CreateSteamPipe( );
|
||||
params->_ret = after_steam_pipe_create( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient011_BReleaseSteamPipe( struct cppISteamClient_SteamClient011_BReleaseSteamPipe_params *params )
|
||||
@ -177,7 +176,6 @@ void cppISteamClient_SteamClient011_BShutdownIfAllPipesClosed( struct cppISteamC
|
||||
{
|
||||
struct u_ISteamClient_SteamClient011 *iface = (struct u_ISteamClient_SteamClient011 *)params->linux_side;
|
||||
params->_ret = iface->BShutdownIfAllPipesClosed( );
|
||||
params->_ret = after_shutdown( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient011_GetISteamHTTP( struct cppISteamClient_SteamClient011_GetISteamHTTP_params *params )
|
||||
|
@ -39,7 +39,6 @@ void cppISteamClient_SteamClient012_CreateSteamPipe( struct cppISteamClient_Stea
|
||||
{
|
||||
struct u_ISteamClient_SteamClient012 *iface = (struct u_ISteamClient_SteamClient012 *)params->linux_side;
|
||||
params->_ret = iface->CreateSteamPipe( );
|
||||
params->_ret = after_steam_pipe_create( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient012_BReleaseSteamPipe( struct cppISteamClient_SteamClient012_BReleaseSteamPipe_params *params )
|
||||
@ -173,7 +172,6 @@ void cppISteamClient_SteamClient012_BShutdownIfAllPipesClosed( struct cppISteamC
|
||||
{
|
||||
struct u_ISteamClient_SteamClient012 *iface = (struct u_ISteamClient_SteamClient012 *)params->linux_side;
|
||||
params->_ret = iface->BShutdownIfAllPipesClosed( );
|
||||
params->_ret = after_shutdown( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient012_GetISteamHTTP( struct cppISteamClient_SteamClient012_GetISteamHTTP_params *params )
|
||||
|
@ -42,7 +42,6 @@ void cppISteamClient_SteamClient013_CreateSteamPipe( struct cppISteamClient_Stea
|
||||
{
|
||||
struct u_ISteamClient_SteamClient013 *iface = (struct u_ISteamClient_SteamClient013 *)params->linux_side;
|
||||
params->_ret = iface->CreateSteamPipe( );
|
||||
params->_ret = after_steam_pipe_create( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient013_BReleaseSteamPipe( struct cppISteamClient_SteamClient013_BReleaseSteamPipe_params *params )
|
||||
@ -176,7 +175,6 @@ void cppISteamClient_SteamClient013_BShutdownIfAllPipesClosed( struct cppISteamC
|
||||
{
|
||||
struct u_ISteamClient_SteamClient013 *iface = (struct u_ISteamClient_SteamClient013 *)params->linux_side;
|
||||
params->_ret = iface->BShutdownIfAllPipesClosed( );
|
||||
params->_ret = after_shutdown( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient013_GetISteamHTTP( struct cppISteamClient_SteamClient013_GetISteamHTTP_params *params )
|
||||
|
@ -41,7 +41,6 @@ void cppISteamClient_SteamClient014_CreateSteamPipe( struct cppISteamClient_Stea
|
||||
{
|
||||
struct u_ISteamClient_SteamClient014 *iface = (struct u_ISteamClient_SteamClient014 *)params->linux_side;
|
||||
params->_ret = iface->CreateSteamPipe( );
|
||||
params->_ret = after_steam_pipe_create( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient014_BReleaseSteamPipe( struct cppISteamClient_SteamClient014_BReleaseSteamPipe_params *params )
|
||||
@ -175,7 +174,6 @@ void cppISteamClient_SteamClient014_BShutdownIfAllPipesClosed( struct cppISteamC
|
||||
{
|
||||
struct u_ISteamClient_SteamClient014 *iface = (struct u_ISteamClient_SteamClient014 *)params->linux_side;
|
||||
params->_ret = iface->BShutdownIfAllPipesClosed( );
|
||||
params->_ret = after_shutdown( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient014_GetISteamHTTP( struct cppISteamClient_SteamClient014_GetISteamHTTP_params *params )
|
||||
|
@ -42,7 +42,6 @@ void cppISteamClient_SteamClient015_CreateSteamPipe( struct cppISteamClient_Stea
|
||||
{
|
||||
struct u_ISteamClient_SteamClient015 *iface = (struct u_ISteamClient_SteamClient015 *)params->linux_side;
|
||||
params->_ret = iface->CreateSteamPipe( );
|
||||
params->_ret = after_steam_pipe_create( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient015_BReleaseSteamPipe( struct cppISteamClient_SteamClient015_BReleaseSteamPipe_params *params )
|
||||
@ -176,7 +175,6 @@ void cppISteamClient_SteamClient015_BShutdownIfAllPipesClosed( struct cppISteamC
|
||||
{
|
||||
struct u_ISteamClient_SteamClient015 *iface = (struct u_ISteamClient_SteamClient015 *)params->linux_side;
|
||||
params->_ret = iface->BShutdownIfAllPipesClosed( );
|
||||
params->_ret = after_shutdown( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient015_GetISteamHTTP( struct cppISteamClient_SteamClient015_GetISteamHTTP_params *params )
|
||||
|
@ -46,7 +46,6 @@ void cppISteamClient_SteamClient016_CreateSteamPipe( struct cppISteamClient_Stea
|
||||
{
|
||||
struct u_ISteamClient_SteamClient016 *iface = (struct u_ISteamClient_SteamClient016 *)params->linux_side;
|
||||
params->_ret = iface->CreateSteamPipe( );
|
||||
params->_ret = after_steam_pipe_create( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient016_BReleaseSteamPipe( struct cppISteamClient_SteamClient016_BReleaseSteamPipe_params *params )
|
||||
@ -180,7 +179,6 @@ void cppISteamClient_SteamClient016_BShutdownIfAllPipesClosed( struct cppISteamC
|
||||
{
|
||||
struct u_ISteamClient_SteamClient016 *iface = (struct u_ISteamClient_SteamClient016 *)params->linux_side;
|
||||
params->_ret = iface->BShutdownIfAllPipesClosed( );
|
||||
params->_ret = after_shutdown( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient016_GetISteamHTTP( struct cppISteamClient_SteamClient016_GetISteamHTTP_params *params )
|
||||
|
@ -49,7 +49,6 @@ void cppISteamClient_SteamClient017_CreateSteamPipe( struct cppISteamClient_Stea
|
||||
{
|
||||
struct u_ISteamClient_SteamClient017 *iface = (struct u_ISteamClient_SteamClient017 *)params->linux_side;
|
||||
params->_ret = iface->CreateSteamPipe( );
|
||||
params->_ret = after_steam_pipe_create( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient017_BReleaseSteamPipe( struct cppISteamClient_SteamClient017_BReleaseSteamPipe_params *params )
|
||||
@ -183,7 +182,6 @@ void cppISteamClient_SteamClient017_BShutdownIfAllPipesClosed( struct cppISteamC
|
||||
{
|
||||
struct u_ISteamClient_SteamClient017 *iface = (struct u_ISteamClient_SteamClient017 *)params->linux_side;
|
||||
params->_ret = iface->BShutdownIfAllPipesClosed( );
|
||||
params->_ret = after_shutdown( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient017_GetISteamHTTP( struct cppISteamClient_SteamClient017_GetISteamHTTP_params *params )
|
||||
|
@ -52,7 +52,6 @@ void cppISteamClient_SteamClient018_CreateSteamPipe( struct cppISteamClient_Stea
|
||||
{
|
||||
struct u_ISteamClient_SteamClient018 *iface = (struct u_ISteamClient_SteamClient018 *)params->linux_side;
|
||||
params->_ret = iface->CreateSteamPipe( );
|
||||
params->_ret = after_steam_pipe_create( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient018_BReleaseSteamPipe( struct cppISteamClient_SteamClient018_BReleaseSteamPipe_params *params )
|
||||
@ -192,7 +191,6 @@ void cppISteamClient_SteamClient018_BShutdownIfAllPipesClosed( struct cppISteamC
|
||||
{
|
||||
struct u_ISteamClient_SteamClient018 *iface = (struct u_ISteamClient_SteamClient018 *)params->linux_side;
|
||||
params->_ret = iface->BShutdownIfAllPipesClosed( );
|
||||
params->_ret = after_shutdown( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient018_GetISteamHTTP( struct cppISteamClient_SteamClient018_GetISteamHTTP_params *params )
|
||||
|
@ -53,7 +53,6 @@ void cppISteamClient_SteamClient019_CreateSteamPipe( struct cppISteamClient_Stea
|
||||
{
|
||||
struct u_ISteamClient_SteamClient019 *iface = (struct u_ISteamClient_SteamClient019 *)params->linux_side;
|
||||
params->_ret = iface->CreateSteamPipe( );
|
||||
params->_ret = after_steam_pipe_create( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient019_BReleaseSteamPipe( struct cppISteamClient_SteamClient019_BReleaseSteamPipe_params *params )
|
||||
@ -193,7 +192,6 @@ void cppISteamClient_SteamClient019_BShutdownIfAllPipesClosed( struct cppISteamC
|
||||
{
|
||||
struct u_ISteamClient_SteamClient019 *iface = (struct u_ISteamClient_SteamClient019 *)params->linux_side;
|
||||
params->_ret = iface->BShutdownIfAllPipesClosed( );
|
||||
params->_ret = after_shutdown( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient019_GetISteamHTTP( struct cppISteamClient_SteamClient019_GetISteamHTTP_params *params )
|
||||
|
@ -54,7 +54,6 @@ void cppISteamClient_SteamClient020_CreateSteamPipe( struct cppISteamClient_Stea
|
||||
{
|
||||
struct u_ISteamClient_SteamClient020 *iface = (struct u_ISteamClient_SteamClient020 *)params->linux_side;
|
||||
params->_ret = iface->CreateSteamPipe( );
|
||||
params->_ret = after_steam_pipe_create( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient020_BReleaseSteamPipe( struct cppISteamClient_SteamClient020_BReleaseSteamPipe_params *params )
|
||||
@ -194,7 +193,6 @@ void cppISteamClient_SteamClient020_BShutdownIfAllPipesClosed( struct cppISteamC
|
||||
{
|
||||
struct u_ISteamClient_SteamClient020 *iface = (struct u_ISteamClient_SteamClient020 *)params->linux_side;
|
||||
params->_ret = iface->BShutdownIfAllPipesClosed( );
|
||||
params->_ret = after_shutdown( params->_ret );
|
||||
}
|
||||
|
||||
void cppISteamClient_SteamClient020_GetISteamHTTP( struct cppISteamClient_SteamClient020_GetISteamHTTP_params *params )
|
||||
|
@ -228,13 +228,11 @@ MANUAL_METHODS = {
|
||||
"ISteamNetworkingFakeUDPPort_DestroyFakeUDPPort": lambda ver, abi: abi == 'u',
|
||||
"ISteamNetworkingFakeUDPPort_ReceiveMessages": lambda ver, abi: abi == 'u',
|
||||
|
||||
"ISteamClient_BShutdownIfAllPipesClosed": lambda ver, abi: abi == 'w',
|
||||
"ISteamClient_CreateSteamPipe": lambda ver, abi: abi == 'w',
|
||||
"ISteamClient_Set_SteamAPI_CCheckCallbackRegisteredInProcess": lambda ver, abi: abi == 'u' and ver >= 20,
|
||||
}
|
||||
|
||||
POST_EXEC_FUNCS = {
|
||||
"ISteamClient_BShutdownIfAllPipesClosed" : "after_shutdown",
|
||||
"ISteamClient_CreateSteamPipe" : "after_steam_pipe_create",
|
||||
}
|
||||
|
||||
DEFINE_INTERFACE_VERSION = re.compile(r'^#define\s*(?P<name>STEAM(?:\w*)_VERSION(?:\w*))\s*"(?P<version>.*)"')
|
||||
|
||||
@ -250,9 +248,6 @@ def is_manual_method(klass, method, abi):
|
||||
return needs_manual
|
||||
|
||||
|
||||
def post_execution_function(classname, method_name):
|
||||
return POST_EXEC_FUNCS.get(classname + "_" + method_name, None)
|
||||
|
||||
# manual converters for simple types (function pointers)
|
||||
MANUAL_TYPES = [
|
||||
"FSteamNetworkingSocketsDebugOutput",
|
||||
@ -956,9 +951,6 @@ def handle_method_cpp(method, classname, cppname, out):
|
||||
for name, param in sorted(need_output.items()):
|
||||
out(f' *params->{name} = u_{name};\n')
|
||||
|
||||
if method.result_type.kind != TypeKind.VOID:
|
||||
post_exec = post_execution_function(classname, method.spelling)
|
||||
if post_exec: out(f' params->_ret = {post_exec}( params->_ret );\n')
|
||||
out(u'}\n\n')
|
||||
|
||||
|
||||
|
430
lsteamclient/steam_client_manual.c
Normal file
430
lsteamclient/steam_client_manual.c
Normal file
@ -0,0 +1,430 @@
|
||||
#include "steamclient_private.h"
|
||||
|
||||
#include <assert.h>
|
||||
#include <pthread.h>
|
||||
|
||||
#include "cppISteamClient_SteamClient006.h"
|
||||
#include "cppISteamClient_SteamClient007.h"
|
||||
#include "cppISteamClient_SteamClient008.h"
|
||||
#include "cppISteamClient_SteamClient009.h"
|
||||
#include "cppISteamClient_SteamClient010.h"
|
||||
#include "cppISteamClient_SteamClient011.h"
|
||||
#include "cppISteamClient_SteamClient012.h"
|
||||
#include "cppISteamClient_SteamClient013.h"
|
||||
#include "cppISteamClient_SteamClient014.h"
|
||||
#include "cppISteamClient_SteamClient015.h"
|
||||
#include "cppISteamClient_SteamClient016.h"
|
||||
#include "cppISteamClient_SteamClient017.h"
|
||||
#include "cppISteamClient_SteamClient018.h"
|
||||
#include "cppISteamClient_SteamClient019.h"
|
||||
#include "cppISteamClient_SteamClient020.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(steamclient);
|
||||
|
||||
static HANDLE callback_thread_handle;
|
||||
|
||||
#define MAX_CALLBACK_QUEUE_SIZE 4
|
||||
struct callback_data *callback_queue[MAX_CALLBACK_QUEUE_SIZE];
|
||||
static unsigned int callback_queue_size;
|
||||
static bool callback_queue_done;
|
||||
static pthread_mutex_t callback_queue_mutex;
|
||||
static pthread_cond_t callback_queue_callback_event;
|
||||
static pthread_cond_t callback_queue_ready_event;
|
||||
static pthread_cond_t callback_queue_complete_event;
|
||||
|
||||
void execute_callback( struct callback_data *cb_data )
|
||||
{
|
||||
/* No TRACEs or other Wine calls here, this is executed from Unix native thread
|
||||
* which is not initialized by Wine. */
|
||||
cb_data->complete = FALSE;
|
||||
pthread_mutex_lock( &callback_queue_mutex );
|
||||
while (!callback_queue_done && callback_queue_size == MAX_CALLBACK_QUEUE_SIZE)
|
||||
pthread_cond_wait( &callback_queue_ready_event, &callback_queue_mutex );
|
||||
if (callback_queue_done)
|
||||
{
|
||||
pthread_mutex_unlock( &callback_queue_mutex );
|
||||
return;
|
||||
}
|
||||
callback_queue[callback_queue_size++] = cb_data;
|
||||
pthread_cond_broadcast( &callback_queue_callback_event );
|
||||
while (!callback_queue_done && !cb_data->complete)
|
||||
pthread_cond_wait( &callback_queue_complete_event, &callback_queue_mutex );
|
||||
pthread_mutex_unlock( &callback_queue_mutex );
|
||||
}
|
||||
|
||||
static bool get_next_callback( struct callback_data *cb_data, uint64_t *cookie )
|
||||
{
|
||||
bool ret;
|
||||
|
||||
pthread_mutex_lock( &callback_queue_mutex );
|
||||
while (!callback_queue_done && !callback_queue_size)
|
||||
pthread_cond_wait( &callback_queue_callback_event, &callback_queue_mutex );
|
||||
|
||||
if ((ret = !callback_queue_done))
|
||||
{
|
||||
assert( callback_queue_size );
|
||||
--callback_queue_size;
|
||||
*cookie = (uint64_t)( ULONG_PTR)callback_queue[callback_queue_size];
|
||||
*cb_data = *callback_queue[callback_queue_size];
|
||||
}
|
||||
pthread_cond_broadcast( &callback_queue_ready_event );
|
||||
pthread_mutex_unlock( &callback_queue_mutex );
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void callback_complete( uint64_t cookie )
|
||||
{
|
||||
struct callback_data *cb_data = (struct callback_data *)( ULONG_PTR)cookie;
|
||||
|
||||
pthread_mutex_lock( &callback_queue_mutex );
|
||||
cb_data->complete = TRUE;
|
||||
pthread_cond_broadcast( &callback_queue_complete_event );
|
||||
pthread_mutex_unlock( &callback_queue_mutex );
|
||||
}
|
||||
|
||||
static void finish_callback_thread(void)
|
||||
{
|
||||
if (!callback_thread_handle) return;
|
||||
pthread_mutex_lock( &callback_queue_mutex );
|
||||
callback_queue_done = TRUE;
|
||||
pthread_cond_broadcast( &callback_queue_callback_event );
|
||||
pthread_cond_broadcast( &callback_queue_complete_event );
|
||||
pthread_mutex_unlock( &callback_queue_mutex );
|
||||
|
||||
WaitForSingleObject( callback_thread_handle, INFINITE );
|
||||
CloseHandle( callback_thread_handle );
|
||||
callback_thread_handle = NULL;
|
||||
}
|
||||
|
||||
typedef void (WINAPI *win_FSteamNetworkingSocketsDebugOutput)( uint32_t nType, const char *pszMsg );
|
||||
typedef void (CDECL *win_SteamAPIWarningMessageHook_t)( int, const char *pszMsg );
|
||||
|
||||
static DWORD WINAPI callback_thread( void *dummy )
|
||||
{
|
||||
struct callback_data cb_data;
|
||||
uint64_t cookie;
|
||||
|
||||
while (get_next_callback( &cb_data, &cookie ))
|
||||
{
|
||||
switch (cb_data.type)
|
||||
{
|
||||
case SOCKET_DEBUG_OUTPUT:
|
||||
TRACE( "SOCKET_DEBUG_OUTPUT func %p, type %u, msg %s.\n", cb_data.func,
|
||||
cb_data.sockets_debug_output.type, wine_dbgstr_a( cb_data.sockets_debug_output.msg ) );
|
||||
((win_FSteamNetworkingSocketsDebugOutput)cb_data.func)( cb_data.sockets_debug_output.type,
|
||||
cb_data.sockets_debug_output.msg );
|
||||
callback_complete( cookie );
|
||||
break;
|
||||
case STEAM_API_WARNING_HOOK:
|
||||
TRACE( "STEAM_API_WARNING_HOOK func %p, type %u, msg %s.\n", cb_data.func,
|
||||
cb_data.steam_api_warning_hook.severity,
|
||||
wine_dbgstr_a( cb_data.steam_api_warning_hook.msg ) );
|
||||
((win_SteamAPIWarningMessageHook_t)cb_data.func)( cb_data.steam_api_warning_hook.severity,
|
||||
cb_data.steam_api_warning_hook.msg );
|
||||
callback_complete( cookie );
|
||||
break;
|
||||
case STEAM_API_CALLBACK_ONE_PARAM:
|
||||
TRACE( "STEAM_API_CALLBACK_ONE_PARAM func %p, param %p.\n", cb_data.func,
|
||||
cb_data.steam_api_callback_one_param.param );
|
||||
((void (WINAPI *)( void * ))cb_data.func)( cb_data.steam_api_callback_one_param.param );
|
||||
callback_complete( cookie );
|
||||
break;
|
||||
default: ERR( "Unexpected callback type %u.\n", cb_data.type ); break;
|
||||
}
|
||||
}
|
||||
TRACE( "exiting.\n" );
|
||||
return 0;
|
||||
}
|
||||
|
||||
void start_callback_thread(void)
|
||||
{
|
||||
DWORD callback_thread_id;
|
||||
|
||||
pthread_mutex_init( &callback_queue_mutex, NULL );
|
||||
pthread_cond_init( &callback_queue_callback_event, NULL );
|
||||
pthread_cond_init( &callback_queue_ready_event, NULL );
|
||||
pthread_cond_init( &callback_queue_complete_event, NULL );
|
||||
|
||||
callback_thread_handle = CreateThread( NULL, 0, callback_thread, NULL, 0, &callback_thread_id );
|
||||
TRACE( "Created callback thread 0x%04x.\n", callback_thread_id );
|
||||
}
|
||||
|
||||
void stop_callback_thread(void)
|
||||
{
|
||||
if (!callback_thread_handle) return;
|
||||
|
||||
/* Unfortunately we don't have a clear place to shutdown the thread so just kill it.
|
||||
* An explicit sync events and handle cleanup is to protect from unloading and loading .so
|
||||
* again which may end up not actually reloading anyting and leaving the values of our
|
||||
* static variables. */
|
||||
TerminateThread( callback_thread_handle, -1 );
|
||||
WaitForSingleObject( callback_thread_handle, INFINITE );
|
||||
pthread_mutex_destroy( &callback_queue_mutex );
|
||||
CloseHandle( callback_thread_handle );
|
||||
callback_thread_handle = NULL;
|
||||
TRACE( "Terminated callback thread.\n" );
|
||||
}
|
||||
|
||||
static bool after_shutdown( bool ret )
|
||||
{
|
||||
TRACE( "ret %d.\n", ret );
|
||||
|
||||
if (!ret) return 0;
|
||||
finish_callback_thread();
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int32_t after_steam_pipe_create( int32_t pipe )
|
||||
{
|
||||
DWORD callback_thread_id;
|
||||
|
||||
TRACE( "pipe %#x.\n", pipe );
|
||||
|
||||
if (!pipe) return 0;
|
||||
|
||||
if (callback_thread_handle) return pipe;
|
||||
|
||||
callback_queue_done = FALSE;
|
||||
callback_thread_handle = CreateThread( NULL, 0, callback_thread, NULL, 0, &callback_thread_id );
|
||||
TRACE( "Created callback thread 0x%04x.\n", callback_thread_id );
|
||||
|
||||
return pipe;
|
||||
}
|
||||
|
||||
/* ISteamClient_SteamClient006 */
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient006_CreateSteamPipe( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient006_CreateSteamPipe_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient006_CreateSteamPipe( ¶ms );
|
||||
return after_steam_pipe_create( params._ret );
|
||||
}
|
||||
|
||||
/* ISteamClient_SteamClient007 */
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient007_CreateSteamPipe( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient007_CreateSteamPipe_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient007_CreateSteamPipe( ¶ms );
|
||||
return after_steam_pipe_create( params._ret );
|
||||
}
|
||||
|
||||
/* ISteamClient_SteamClient008 */
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient008_CreateSteamPipe( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient008_CreateSteamPipe_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient008_CreateSteamPipe( ¶ms );
|
||||
return after_steam_pipe_create( params._ret );
|
||||
}
|
||||
|
||||
/* ISteamClient_SteamClient009 */
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient009_CreateSteamPipe( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient009_CreateSteamPipe_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient009_CreateSteamPipe( ¶ms );
|
||||
return after_steam_pipe_create( params._ret );
|
||||
}
|
||||
|
||||
/* ISteamClient_SteamClient010 */
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient010_CreateSteamPipe( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient010_CreateSteamPipe_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient010_CreateSteamPipe( ¶ms );
|
||||
return after_steam_pipe_create( params._ret );
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient010_BShutdownIfAllPipesClosed( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient010_BShutdownIfAllPipesClosed_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient010_BShutdownIfAllPipesClosed( ¶ms );
|
||||
return after_shutdown( params._ret );
|
||||
}
|
||||
|
||||
/* ISteamClient_SteamClient011 */
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient011_CreateSteamPipe( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient011_CreateSteamPipe_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient011_CreateSteamPipe( ¶ms );
|
||||
return after_steam_pipe_create( params._ret );
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient011_BShutdownIfAllPipesClosed( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient011_BShutdownIfAllPipesClosed_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient011_BShutdownIfAllPipesClosed( ¶ms );
|
||||
return after_shutdown( params._ret );
|
||||
}
|
||||
|
||||
/* ISteamClient_SteamClient012 */
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient012_CreateSteamPipe( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient012_CreateSteamPipe_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient012_CreateSteamPipe( ¶ms );
|
||||
return after_steam_pipe_create( params._ret );
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient012_BShutdownIfAllPipesClosed( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient012_BShutdownIfAllPipesClosed_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient012_BShutdownIfAllPipesClosed( ¶ms );
|
||||
return after_shutdown( params._ret );
|
||||
}
|
||||
|
||||
/* ISteamClient_SteamClient013 */
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient013_CreateSteamPipe( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient013_CreateSteamPipe_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient013_CreateSteamPipe( ¶ms );
|
||||
return after_steam_pipe_create( params._ret );
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient013_BShutdownIfAllPipesClosed( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient013_BShutdownIfAllPipesClosed_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient013_BShutdownIfAllPipesClosed( ¶ms );
|
||||
return after_shutdown( params._ret );
|
||||
}
|
||||
|
||||
/* ISteamClient_SteamClient014 */
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient014_CreateSteamPipe( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient014_CreateSteamPipe_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient014_CreateSteamPipe( ¶ms );
|
||||
return after_steam_pipe_create( params._ret );
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient014_BShutdownIfAllPipesClosed( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient014_BShutdownIfAllPipesClosed_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient014_BShutdownIfAllPipesClosed( ¶ms );
|
||||
return after_shutdown( params._ret );
|
||||
}
|
||||
|
||||
/* ISteamClient_SteamClient015 */
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient015_CreateSteamPipe( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient015_CreateSteamPipe_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient015_CreateSteamPipe( ¶ms );
|
||||
return after_steam_pipe_create( params._ret );
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient015_BShutdownIfAllPipesClosed( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient015_BShutdownIfAllPipesClosed_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient015_BShutdownIfAllPipesClosed( ¶ms );
|
||||
return after_shutdown( params._ret );
|
||||
}
|
||||
|
||||
/* ISteamClient_SteamClient016 */
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient016_CreateSteamPipe( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient016_CreateSteamPipe_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient016_CreateSteamPipe( ¶ms );
|
||||
return after_steam_pipe_create( params._ret );
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient016_BShutdownIfAllPipesClosed( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient016_BShutdownIfAllPipesClosed_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient016_BShutdownIfAllPipesClosed( ¶ms );
|
||||
return after_shutdown( params._ret );
|
||||
}
|
||||
|
||||
/* ISteamClient_SteamClient017 */
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient017_CreateSteamPipe( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient017_CreateSteamPipe_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient017_CreateSteamPipe( ¶ms );
|
||||
return after_steam_pipe_create( params._ret );
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient017_BShutdownIfAllPipesClosed( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient017_BShutdownIfAllPipesClosed_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient017_BShutdownIfAllPipesClosed( ¶ms );
|
||||
return after_shutdown( params._ret );
|
||||
}
|
||||
|
||||
/* ISteamClient_SteamClient018 */
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient018_CreateSteamPipe( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient018_CreateSteamPipe_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient018_CreateSteamPipe( ¶ms );
|
||||
return after_steam_pipe_create( params._ret );
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient018_BShutdownIfAllPipesClosed( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient018_BShutdownIfAllPipesClosed_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient018_BShutdownIfAllPipesClosed( ¶ms );
|
||||
return after_shutdown( params._ret );
|
||||
}
|
||||
|
||||
/* ISteamClient_SteamClient019 */
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient019_CreateSteamPipe( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient019_CreateSteamPipe_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient019_CreateSteamPipe( ¶ms );
|
||||
return after_steam_pipe_create( params._ret );
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient019_BShutdownIfAllPipesClosed( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient019_BShutdownIfAllPipesClosed_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient019_BShutdownIfAllPipesClosed( ¶ms );
|
||||
return after_shutdown( params._ret );
|
||||
}
|
||||
|
||||
/* ISteamClient_SteamClient020 */
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient020_CreateSteamPipe( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient020_CreateSteamPipe_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient020_CreateSteamPipe( ¶ms );
|
||||
return after_steam_pipe_create( params._ret );
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient020_BShutdownIfAllPipesClosed( struct w_steam_iface *_this )
|
||||
{
|
||||
struct cppISteamClient_SteamClient020_BShutdownIfAllPipesClosed_params params = {.linux_side = _this->u_iface};
|
||||
TRACE( "%p\n", _this );
|
||||
cppISteamClient_SteamClient020_BShutdownIfAllPipesClosed( ¶ms );
|
||||
return after_shutdown( params._ret );
|
||||
}
|
@ -3,7 +3,6 @@
|
||||
#include <stdio.h>
|
||||
#include <limits.h>
|
||||
#include <stdint.h>
|
||||
#include <pthread.h>
|
||||
#include <assert.h>
|
||||
|
||||
#define __USE_GNU
|
||||
@ -21,26 +20,12 @@
|
||||
|
||||
#include "steamclient_private.h"
|
||||
|
||||
#include "wine/list.h"
|
||||
|
||||
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(steamclient);
|
||||
|
||||
char g_tmppath[PATH_MAX];
|
||||
|
||||
static CRITICAL_SECTION steamclient_cs = { NULL, -1, 0, 0, 0, 0 };
|
||||
static HANDLE steam_overlay_event;
|
||||
static HANDLE callback_thread_handle;
|
||||
|
||||
#define MAX_CALLBACK_QUEUE_SIZE 4
|
||||
struct callback_data *callback_queue[MAX_CALLBACK_QUEUE_SIZE];
|
||||
static unsigned int callback_queue_size;
|
||||
static bool callback_queue_done;
|
||||
static pthread_mutex_t callback_queue_mutex;
|
||||
static pthread_cond_t callback_queue_callback_event;
|
||||
static pthread_cond_t callback_queue_ready_event;
|
||||
static pthread_cond_t callback_queue_complete_event;
|
||||
|
||||
static void * (WINAPI *p_NtCurrentTeb)(void);
|
||||
|
||||
@ -86,22 +71,7 @@ BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, void *reserved)
|
||||
init_ntdll_so_funcs();
|
||||
break;
|
||||
case DLL_PROCESS_DETACH:
|
||||
if (callback_thread_handle)
|
||||
{
|
||||
/* Unfortunately we don't have a clear place to shutdown the thread so just kill it. */
|
||||
/* An explicit sync events and handle cleanup is to protect from unloading and loading
|
||||
* .so again which may end up not actually reloading anyting and leaving the values of our static
|
||||
* variables. */
|
||||
TerminateThread(callback_thread_handle, -1);
|
||||
WaitForSingleObject(callback_thread_handle, INFINITE);
|
||||
pthread_mutex_destroy(&callback_queue_mutex);
|
||||
pthread_cond_destroy(&callback_queue_callback_event);
|
||||
pthread_cond_destroy(&callback_queue_ready_event);
|
||||
pthread_cond_destroy(&callback_queue_complete_event);
|
||||
CloseHandle(callback_thread_handle);
|
||||
callback_thread_handle = NULL;
|
||||
TRACE("Terminated callback thread.\n");
|
||||
}
|
||||
stop_callback_thread();
|
||||
CloseHandle(steam_overlay_event);
|
||||
break;
|
||||
}
|
||||
@ -759,114 +729,6 @@ done:
|
||||
return ret;
|
||||
}
|
||||
|
||||
void execute_callback(struct callback_data *cb_data)
|
||||
{
|
||||
/* No TRACEs or other Wine calls here, this is executed from Unix native thread
|
||||
* which is not initialized by Wine. */
|
||||
cb_data->complete = FALSE;
|
||||
pthread_mutex_lock(&callback_queue_mutex);
|
||||
while (!callback_queue_done && callback_queue_size == MAX_CALLBACK_QUEUE_SIZE)
|
||||
pthread_cond_wait(&callback_queue_ready_event, &callback_queue_mutex);
|
||||
if (callback_queue_done)
|
||||
{
|
||||
pthread_mutex_unlock(&callback_queue_mutex);
|
||||
return;
|
||||
}
|
||||
callback_queue[callback_queue_size++] = cb_data;
|
||||
pthread_cond_broadcast(&callback_queue_callback_event);
|
||||
while (!callback_queue_done && !cb_data->complete)
|
||||
pthread_cond_wait(&callback_queue_complete_event, &callback_queue_mutex);
|
||||
pthread_mutex_unlock(&callback_queue_mutex);
|
||||
}
|
||||
|
||||
static bool get_next_callback( struct callback_data *cb_data, uint64_t *cookie )
|
||||
{
|
||||
bool ret;
|
||||
|
||||
pthread_mutex_lock(&callback_queue_mutex);
|
||||
while (!callback_queue_done && !callback_queue_size)
|
||||
pthread_cond_wait(&callback_queue_callback_event, &callback_queue_mutex);
|
||||
|
||||
if ((ret = !callback_queue_done))
|
||||
{
|
||||
assert(callback_queue_size);
|
||||
--callback_queue_size;
|
||||
*cookie = (uint64_t)(ULONG_PTR)callback_queue[callback_queue_size];
|
||||
*cb_data = *callback_queue[callback_queue_size];
|
||||
}
|
||||
pthread_cond_broadcast(&callback_queue_ready_event);
|
||||
pthread_mutex_unlock(&callback_queue_mutex);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void callback_complete( uint64_t cookie )
|
||||
{
|
||||
struct callback_data *cb_data = (struct callback_data *)(ULONG_PTR)cookie;
|
||||
|
||||
pthread_mutex_lock(&callback_queue_mutex);
|
||||
cb_data->complete = TRUE;
|
||||
pthread_cond_broadcast(&callback_queue_complete_event);
|
||||
pthread_mutex_unlock(&callback_queue_mutex);
|
||||
}
|
||||
|
||||
static void finish_callback_thread(void)
|
||||
{
|
||||
if (!callback_thread_handle)
|
||||
return;
|
||||
pthread_mutex_lock(&callback_queue_mutex);
|
||||
callback_queue_done = TRUE;
|
||||
pthread_cond_broadcast(&callback_queue_callback_event);
|
||||
pthread_cond_broadcast(&callback_queue_complete_event);
|
||||
pthread_mutex_unlock(&callback_queue_mutex);
|
||||
|
||||
WaitForSingleObject(callback_thread_handle, INFINITE);
|
||||
CloseHandle(callback_thread_handle);
|
||||
callback_thread_handle = NULL;
|
||||
}
|
||||
|
||||
typedef void (WINAPI *win_FSteamNetworkingSocketsDebugOutput)( uint32_t nType, const char *pszMsg );
|
||||
typedef void (CDECL *win_SteamAPIWarningMessageHook_t)(int, const char *pszMsg);
|
||||
|
||||
static DWORD WINAPI callback_thread(void *dummy)
|
||||
{
|
||||
struct callback_data cb_data;
|
||||
uint64_t cookie;
|
||||
|
||||
while (get_next_callback( &cb_data, &cookie))
|
||||
{
|
||||
switch (cb_data.type)
|
||||
{
|
||||
case SOCKET_DEBUG_OUTPUT:
|
||||
TRACE("SOCKET_DEBUG_OUTPUT func %p, type %u, msg %s.\n",
|
||||
cb_data.func, cb_data.sockets_debug_output.type,
|
||||
wine_dbgstr_a(cb_data.sockets_debug_output.msg));
|
||||
((win_FSteamNetworkingSocketsDebugOutput)cb_data.func)(cb_data.sockets_debug_output.type,
|
||||
cb_data.sockets_debug_output.msg);
|
||||
callback_complete(cookie);
|
||||
break;
|
||||
case STEAM_API_WARNING_HOOK:
|
||||
TRACE("STEAM_API_WARNING_HOOK func %p, type %u, msg %s.\n",
|
||||
cb_data.func, cb_data.steam_api_warning_hook.severity,
|
||||
wine_dbgstr_a(cb_data.steam_api_warning_hook.msg));
|
||||
((win_SteamAPIWarningMessageHook_t)cb_data.func)(cb_data.steam_api_warning_hook.severity,
|
||||
cb_data.steam_api_warning_hook.msg);
|
||||
callback_complete(cookie);
|
||||
break;
|
||||
case STEAM_API_CALLBACK_ONE_PARAM:
|
||||
TRACE("STEAM_API_CALLBACK_ONE_PARAM func %p, param %p.\n",
|
||||
cb_data.func, cb_data.steam_api_callback_one_param.param);
|
||||
((void (WINAPI *)(void *))cb_data.func)(cb_data.steam_api_callback_one_param.param);
|
||||
callback_complete(cookie);
|
||||
break;
|
||||
default:
|
||||
ERR("Unexpected callback type %u.\n", cb_data.type);
|
||||
break;
|
||||
}
|
||||
}
|
||||
TRACE("exiting.\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void *steamclient_lib;
|
||||
static void *(*steamclient_CreateInterface)(const char *name, int *return_code);
|
||||
static bool (*steamclient_BGetCallback)( int32_t a, u_CallbackMsg_t *b, int32_t *c );
|
||||
@ -879,7 +741,6 @@ static void (*steamclient_NotifyMissingInterface)( int32_t hSteamPipe, const cha
|
||||
static int load_steamclient(void)
|
||||
{
|
||||
char path[PATH_MAX], resolved_path[PATH_MAX];
|
||||
DWORD callback_thread_id;
|
||||
|
||||
if(steamclient_lib)
|
||||
return 1;
|
||||
@ -952,13 +813,7 @@ static int load_steamclient(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
pthread_mutex_init(&callback_queue_mutex, NULL);
|
||||
pthread_cond_init(&callback_queue_callback_event, NULL);
|
||||
pthread_cond_init(&callback_queue_ready_event, NULL);
|
||||
pthread_cond_init(&callback_queue_complete_event, NULL);
|
||||
|
||||
callback_thread_handle = CreateThread(NULL, 0, callback_thread, NULL, 0, &callback_thread_id);
|
||||
TRACE("Created callback thread 0x%04x.\n", callback_thread_id);
|
||||
start_callback_thread();
|
||||
|
||||
return 1;
|
||||
}
|
||||
@ -1143,35 +998,6 @@ void CDECL Breakpad_SteamWriteMiniDumpUsingExceptionInfoWithBuildId(int a, int b
|
||||
TRACE("\n");
|
||||
}
|
||||
|
||||
bool after_shutdown(bool ret)
|
||||
{
|
||||
TRACE("ret %d.\n", ret);
|
||||
|
||||
if (!ret)
|
||||
return 0;
|
||||
finish_callback_thread();
|
||||
return ret;
|
||||
}
|
||||
|
||||
int32_t after_steam_pipe_create( int32_t pipe )
|
||||
{
|
||||
DWORD callback_thread_id;
|
||||
|
||||
TRACE("pipe %#x.\n", pipe);
|
||||
|
||||
if (!pipe)
|
||||
return 0;
|
||||
|
||||
if (callback_thread_handle)
|
||||
return pipe;
|
||||
|
||||
callback_queue_done = FALSE;
|
||||
callback_thread_handle = CreateThread(NULL, 0, callback_thread, NULL, 0, &callback_thread_id);
|
||||
TRACE("Created callback thread 0x%04x.\n", callback_thread_id);
|
||||
|
||||
return pipe;
|
||||
}
|
||||
|
||||
bool CDECL Steam_IsKnownInterface( const char *pchVersion )
|
||||
{
|
||||
TRACE("%s\n", pchVersion);
|
||||
|
@ -51,6 +51,9 @@ void *alloc_vtable(void *vtable, unsigned int method_count, const char *iface_ve
|
||||
void *alloc_callback_wtou( int id, void *callback, int *callback_len );
|
||||
void convert_callback_utow( int id, void *u_callback, int u_callback_len, void *w_callback, int w_callback_len );
|
||||
|
||||
extern void start_callback_thread(void) DECLSPEC_HIDDEN;
|
||||
extern void stop_callback_thread(void) DECLSPEC_HIDDEN;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
@ -59,9 +59,6 @@ typedef void (W_STDCALL *w_void_SteamAPI_PostAPIResultInProcess_t)(void);
|
||||
u_void_SteamAPI_PostAPIResultInProcess_t manual_convert_DEPRECATED_Set_SteamAPI_CPostAPIResultInProcess__a( w_void_SteamAPI_PostAPIResultInProcess_t );
|
||||
u_void_SteamAPI_PostAPIResultInProcess_t manual_convert_DEPRECATED_Remove_SteamAPI_CPostAPIResultInProcess__a( w_void_SteamAPI_PostAPIResultInProcess_t );
|
||||
|
||||
bool after_shutdown( bool );
|
||||
int32_t after_steam_pipe_create( int32_t pipe );
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif /* __cplusplus */
|
||||
|
@ -27,17 +27,6 @@ DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient006_GetISteamMatchmakingServe
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient006_RunFrame, 4)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient006_GetIPCCallCount, 4)
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient006_CreateSteamPipe(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient006_CreateSteamPipe_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient006_CreateSteamPipe( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient006_BReleaseSteamPipe(struct w_steam_iface *_this, int32_t hSteamPipe)
|
||||
{
|
||||
struct cppISteamClient_SteamClient006_BReleaseSteamPipe_params params =
|
||||
@ -369,17 +358,6 @@ DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient007_GetISteamNetworking, 16)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient007_SetWarningMessageHook, 8)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient007_GetISteamRemoteStorage, 16)
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient007_CreateSteamPipe(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient007_CreateSteamPipe_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient007_CreateSteamPipe( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient007_BReleaseSteamPipe(struct w_steam_iface *_this, int32_t hSteamPipe)
|
||||
{
|
||||
struct cppISteamClient_SteamClient007_BReleaseSteamPipe_params params =
|
||||
@ -732,17 +710,6 @@ DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient008_RunFrame, 4)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient008_GetIPCCallCount, 4)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient008_SetWarningMessageHook, 8)
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient008_CreateSteamPipe(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient008_CreateSteamPipe_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient008_CreateSteamPipe( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient008_BReleaseSteamPipe(struct w_steam_iface *_this, int32_t hSteamPipe)
|
||||
{
|
||||
struct cppISteamClient_SteamClient008_BReleaseSteamPipe_params params =
|
||||
@ -1081,17 +1048,6 @@ DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient009_RunFrame, 4)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient009_GetIPCCallCount, 4)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient009_SetWarningMessageHook, 8)
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient009_CreateSteamPipe(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient009_CreateSteamPipe_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient009_CreateSteamPipe( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient009_BReleaseSteamPipe(struct w_steam_iface *_this, int32_t hSteamPipe)
|
||||
{
|
||||
struct cppISteamClient_SteamClient009_BReleaseSteamPipe_params params =
|
||||
@ -1448,17 +1404,6 @@ DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient010_SetWarningMessageHook, 8)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient010_BShutdownIfAllPipesClosed, 4)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient010_GetISteamHTTP, 16)
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient010_CreateSteamPipe(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient010_CreateSteamPipe_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient010_CreateSteamPipe( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient010_BReleaseSteamPipe(struct w_steam_iface *_this, int32_t hSteamPipe)
|
||||
{
|
||||
struct cppISteamClient_SteamClient010_BReleaseSteamPipe_params params =
|
||||
@ -1746,17 +1691,6 @@ void __thiscall winISteamClient_SteamClient010_SetWarningMessageHook(struct w_st
|
||||
cppISteamClient_SteamClient010_SetWarningMessageHook( ¶ms );
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient010_BShutdownIfAllPipesClosed(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient010_BShutdownIfAllPipesClosed_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient010_BShutdownIfAllPipesClosed( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
void /*ISteamHTTP*/ * __thiscall winISteamClient_SteamClient010_GetISteamHTTP(struct w_steam_iface *_this, int32_t hSteamuser, int32_t hSteamPipe, const char *pchVersion)
|
||||
{
|
||||
struct cppISteamClient_SteamClient010_GetISteamHTTP_params params =
|
||||
@ -1844,17 +1778,6 @@ DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient011_SetWarningMessageHook, 8)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient011_BShutdownIfAllPipesClosed, 4)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient011_GetISteamHTTP, 16)
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient011_CreateSteamPipe(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient011_CreateSteamPipe_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient011_CreateSteamPipe( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient011_BReleaseSteamPipe(struct w_steam_iface *_this, int32_t hSteamPipe)
|
||||
{
|
||||
struct cppISteamClient_SteamClient011_BReleaseSteamPipe_params params =
|
||||
@ -2157,17 +2080,6 @@ void __thiscall winISteamClient_SteamClient011_SetWarningMessageHook(struct w_st
|
||||
cppISteamClient_SteamClient011_SetWarningMessageHook( ¶ms );
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient011_BShutdownIfAllPipesClosed(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient011_BShutdownIfAllPipesClosed_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient011_BShutdownIfAllPipesClosed( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
void /*ISteamHTTP*/ * __thiscall winISteamClient_SteamClient011_GetISteamHTTP(struct w_steam_iface *_this, int32_t hSteamuser, int32_t hSteamPipe, const char *pchVersion)
|
||||
{
|
||||
struct cppISteamClient_SteamClient011_GetISteamHTTP_params params =
|
||||
@ -2258,17 +2170,6 @@ DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient012_GetISteamUnifiedMessages,
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient012_GetISteamController, 16)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient012_GetISteamUGC, 16)
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient012_CreateSteamPipe(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient012_CreateSteamPipe_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient012_CreateSteamPipe( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient012_BReleaseSteamPipe(struct w_steam_iface *_this, int32_t hSteamPipe)
|
||||
{
|
||||
struct cppISteamClient_SteamClient012_BReleaseSteamPipe_params params =
|
||||
@ -2556,17 +2457,6 @@ void __thiscall winISteamClient_SteamClient012_SetWarningMessageHook(struct w_st
|
||||
cppISteamClient_SteamClient012_SetWarningMessageHook( ¶ms );
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient012_BShutdownIfAllPipesClosed(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient012_BShutdownIfAllPipesClosed_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient012_BShutdownIfAllPipesClosed( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
void /*ISteamHTTP*/ * __thiscall winISteamClient_SteamClient012_GetISteamHTTP(struct w_steam_iface *_this, int32_t hSteamuser, int32_t hSteamPipe, const char *pchVersion)
|
||||
{
|
||||
struct cppISteamClient_SteamClient012_GetISteamHTTP_params params =
|
||||
@ -2707,17 +2597,6 @@ DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient013_GetISteamInventory, 16)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient013_GetISteamVideo, 16)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient013_GetISteamAppList, 16)
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient013_CreateSteamPipe(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient013_CreateSteamPipe_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient013_CreateSteamPipe( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient013_BReleaseSteamPipe(struct w_steam_iface *_this, int32_t hSteamPipe)
|
||||
{
|
||||
struct cppISteamClient_SteamClient013_BReleaseSteamPipe_params params =
|
||||
@ -3005,17 +2884,6 @@ void __thiscall winISteamClient_SteamClient013_SetWarningMessageHook(struct w_st
|
||||
cppISteamClient_SteamClient013_SetWarningMessageHook( ¶ms );
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient013_BShutdownIfAllPipesClosed(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient013_BShutdownIfAllPipesClosed_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient013_BShutdownIfAllPipesClosed( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
void /*ISteamHTTP*/ * __thiscall winISteamClient_SteamClient013_GetISteamHTTP(struct w_steam_iface *_this, int32_t hSteamuser, int32_t hSteamPipe, const char *pchVersion)
|
||||
{
|
||||
struct cppISteamClient_SteamClient013_GetISteamHTTP_params params =
|
||||
@ -3201,17 +3069,6 @@ DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient014_GetISteamUGC, 16)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient014_GetISteamAppList, 16)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient014_GetISteamMusic, 16)
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient014_CreateSteamPipe(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient014_CreateSteamPipe_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient014_CreateSteamPipe( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient014_BReleaseSteamPipe(struct w_steam_iface *_this, int32_t hSteamPipe)
|
||||
{
|
||||
struct cppISteamClient_SteamClient014_BReleaseSteamPipe_params params =
|
||||
@ -3499,17 +3356,6 @@ void __thiscall winISteamClient_SteamClient014_SetWarningMessageHook(struct w_st
|
||||
cppISteamClient_SteamClient014_SetWarningMessageHook( ¶ms );
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient014_BShutdownIfAllPipesClosed(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient014_BShutdownIfAllPipesClosed_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient014_BShutdownIfAllPipesClosed( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
void /*ISteamHTTP*/ * __thiscall winISteamClient_SteamClient014_GetISteamHTTP(struct w_steam_iface *_this, int32_t hSteamuser, int32_t hSteamPipe, const char *pchVersion)
|
||||
{
|
||||
struct cppISteamClient_SteamClient014_GetISteamHTTP_params params =
|
||||
@ -3682,17 +3528,6 @@ DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient015_GetISteamAppList, 16)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient015_GetISteamMusic, 16)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient015_GetISteamMusicRemote, 16)
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient015_CreateSteamPipe(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient015_CreateSteamPipe_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient015_CreateSteamPipe( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient015_BReleaseSteamPipe(struct w_steam_iface *_this, int32_t hSteamPipe)
|
||||
{
|
||||
struct cppISteamClient_SteamClient015_BReleaseSteamPipe_params params =
|
||||
@ -3980,17 +3815,6 @@ void __thiscall winISteamClient_SteamClient015_SetWarningMessageHook(struct w_st
|
||||
cppISteamClient_SteamClient015_SetWarningMessageHook( ¶ms );
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient015_BShutdownIfAllPipesClosed(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient015_BShutdownIfAllPipesClosed_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient015_BShutdownIfAllPipesClosed( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
void /*ISteamHTTP*/ * __thiscall winISteamClient_SteamClient015_GetISteamHTTP(struct w_steam_iface *_this, int32_t hSteamuser, int32_t hSteamPipe, const char *pchVersion)
|
||||
{
|
||||
struct cppISteamClient_SteamClient015_GetISteamHTTP_params params =
|
||||
@ -4183,17 +4007,6 @@ DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient016_Set_SteamAPI_CPostAPIResu
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient016_Remove_SteamAPI_CPostAPIResultInProcess, 8)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient016_Set_SteamAPI_CCheckCallbackRegisteredInProcess, 8)
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient016_CreateSteamPipe(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient016_CreateSteamPipe_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient016_CreateSteamPipe( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient016_BReleaseSteamPipe(struct w_steam_iface *_this, int32_t hSteamPipe)
|
||||
{
|
||||
struct cppISteamClient_SteamClient016_BReleaseSteamPipe_params params =
|
||||
@ -4481,17 +4294,6 @@ void __thiscall winISteamClient_SteamClient016_SetWarningMessageHook(struct w_st
|
||||
cppISteamClient_SteamClient016_SetWarningMessageHook( ¶ms );
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient016_BShutdownIfAllPipesClosed(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient016_BShutdownIfAllPipesClosed_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient016_BShutdownIfAllPipesClosed( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
void /*ISteamHTTP*/ * __thiscall winISteamClient_SteamClient016_GetISteamHTTP(struct w_steam_iface *_this, int32_t hSteamuser, int32_t hSteamPipe, const char *pchVersion)
|
||||
{
|
||||
struct cppISteamClient_SteamClient016_GetISteamHTTP_params params =
|
||||
@ -4739,17 +4541,6 @@ DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient017_GetISteamInventory, 16)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient017_GetISteamVideo, 16)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient017_GetISteamParentalSettings, 16)
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient017_CreateSteamPipe(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient017_CreateSteamPipe_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient017_CreateSteamPipe( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient017_BReleaseSteamPipe(struct w_steam_iface *_this, int32_t hSteamPipe)
|
||||
{
|
||||
struct cppISteamClient_SteamClient017_BReleaseSteamPipe_params params =
|
||||
@ -5037,17 +4828,6 @@ void __thiscall winISteamClient_SteamClient017_SetWarningMessageHook(struct w_st
|
||||
cppISteamClient_SteamClient017_SetWarningMessageHook( ¶ms );
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient017_BShutdownIfAllPipesClosed(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient017_BShutdownIfAllPipesClosed_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient017_BShutdownIfAllPipesClosed( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
void /*ISteamHTTP*/ * __thiscall winISteamClient_SteamClient017_GetISteamHTTP(struct w_steam_iface *_this, int32_t hSteamuser, int32_t hSteamPipe, const char *pchVersion)
|
||||
{
|
||||
struct cppISteamClient_SteamClient017_GetISteamHTTP_params params =
|
||||
@ -5345,17 +5125,6 @@ DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient018_GetISteamParentalSettings
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient018_GetISteamInput, 16)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient018_GetISteamParties, 16)
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient018_CreateSteamPipe(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient018_CreateSteamPipe_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient018_CreateSteamPipe( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient018_BReleaseSteamPipe(struct w_steam_iface *_this, int32_t hSteamPipe)
|
||||
{
|
||||
struct cppISteamClient_SteamClient018_BReleaseSteamPipe_params params =
|
||||
@ -5658,17 +5427,6 @@ void __thiscall winISteamClient_SteamClient018_SetWarningMessageHook(struct w_st
|
||||
cppISteamClient_SteamClient018_SetWarningMessageHook( ¶ms );
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient018_BShutdownIfAllPipesClosed(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient018_BShutdownIfAllPipesClosed_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient018_BShutdownIfAllPipesClosed( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
void /*ISteamHTTP*/ * __thiscall winISteamClient_SteamClient018_GetISteamHTTP(struct w_steam_iface *_this, int32_t hSteamuser, int32_t hSteamPipe, const char *pchVersion)
|
||||
{
|
||||
struct cppISteamClient_SteamClient018_GetISteamHTTP_params params =
|
||||
@ -6000,17 +5758,6 @@ DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient019_GetISteamInput, 16)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient019_GetISteamParties, 16)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient019_GetISteamRemotePlay, 16)
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient019_CreateSteamPipe(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient019_CreateSteamPipe_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient019_CreateSteamPipe( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient019_BReleaseSteamPipe(struct w_steam_iface *_this, int32_t hSteamPipe)
|
||||
{
|
||||
struct cppISteamClient_SteamClient019_BReleaseSteamPipe_params params =
|
||||
@ -6313,17 +6060,6 @@ void __thiscall winISteamClient_SteamClient019_SetWarningMessageHook(struct w_st
|
||||
cppISteamClient_SteamClient019_SetWarningMessageHook( ¶ms );
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient019_BShutdownIfAllPipesClosed(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient019_BShutdownIfAllPipesClosed_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient019_BShutdownIfAllPipesClosed( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
void /*ISteamHTTP*/ * __thiscall winISteamClient_SteamClient019_GetISteamHTTP(struct w_steam_iface *_this, int32_t hSteamuser, int32_t hSteamPipe, const char *pchVersion)
|
||||
{
|
||||
struct cppISteamClient_SteamClient019_GetISteamHTTP_params params =
|
||||
@ -6672,17 +6408,6 @@ DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient020_GetISteamParties, 16)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient020_GetISteamRemotePlay, 16)
|
||||
DEFINE_THISCALL_WRAPPER(winISteamClient_SteamClient020_DestroyAllInterfaces, 4)
|
||||
|
||||
int32_t __thiscall winISteamClient_SteamClient020_CreateSteamPipe(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient020_CreateSteamPipe_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient020_CreateSteamPipe( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient020_BReleaseSteamPipe(struct w_steam_iface *_this, int32_t hSteamPipe)
|
||||
{
|
||||
struct cppISteamClient_SteamClient020_BReleaseSteamPipe_params params =
|
||||
@ -6985,17 +6710,6 @@ void __thiscall winISteamClient_SteamClient020_SetWarningMessageHook(struct w_st
|
||||
cppISteamClient_SteamClient020_SetWarningMessageHook( ¶ms );
|
||||
}
|
||||
|
||||
bool __thiscall winISteamClient_SteamClient020_BShutdownIfAllPipesClosed(struct w_steam_iface *_this)
|
||||
{
|
||||
struct cppISteamClient_SteamClient020_BShutdownIfAllPipesClosed_params params =
|
||||
{
|
||||
.linux_side = _this->u_iface,
|
||||
};
|
||||
TRACE("%p\n", _this);
|
||||
cppISteamClient_SteamClient020_BShutdownIfAllPipesClosed( ¶ms );
|
||||
return params._ret;
|
||||
}
|
||||
|
||||
void /*ISteamHTTP*/ * __thiscall winISteamClient_SteamClient020_GetISteamHTTP(struct w_steam_iface *_this, int32_t hSteamuser, int32_t hSteamPipe, const char *pchVersion)
|
||||
{
|
||||
struct cppISteamClient_SteamClient020_GetISteamHTTP_params params =
|
||||
|
Loading…
x
Reference in New Issue
Block a user