Files
UnrealEngineUWP/Engine/Source/Developer/iOS/IOSTargetPlatform/Private/IOSTargetDeviceOutput.h
Jack Porter 8e4a36c90a Re-adding with IOS to fix case issue
#rb None

[CL 4356704 by Jack Porter in Dev-Mobile branch]
2018-09-10 21:20:00 -04:00

56 lines
1.3 KiB
C++

// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Containers/UnrealString.h"
#include "HAL/Runnable.h"
#include "HAL/RunnableThread.h"
#include "HAL/PlatformProcess.h"
#include "Interfaces/ITargetDeviceOutput.h"
#include "Misc/ConfigCacheIni.h"
#include "HAL/ThreadSafeCounter.h"
class FIOSTargetDevice;
class FIOSDeviceOutputReaderRunnable : public FRunnable
{
public:
FIOSDeviceOutputReaderRunnable(const FTargetDeviceId InDeviceId, FOutputDevice* Output);
// FRunnable interface.
virtual bool Init(void) override;
virtual void Exit(void) override;
virtual void Stop(void) override;
virtual uint32 Run(void) override;
private:
bool StartDSProcess(void);
private:
// > 0 if we've been asked to abort work in progress at the next opportunity
FThreadSafeCounter StopTaskCounter;
FTargetDeviceId DeviceId;
FOutputDevice* Output;
void* DSReadPipe;
void* DSWritePipe;
FProcHandle DSProcHandle;
};
/**
* Implements a IOS target device output.
*/
class FIOSTargetDeviceOutput : public ITargetDeviceOutput
{
public:
bool Init(const FIOSTargetDevice& TargetDevice, FOutputDevice* Output);
private:
TUniquePtr<FRunnableThread> DeviceOutputThread;
FTargetDeviceId DeviceId;
FString DeviceName;
};
#include "IOSTargetDeviceOutput.inl"