/// <summary> /// Saves a stream to file /// </summary> public void SaveStream(string filename, Stream stream) { var foi = new FileOperationItem { Type = FileOperationItem.OperationType.Save, Filename = filename, input = stream }; base.Execute(foi); }
public void AddOperation(FileOperationItem operation) { this.FileOperations.Add(operation); }
public async Task EnqueueAsync(IMobileServiceFileOperation operation) { OperationsInfo operationsInfo = this.operationsInfo.Value; var operationItem = new FileOperationItem { FileId = operation.FileId, Id = operation.Id, Kind = operation.Kind, Sequence = Interlocked.Increment(ref operationsInfo.Sequence) }; await this.store.UpsertAsync(FileOperationTableName, new[] { operationItem.ToJsonObject() }, ignoreMissingColumns: false); Interlocked.Increment(ref operationsInfo.Count); }
/// <summary> /// Load a stream from file /// </summary> public Stream LoadStream(string filename) { var manualresetevent = new ManualResetEventSlim(false); var foi = new FileOperationItem { Type = FileOperationItem.OperationType.Load, Filename = filename, resetevent = manualresetevent }; _operations.Enqueue(foi); manualresetevent.Wait(); return foi.stream; }
/// <summary> /// Loads a stream from file /// </summary> public Stream LoadStream(string filename) { var foi = new FileOperationItem { Type = FileOperationItem.OperationType.Load, Filename = filename }; base.Execute(foi); return foi.output; }