コード例 #1
0
ファイル: QueuedFileSystem.cs プロジェクト: kiszu/ForBlog
 /// <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);
 }
コード例 #2
0
 public void AddOperation(FileOperationItem operation)
 {
     this.FileOperations.Add(operation);
 }
コード例 #3
0
        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);
        }
コード例 #4
0
        /// <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;
        }
コード例 #5
0
ファイル: QueuedFileSystem.cs プロジェクト: kiszu/ForBlog
        /// <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;
        }