6#include "Containers/Array.h"
7#include "Containers/Map.h"
12#define INTERCHANGE_INVALID_TASK_ID 0xFFFFFFFFFFFFFFFF
19 class FInterchangeTaskSystem;
63 return PrerequisiteTasks;
200 return OnTaskSystemTick;
205 static bool bIsCreatingSingleton;
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
#define DECLARE_MULTICAST_DELEGATE(DelegateName)
Definition DelegateCombinations.h:23
#define INTERCHANGE_INVALID_TASK_ID
Definition InterchangeTaskSystem.h:12
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition ScopeLock.h:141
Definition AndroidPlatformMisc.h:14
bool IsValid() const
Definition Future.h:267
ConstResultType Get() const
Definition Future.h:239
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition InterchangeTaskSystem.h:35
INTERCHANGECORE_API void Wait() const
Definition InterchangeTaskSystem.cpp:43
EInterchangeTaskStatus GetTaskStatus() const
Definition InterchangeTaskSystem.h:66
FInterchangeTaskBase()
Definition InterchangeTaskSystem.h:37
virtual ~FInterchangeTaskBase()
Definition InterchangeTaskSystem.h:40
const TArray< uint64 > & GetPrerequisiteTasks() const
Definition InterchangeTaskSystem.h:61
uint64 GetTaskId() const
Definition InterchangeTaskSystem.h:51
INTERCHANGECORE_API bool SetTaskStatus(EInterchangeTaskStatus NewTaskStatus)
Definition InterchangeTaskSystem.cpp:21
virtual EInterchangeTaskThread GetTaskThread() const
Definition InterchangeTaskSystem.h:56
INTERCHANGECORE_API void SetPrerequisites(const TArray< uint64 > &InPrerequisiteTasks)
Definition InterchangeTaskSystem.cpp:37
Definition InterchangeTaskSystem.h:122
virtual EInterchangeTaskThread GetTaskThread() const override
Definition InterchangeTaskSystem.h:135
FInterchangeTaskLambda(EInterchangeTaskThread InTaskThread, TFunction< void()> InExecuteLambda)
Definition InterchangeTaskSystem.h:129
virtual void Execute()
Definition InterchangeTaskSystem.h:140
Definition InterchangeTaskSystem.h:147
FOnInterchangeTaskSystemTick & OnTaskSystemTickDelegate()
Definition InterchangeTaskSystem.h:198
static INTERCHANGECORE_API FInterchangeTaskSystem & Get()
Definition InterchangeTaskSystem.cpp:56
INTERCHANGECORE_API void WaitUntilTasksComplete(const TArray< uint64 > &TasksToComplete)
Definition InterchangeTaskSystem.cpp:174
INTERCHANGECORE_API EInterchangeTaskStatus GetTaskStatus(const uint64 TaskId) const
Definition InterchangeTaskSystem.cpp:134
INTERCHANGECORE_API void CancelTask(const uint64 TaskId, const bool bCancelPrerequisites)
Definition InterchangeTaskSystem.cpp:167
FInterchangeTaskSystem()
Definition InterchangeTaskSystem.cpp:48
INTERCHANGECORE_API uint64 AddTask(TSharedPtr< FInterchangeTaskBase, ESPMode::ThreadSafe > Task, TArray< uint64 > &TaskPrerequisites)
Definition InterchangeTaskSystem.cpp:115
Definition InterchangeHelper.cpp:9
EInterchangeTaskThread
Definition InterchangeTaskSystem.h:29
EInterchangeTaskStatus
Definition InterchangeTaskSystem.h:22