diff --git a/lsteamclient/Makefile.in b/lsteamclient/Makefile.in index 1a43c1d7..f63dfca4 100644 --- a/lsteamclient/Makefile.in +++ b/lsteamclient/Makefile.in @@ -254,6 +254,7 @@ SOURCES = \ cppISteamVideo_STEAMVIDEO_INTERFACE_V007.cpp \ unix_steam_input_manual.cpp \ unix_steam_networking_manual.cpp \ + unix_steam_remote_storage_manual.cpp \ unix_steam_utils_manual.cpp \ unix_steam_matchmaking_manual.cpp \ unixlib.cpp \ diff --git a/lsteamclient/cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION005.cpp b/lsteamclient/cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION005.cpp index 20c80998..7f3d16cb 100644 --- a/lsteamclient/cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION005.cpp +++ b/lsteamclient/cppISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION005.cpp @@ -203,14 +203,6 @@ NTSTATUS ISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION005_PublishWork return 0; } -NTSTATUS ISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION005_UpdatePublishedFile( void *args ) -{ - struct ISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION005_UpdatePublishedFile_params *params = (struct ISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION005_UpdatePublishedFile_params *)args; - struct u_ISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION005 *iface = (struct u_ISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION005 *)params->u_iface; - params->_ret = iface->UpdatePublishedFile( params->updatePublishedFileRequest ); - return 0; -} - NTSTATUS ISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION005_GetPublishedFileDetails( void *args ) { struct ISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION005_GetPublishedFileDetails_params *params = (struct ISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION005_GetPublishedFileDetails_params *)args; diff --git a/lsteamclient/gen_wrapper.py b/lsteamclient/gen_wrapper.py index c91aacc2..1e7bde01 100755 --- a/lsteamclient/gen_wrapper.py +++ b/lsteamclient/gen_wrapper.py @@ -206,7 +206,8 @@ SIZED_STRUCTS = { # we have converters for these written by hand because they're too complicated to generate MANUAL_STRUCTS = [ - "SteamNetworkingMessage_t" + "SteamNetworkingMessage_t", + "RemoteStorageUpdatePublishedFileRequest_t", ] UNIX_FUNCS = [ @@ -277,6 +278,8 @@ MANUAL_METHODS = { "ISteamClient_Set_SteamAPI_CCheckCallbackRegisteredInProcess": lambda ver, abi: abi == 'u' and ver >= 20, "ISteamUtils_GetAPICallResult": lambda ver, abi: abi == 'u', + + "ISteamRemoteStorage_UpdatePublishedFile": lambda ver, abi: abi == 'u' and ver >= 5, } diff --git a/lsteamclient/unix_steam_remote_storage_manual.cpp b/lsteamclient/unix_steam_remote_storage_manual.cpp new file mode 100644 index 00000000..ac62d4ef --- /dev/null +++ b/lsteamclient/unix_steam_remote_storage_manual.cpp @@ -0,0 +1,19 @@ +#include "unix_private.h" + +#if 0 +#pragma makedep unix +#endif + +WINE_DEFAULT_DEBUG_CHANNEL(steamclient); + +template< typename Iface, typename Params > +static NTSTATUS ISteamRemoteStorage_UpdatePublishedFile( Iface *iface, Params *params ) +{ + u_RemoteStorageUpdatePublishedFileRequest_t u_updatePublishedFileRequest = params->updatePublishedFileRequest; + u_updatePublishedFileRequest.m_pTags = new u_SteamParamStringArray_t( *params->updatePublishedFileRequest.m_pTags ); + params->_ret = iface->UpdatePublishedFile( u_updatePublishedFileRequest ); + delete u_updatePublishedFileRequest.m_pTags; + return 0; +} + +LSTEAMCLIENT_UNIX_IMPL( ISteamRemoteStorage, STEAMREMOTESTORAGE_INTERFACE_VERSION005, UpdatePublishedFile );