You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
- Removed functionality to set environment variables through the IPerforceConnection object. This is now handled via PerforceEnvironment. - Added support for logging in using the native Perforce connection implementation. - Started migrating methods that return a list of responses to return an IAsyncEnumerable instead. This makes it much easier to perform stream processing on requests that return a lot of data. - Added the "p4 depot" command. - Added the "p4 have" command. - Added the "p4 opened" command. - Added the "p4 stream" command. - Added the "p4 users" command. - Added support for printing files to a temporary file, and for p4 print commands returning metadata along with the payload in its response. - Fixed stream corruption using native Perforce library if a record did not completely fit within the output buffer. #preflight none [CL 18504069 by Ben Marsh in ue5-main branch]
46 lines
1.4 KiB
C#
46 lines
1.4 KiB
C#
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
using Microsoft.Extensions.Logging;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace EpicGames.Perforce
|
|
{
|
|
/// <summary>
|
|
/// Base interface for Perforce clients
|
|
/// </summary>
|
|
public interface IPerforceConnection : IDisposable
|
|
{
|
|
/// <summary>
|
|
/// Connection settings
|
|
/// </summary>
|
|
IPerforceSettings Settings { get; }
|
|
|
|
/// <summary>
|
|
/// Logger for this connection
|
|
/// </summary>
|
|
ILogger Logger { get; }
|
|
|
|
/// <summary>
|
|
/// Runs a Perforce command
|
|
/// </summary>
|
|
/// <param name="Command">The command name</param>
|
|
/// <param name="Arguments">Arguments for the command</param>
|
|
/// <param name="FileArguments">File arguments (may be put into a response file)</param>
|
|
/// <param name="InputData">Input data to be passed to the command</param>
|
|
/// <returns>Response object</returns>
|
|
Task<IPerforceOutput> CommandAsync(string Command, IReadOnlyList<string> Arguments, IReadOnlyList<string>? FileArguments, byte[]? InputData);
|
|
|
|
/// <summary>
|
|
/// Execute the 'login' command
|
|
/// </summary>
|
|
/// <param name="Password">Password to use to login</param>
|
|
/// <param name="CancellationToken">Token used to cancel the operation</param>
|
|
/// <returns>Response from the server</returns>
|
|
Task<IPerforceOutput> LoginCommandAsync(string Password, CancellationToken CancellationToken = default);
|
|
}
|
|
}
|