lsteamclient: Support ISteamRemotePlay

This commit is contained in:
Andrew Eikum 2019-08-16 08:51:27 -05:00
parent 19b53264bd
commit 19ece0270b
7 changed files with 147 additions and 1 deletions

View File

@ -0,0 +1,43 @@
#include "steam_defs.h"
#include "steamworks_sdk_146/steam_api.h"
#include "steamworks_sdk_146/steamnetworkingtypes.h"
#include "steamclient_private.h"
#ifdef __cplusplus
extern "C" {
#endif
#define SDKVER_146
#include "struct_converters.h"
#include "cppISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001.h"
uint32 cppISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionCount(void *linux_side)
{
return ((ISteamRemotePlay*)linux_side)->GetSessionCount();
}
uint32 cppISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionID(void *linux_side, int iSessionIndex)
{
return ((ISteamRemotePlay*)linux_side)->GetSessionID((int)iSessionIndex);
}
CSteamID cppISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionSteamID(void *linux_side, uint32 unSessionID)
{
return ((ISteamRemotePlay*)linux_side)->GetSessionSteamID((uint32)unSessionID);
}
const char * cppISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionClientName(void *linux_side, uint32 unSessionID)
{
return ((ISteamRemotePlay*)linux_side)->GetSessionClientName((uint32)unSessionID);
}
ESteamDeviceFormFactor cppISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionClientFormFactor(void *linux_side, uint32 unSessionID)
{
return ((ISteamRemotePlay*)linux_side)->GetSessionClientFormFactor((uint32)unSessionID);
}
bool cppISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_BGetSessionClientResolution(void *linux_side, uint32 unSessionID, int * pnResolutionX, int * pnResolutionY)
{
return ((ISteamRemotePlay*)linux_side)->BGetSessionClientResolution((uint32)unSessionID, (int *)pnResolutionX, (int *)pnResolutionY);
}
#ifdef __cplusplus
}
#endif

View File

@ -0,0 +1,6 @@
extern uint32 cppISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionCount(void *);
extern uint32 cppISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionID(void *, int);
extern CSteamID cppISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionSteamID(void *, uint32);
extern const char * cppISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionClientName(void *, uint32);
extern ESteamDeviceFormFactor cppISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionClientFormFactor(void *, uint32);
extern bool cppISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_BGetSessionClientResolution(void *, uint32, int *, int *);

View File

@ -107,6 +107,7 @@ files = [
"ISteamMusicRemote", "ISteamMusicRemote",
"ISteamNetworking", "ISteamNetworking",
"ISteamParties", "ISteamParties",
"ISteamRemotePlay",
"ISteamRemoteStorage", "ISteamRemoteStorage",
"ISteamScreenshots", "ISteamScreenshots",
"ISteamUGC", "ISteamUGC",

View File

@ -93,7 +93,8 @@ typedef uint32_t EUserUGCList,
ESteamNetworkingGetConfigValueResult, ESteamNetworkingGetConfigValueResult,
EGameSearchErrorCode_t, EGameSearchErrorCode_t,
EPlayerResult_t, EPlayerResult_t,
ESteamNetworkingAvailability ESteamNetworkingAvailability,
ESteamDeviceFormFactor
; ;
/* structs below are PODs with identical size & layout across platforms */ /* structs below are PODs with identical size & layout across platforms */

View File

@ -0,0 +1,93 @@
/* This file is auto-generated, do not edit. */
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "wine/debug.h"
#include "cxx.h"
#include "steam_defs.h"
#include "steamclient_private.h"
#include "struct_converters.h"
WINE_DEFAULT_DEBUG_CHANNEL(steamclient);
#include "cppISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001.h"
typedef struct __winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001 {
vtable_ptr *vtable;
void *linux_side;
} winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001;
DEFINE_THISCALL_WRAPPER(winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionCount, 4)
uint32 __thiscall winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionCount(winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001 *_this)
{
TRACE("%p\n", _this);
return cppISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionCount(_this->linux_side);
}
DEFINE_THISCALL_WRAPPER(winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionID, 8)
uint32 __thiscall winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionID(winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001 *_this, int iSessionIndex)
{
TRACE("%p\n", _this);
return cppISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionID(_this->linux_side, iSessionIndex);
}
DEFINE_THISCALL_WRAPPER(winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionSteamID, 12)
CSteamID *__thiscall winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionSteamID(winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001 *_this, CSteamID *_r, uint32 unSessionID)
{
TRACE("%p\n", _this);
*_r = cppISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionSteamID(_this->linux_side, unSessionID);
return _r;
}
DEFINE_THISCALL_WRAPPER(winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionClientName, 8)
const char * __thiscall winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionClientName(winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001 *_this, uint32 unSessionID)
{
TRACE("%p\n", _this);
return cppISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionClientName(_this->linux_side, unSessionID);
}
DEFINE_THISCALL_WRAPPER(winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionClientFormFactor, 8)
ESteamDeviceFormFactor __thiscall winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionClientFormFactor(winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001 *_this, uint32 unSessionID)
{
TRACE("%p\n", _this);
return cppISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionClientFormFactor(_this->linux_side, unSessionID);
}
DEFINE_THISCALL_WRAPPER(winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_BGetSessionClientResolution, 16)
bool __thiscall winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_BGetSessionClientResolution(winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001 *_this, uint32 unSessionID, int * pnResolutionX, int * pnResolutionY)
{
TRACE("%p\n", _this);
return cppISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_BGetSessionClientResolution(_this->linux_side, unSessionID, pnResolutionX, pnResolutionY);
}
extern vtable_ptr winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_vtable;
#ifndef __GNUC__
void __asm_dummy_vtables(void) {
#endif
__ASM_VTABLE(winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001,
VTABLE_ADD_FUNC(winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionCount)
VTABLE_ADD_FUNC(winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionID)
VTABLE_ADD_FUNC(winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionSteamID)
VTABLE_ADD_FUNC(winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionClientName)
VTABLE_ADD_FUNC(winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_GetSessionClientFormFactor)
VTABLE_ADD_FUNC(winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_BGetSessionClientResolution)
);
#ifndef __GNUC__
}
#endif
winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001 *create_winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001(void *linux_side)
{
winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001 *r = HeapAlloc(GetProcessHeap(), 0, sizeof(winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001));
TRACE("-> %p\n", r);
r->vtable = &winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001_vtable;
r->linux_side = linux_side;
return r;
}

View File

@ -21,6 +21,7 @@ extern void *create_winISteamAppList_STEAMAPPLIST_INTERFACE_VERSION001(void *);
extern void *create_winISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_005(void *); extern void *create_winISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_005(void *);
extern void *create_winISteamInventory_STEAMINVENTORY_INTERFACE_V003(void *); extern void *create_winISteamInventory_STEAMINVENTORY_INTERFACE_V003(void *);
extern void *create_winISteamVideo_STEAMVIDEO_INTERFACE_V002(void *); extern void *create_winISteamVideo_STEAMVIDEO_INTERFACE_V002(void *);
extern void *create_winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001(void *);
extern void *create_winISteamAppTicket_STEAMAPPTICKET_INTERFACE_VERSION001(void *); extern void *create_winISteamAppTicket_STEAMAPPTICKET_INTERFACE_VERSION001(void *);
extern void *create_winISteamGameServer_SteamGameServer012(void *); extern void *create_winISteamGameServer_SteamGameServer012(void *);
extern void *create_winISteamGameServerStats_SteamGameServerStats001(void *); extern void *create_winISteamGameServerStats_SteamGameServerStats001(void *);

View File

@ -21,6 +21,7 @@
{"STEAMHTMLSURFACE_INTERFACE_VERSION_005", &create_winISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_005}, {"STEAMHTMLSURFACE_INTERFACE_VERSION_005", &create_winISteamHTMLSurface_STEAMHTMLSURFACE_INTERFACE_VERSION_005},
{"STEAMINVENTORY_INTERFACE_V003", &create_winISteamInventory_STEAMINVENTORY_INTERFACE_V003}, {"STEAMINVENTORY_INTERFACE_V003", &create_winISteamInventory_STEAMINVENTORY_INTERFACE_V003},
{"STEAMVIDEO_INTERFACE_V002", &create_winISteamVideo_STEAMVIDEO_INTERFACE_V002}, {"STEAMVIDEO_INTERFACE_V002", &create_winISteamVideo_STEAMVIDEO_INTERFACE_V002},
{"STEAMREMOTEPLAY_INTERFACE_VERSION001", &create_winISteamRemotePlay_STEAMREMOTEPLAY_INTERFACE_VERSION001},
{"STEAMAPPTICKET_INTERFACE_VERSION001", &create_winISteamAppTicket_STEAMAPPTICKET_INTERFACE_VERSION001}, {"STEAMAPPTICKET_INTERFACE_VERSION001", &create_winISteamAppTicket_STEAMAPPTICKET_INTERFACE_VERSION001},
{"SteamGameServer012", &create_winISteamGameServer_SteamGameServer012}, {"SteamGameServer012", &create_winISteamGameServer_SteamGameServer012},
{"SteamGameServerStats001", &create_winISteamGameServerStats_SteamGameServerStats001}, {"SteamGameServerStats001", &create_winISteamGameServerStats_SteamGameServerStats001},