// CreateFile(u32 mode, u64 size, buffer<bytes<0x301>, 0x19, 0x301> path) public long CreateFile(ServiceCtx context) { string name = ReadUtf8String(context); long mode = context.RequestData.ReadInt64(); int size = context.RequestData.ReadInt32(); string fileName = _provider.GetFullPath(name); if (fileName == null) { return(MakeError(ErrorModule.Fs, FsErr.PathDoesNotExist)); } if (_provider.FileExists(fileName)) { return(MakeError(ErrorModule.Fs, FsErr.PathAlreadyExists)); } if (IsPathAlreadyInUse(fileName)) { return(MakeError(ErrorModule.Fs, FsErr.PathAlreadyInUse)); } return(_provider.CreateFile(fileName, size)); }
// CreateFile(u32 mode, u64 size, buffer<bytes<0x301>, 0x19, 0x301> path) public long CreateFile(ServiceCtx Context) { string Name = ReadUtf8String(Context); long Mode = Context.RequestData.ReadInt64(); int Size = Context.RequestData.ReadInt32(); string FileName = Provider.GetFullPath(Name); if (FileName == null) { return(MakeError(ErrorModule.Fs, FsErr.PathDoesNotExist)); } if (Provider.FileExists(FileName)) { return(MakeError(ErrorModule.Fs, FsErr.PathAlreadyExists)); } if (IsPathAlreadyInUse(FileName)) { return(MakeError(ErrorModule.Fs, FsErr.PathAlreadyInUse)); } return(Provider.CreateFile(FileName, Size)); }
public void CreateFile(int fileID) { AuthorizedIdent ident = AuthenticateTicket(Ticket); CFile file = new FileSystem(ident, true).GetFile(fileID); FileSystemProviderFactory.GetInstance(this); m_fs.CreateFile(file); }
protected void CopyFileData(string dir, string dbase, string sbase) { string spath = Path.Combine(sbase, dir); CFile sfile = GetFile(spath); if (sfile.IsDirectory()) { foreach (CFile dirmem in ListDirectory(sfile)) { CopyFileData(Path.Combine(dir, dirmem.Name), dbase, sbase); } } else { string dpath = Path.Combine(dbase, dir); CFile dfile = GetFile(dpath); //Copy file FileDataWebGateway fds = (FileDataWebGateway)m_fdss[m_ident.Name]; if (fds != null) { try { fds.CreateFile(sfile.ID); fds.CopyFile(sfile.ID, dfile.ID); } catch (Exception) { FileServiceInit(m_ident, true); fds = (FileDataWebGateway)m_fdss[m_ident.Name]; try { fds.CreateFile(sfile.ID); fds.CopyFile(sfile.ID, dfile.ID); } catch (Exception) { throw new FileOperationException("Unable to connect to the file system"); } } } else { m_fs.CreateFile(sfile); m_fs.CopyFile(sfile, dfile); } } }
/// <summary> /// Transfer a FS into another compatible FS /// </summary> public void CopyFileSystem(IFileSystemProvider dest) { CFile.FileList files = GetAllFiles(); foreach (CFile file in files) { if (!file.IsDirectory()) { dest.CreateFile(file); LoadFileData(file); dest.CommitData(file); } } }