Files
AdvancedSessionsPlugin/Source/AdvancedSessions/Private/SteamFuncs/SteamWSRequestUGCDetailsCallbackProxy.cpp
mordentral cc9cc9b390 Reduced default timeout delay from retrieving workshop details
Added missing array brackets to delete operator


Former-commit-id: 9e6a3808cade512a7a7d80d92695e32db360d387
2017-02-24 14:44:49 -05:00

55 lines
1.7 KiB
C++

// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
#include "OnlineSubSystemHeader.h"
#include "SteamFuncs/SteamWSRequestUGCDetailsCallbackProxy.h"
//////////////////////////////////////////////////////////////////////////
// UEndSessionCallbackProxy
USteamWSRequestUGCDetailsCallbackProxy::USteamWSRequestUGCDetailsCallbackProxy(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
NumSecondsBeforeTimeout = 2.0f;
}
USteamWSRequestUGCDetailsCallbackProxy* USteamWSRequestUGCDetailsCallbackProxy::GetWorkshopItemDetails(UObject* WorldContextObject, FBPSteamWorkshopID WorkShopID, int32 NumSecondsBeforeTimeout)
{
USteamWSRequestUGCDetailsCallbackProxy* Proxy = NewObject<USteamWSRequestUGCDetailsCallbackProxy>();
Proxy->WorkShopID = WorkShopID;
Proxy->NumSecondsBeforeTimeout = NumSecondsBeforeTimeout;
return Proxy;
}
void USteamWSRequestUGCDetailsCallbackProxy::Activate()
{
#if PLATFORM_WINDOWS || PLATFORM_MAC || PLATFORM_LINUX
if (SteamAPI_Init())
{
SteamAPICall_t hSteamAPICall = SteamUGC()->RequestUGCDetails(WorkShopID.SteamWorkshopID, NumSecondsBeforeTimeout);
m_callResultUGCRequestDetails.Set(hSteamAPICall, this, &USteamWSRequestUGCDetailsCallbackProxy::OnUGCRequestUGCDetails);
return;
}
#endif
OnFailure.Broadcast(FBPSteamWorkshopItemDetails());
}
void USteamWSRequestUGCDetailsCallbackProxy::OnUGCRequestUGCDetails(SteamUGCRequestUGCDetailsResult_t *pResult, bool bIOFailure)
{
#if PLATFORM_WINDOWS || PLATFORM_MAC || PLATFORM_LINUX
if (bIOFailure || !pResult)
{
OnFailure.Broadcast(FBPSteamWorkshopItemDetails());
return;
}
OnSuccess.Broadcast(FBPSteamWorkshopItemDetails(pResult->m_details));
return;
#endif
OnFailure.Broadcast(FBPSteamWorkshopItemDetails());
}