Пример #1
0
        public Task <Workbench> LoadWorkbenchAsync(IFile file)
        {
            var wp = new WorkbenchParser();

            try {
                using (var stream = file.OpenForReading()) {
                    return(Task.FromResult(wp.ReadFromStream(this, stream)));
                }
            } catch (Exception e) {
                Log.E(this, "Failed to load workbench. Creating a new one.", e);
                return(Task.FromResult(new Workbench(this)));
            }
        }
Пример #2
0
        // Implemented from IION
        public virtual Task <Workbench> LoadWorkbenchAsync(IFile file)
        {
//      return Task.Factory.StartNew(() => {
            try {
                var parser = new WorkbenchParser();
                using (var s = file.OpenForReading()) {
                    return(Task.FromResult(parser.ReadFromStream(this, s)));
                }
            } catch (Exception e) {
                Log.E(this, "Failed to load workbench. Defaulting to a new one.", e);
                return(Task.FromResult(new Workbench(this)));
            }
//      });
        }
Пример #3
0
 // Implemented for IION
 public virtual Task SaveWorkbenchAsync()
 {
     return(Task.Factory.StartNew(() => {
         lock (locker) {
             var internalDirectory = fileManager.GetApplicationInternalDirectory();
             var file = internalDirectory.GetFile(PRIMARY_WORKBENCH_FILENAME, EFileAccessResponse.CreateIfMissing);
             var parser = new WorkbenchParser();
             try {
                 using (var s = file.OpenForWriting()) {
                     parser.WriteToStream(this, currentWorkbench, s);
                 }
             } catch (Exception e) {
                 Log.E(this, "Failed to write workbench to file", e);
             }
         }
     }));
 }