Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
GenericPlatformOutputDevices.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Array.h"
6#include "Containers/UnrealString.h"
7#include "CoreTypes.h"
8#include "GenericPlatform/GenericPlatform.h"
9#include "HAL/CriticalSection.h"
10#include "Templates/UniquePtr.h"
11
13class FOutputDevice;
16
17/**
18 * Generic implementation for most platforms
19 */
21{
22 /** Add output devices which can vary depending on platform, configuration, command line parameters. */
23 static void SetupOutputDevices();
24
25 /**
26 * Returns the absolute log filename generated from the project properties and/or command line parameters.
27 * The returned value may change during the execution, may not exist yet or may be locked by another process.
28 * It depends if the function is called before the log file was successfully opened or after. The log file is
29 * open lazily.
30 */
33 static void GetPerChannelFileOverrides(TArray<FOutputDevice*>& OutputDevices);
35 {
36 return nullptr; // normally only used for dedicated servers
37 }
38
41
42protected:
44
45private:
46 static constexpr SIZE_T AbsoluteFileNameMaxLength = 1024;
48
49 static void OnLogFileOpened(const TCHAR* Pathname);
51};
FWindowsCriticalSection FCriticalSection
static FOutputDeviceError * GetError()
static TCHAR CachedAbsoluteFilename[AbsoluteFileNameMaxLength]
static FString GetAbsoluteLogFilename()
static constexpr SIZE_T AbsoluteFileNameMaxLength
static FOutputDevice * GetLog()
static void ResetCachedAbsoluteFilename()
static void OnLogFileOpened(const TCHAR *Pathname)
static FFeedbackContext * GetFeedbackContext()
static void GetPerChannelFileOverrides(TArray< FOutputDevice * > &OutputDevices)