Table of Contents

Interface IFilesystemProvider

Namespace
Akavache
Assembly
Akavache.Core.dll

An abstraction for the simple file operations that an IBlobCache can perform. Create a new instance of this when adapting IBlobCache to different platforms or backing stores, or for testing purposes.

public interface IFilesystemProvider
Extension Methods
WhenAnyMixin.WhenAny<TSender, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(TSender?, Expression<Func<TSender, T1>>, Expression<Func<TSender, T2>>, Expression<Func<TSender, T3>>, Expression<Func<TSender, T4>>, Expression<Func<TSender, T5>>, Expression<Func<TSender, T6>>, Expression<Func<TSender, T7>>, Expression<Func<TSender, T8>>, Expression<Func<TSender, T9>>, Expression<Func<TSender, T10>>, Expression<Func<TSender, T11>>, Expression<Func<TSender, T12>>, Func<IObservedChange<TSender, T1>, IObservedChange<TSender, T2>, IObservedChange<TSender, T3>, IObservedChange<TSender, T4>, IObservedChange<TSender, T5>, IObservedChange<TSender, T6>, IObservedChange<TSender, T7>, IObservedChange<TSender, T8>, IObservedChange<TSender, T9>, IObservedChange<TSender, T10>, IObservedChange<TSender, T11>, IObservedChange<TSender, T12>, TRet>)
WhenAnyMixin.WhenAny<TSender, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(TSender?, Expression<Func<TSender, T1>>, Expression<Func<TSender, T2>>, Expression<Func<TSender, T3>>, Expression<Func<TSender, T4>>, Expression<Func<TSender, T5>>, Expression<Func<TSender, T6>>, Expression<Func<TSender, T7>>, Expression<Func<TSender, T8>>, Expression<Func<TSender, T9>>, Expression<Func<TSender, T10>>, Expression<Func<TSender, T11>>, Expression<Func<TSender, T12>>, Func<IObservedChange<TSender, T1>, IObservedChange<TSender, T2>, IObservedChange<TSender, T3>, IObservedChange<TSender, T4>, IObservedChange<TSender, T5>, IObservedChange<TSender, T6>, IObservedChange<TSender, T7>, IObservedChange<TSender, T8>, IObservedChange<TSender, T9>, IObservedChange<TSender, T10>, IObservedChange<TSender, T11>, IObservedChange<TSender, T12>, TRet>)
WhenAnyMixin.WhenAny<TSender, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(TSender?, Expression<Func<TSender, T1>>, Expression<Func<TSender, T2>>, Expression<Func<TSender, T3>>, Expression<Func<TSender, T4>>, Expression<Func<TSender, T5>>, Expression<Func<TSender, T6>>, Expression<Func<TSender, T7>>, Expression<Func<TSender, T8>>, Expression<Func<TSender, T9>>, Expression<Func<TSender, T10>>, Expression<Func<TSender, T11>>, Expression<Func<TSender, T12>>, Func<IObservedChange<TSender, T1>, IObservedChange<TSender, T2>, IObservedChange<TSender, T3>, IObservedChange<TSender, T4>, IObservedChange<TSender, T5>, IObservedChange<TSender, T6>, IObservedChange<TSender, T7>, IObservedChange<TSender, T8>, IObservedChange<TSender, T9>, IObservedChange<TSender, T10>, IObservedChange<TSender, T11>, IObservedChange<TSender, T12>, TRet>)
WhenAnyMixin.WhenAny<TSender, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(TSender?, Expression<Func<TSender, T1>>, Expression<Func<TSender, T2>>, Expression<Func<TSender, T3>>, Expression<Func<TSender, T4>>, Expression<Func<TSender, T5>>, Expression<Func<TSender, T6>>, Expression<Func<TSender, T7>>, Expression<Func<TSender, T8>>, Expression<Func<TSender, T9>>, Expression<Func<TSender, T10>>, Expression<Func<TSender, T11>>, Expression<Func<TSender, T12>>, Func<IObservedChange<TSender, T1>, IObservedChange<TSender, T2>, IObservedChange<TSender, T3>, IObservedChange<TSender, T4>, IObservedChange<TSender, T5>, IObservedChange<TSender, T6>, IObservedChange<TSender, T7>, IObservedChange<TSender, T8>, IObservedChange<TSender, T9>, IObservedChange<TSender, T10>, IObservedChange<TSender, T11>, IObservedChange<TSender, T12>, TRet>)

Methods

CreateRecursive(string)

Create a directory and its parents. If the directory already exists, this method does nothing (i.e. it does not throw if a directory exists).

IObservable<Unit> CreateRecursive(string path)

Parameters

path string

The path to create.

Returns

IObservable<Unit>

A observable which signals when the create is finished.

Delete(string)

Deletes a file.

IObservable<Unit> Delete(string path)

Parameters

path string

The path to the file.

Returns

IObservable<Unit>

A observable which signals when the delete is finished.

GetDefaultLocalMachineCacheDirectory()

Gets the default local machine cache directory (i.e. the one for temporary data).

string? GetDefaultLocalMachineCacheDirectory()

Returns

string

The default local machine cache directory.

GetDefaultRoamingCacheDirectory()

Gets the default roaming cache directory (i.e. the one for user settings).

string? GetDefaultRoamingCacheDirectory()

Returns

string

The default roaming cache directory.

GetDefaultSecretCacheDirectory()

Gets the default roaming cache directory (i.e. the one for user settings).

string? GetDefaultSecretCacheDirectory()

Returns

string

The default roaming cache directory.

OpenFileForReadAsync(string, IScheduler)

Open a file on a background thread, with the File object in 'async mode'. It is critical that this operation is deferred and returns immediately (i.e. wrapped in an Observable.Start).

IObservable<Stream> OpenFileForReadAsync(string path, IScheduler scheduler)

Parameters

path string

The path to the file.

scheduler IScheduler

The scheduler to schedule the open under.

Returns

IObservable<Stream>

A Future result representing the Open file.

OpenFileForWriteAsync(string, IScheduler)

Open a file on a background thread, with the File object in 'async mode'. It is critical that this operation is deferred and returns immediately (i.e. wrapped in an Observable.Start).

IObservable<Stream> OpenFileForWriteAsync(string path, IScheduler scheduler)

Parameters

path string

The path to the file.

scheduler IScheduler

The scheduler to schedule the open under.

Returns

IObservable<Stream>

A Future result representing the Open file.