Show / Hide Table of Contents

Class CopyMoveHandlerBase

The shared implementation of the COPY and MOVE handlers.

Inheritance
Object
CopyMoveHandlerBase
CopyHandler
MoveHandler
Inherited Members
Object.Equals(Object)
Object.Equals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Object.ReferenceEquals(Object, Object)
Object.ToString()
Namespace:FubarDev.WebDavServer.Handlers.Impl
Assembly:FubarDev.WebDavServer.dll
Syntax
public abstract class CopyMoveHandlerBase

Constructors

| Improve this Doc View Source

CopyMoveHandlerBase(IFileSystem, IWebDavContext, ILogger)

Initializes a new instance of the CopyMoveHandlerBase class.

Declaration
protected CopyMoveHandlerBase([NotNull] IFileSystem rootFileSystem, [NotNull] IWebDavContext context, [NotNull] ILogger logger)
Parameters
Type Name Description
IFileSystem rootFileSystem

The root file system

IWebDavContext context

The WebDAV context

Microsoft.Extensions.Logging.ILogger logger

The logger to use (either for COPY or MOVE)

Properties

| Improve this Doc View Source

Logger

Gets the logger

Declaration
[NotNull]
protected ILogger Logger { get; }
Property Value
Type Description
Microsoft.Extensions.Logging.ILogger
| Improve this Doc View Source

WebDavContext

Gets the WebDAV context

Declaration
[NotNull]
protected IWebDavContext WebDavContext { get; }
Property Value
Type Description
IWebDavContext

Methods

| Improve this Doc View Source

CreateLocalTargetActions(RecursiveProcessingMode)

Create the target action implementation for local COPY or MOVE

Declaration
[NotNull]
protected abstract ITargetActions<CollectionTarget, DocumentTarget, MissingTarget> CreateLocalTargetActions(RecursiveProcessingMode mode)
Parameters
Type Name Description
RecursiveProcessingMode mode

The requested processing mode (in-filesystem or cross-filesystem)

Returns
Type Description
ITargetActions<CollectionTarget, DocumentTarget, MissingTarget>

The implementation for local actions

| Improve this Doc View Source

CreateRemoteTargetActionsAsync(Uri, CancellationToken)

Create the target action implementation for remote COPY or MOVE

Declaration
[NotNull]
[ItemCanBeNull]
protected abstract Task<IRemoteTargetActions> CreateRemoteTargetActionsAsync(Uri destinationUrl, CancellationToken cancellationToken)
Parameters
Type Name Description
Uri destinationUrl

The destination URL

CancellationToken cancellationToken

The cancellcation token

Returns
Type Description
Task<IRemoteTargetActions>

The implementation for remote actions

| Improve this Doc View Source

ExecuteAsync(String, Uri, DepthHeader, Boolean, RecursiveProcessingMode, Boolean, CancellationToken)

Executes the COPY or MOVE recursively

Declaration
protected Task<IWebDavResult> ExecuteAsync([NotNull] string sourcePath, [NotNull] Uri destination, DepthHeader depth, bool overwrite, RecursiveProcessingMode mode, bool isMove, CancellationToken cancellationToken)
Parameters
Type Name Description
String sourcePath

The source path

Uri destination

The destination URI

DepthHeader depth

The depth

Boolean overwrite

Can the destination be overwritten?

RecursiveProcessingMode mode

The COPY mode to use

Boolean isMove

Is this a move operation?

CancellationToken cancellationToken

The cancellcation token

Returns
Type Description
Task<IWebDavResult>

The result of the operation

  • Improve this Doc
  • View Source
Back to top Copyright © 2016-2017 Fubar Development Junker
Generated by DocFX