public static void Decompress(string path, IPackageData data) { if (data is PackageDirectory directory) { if (directory.Children.Count > 0) { // 폴더 내부 탐색 foreach (var subData in directory.Children) { Decompress(path, subData); } } else { // 단일 폴더 생성 CreateDirectory(Path.Combine(path, directory.Path)); } } // 파일 데이터 해제 if (data is PackageFile file) { var targetPath = Path.Combine(path, file.Path); CreateDirectory(Path.GetDirectoryName(targetPath)); using (var streamWriter = File.Create(targetPath)) { var buffer = new byte[4096]; StreamUtils.Copy(file.Content, streamWriter, buffer); } } }
public Default( IPackageData packageData ) { kind = IdentifierKind.Package; id = AttributeOps.GetObjectId(this); group = AttributeOps.GetObjectGroup(this); if (packageData != null) { EntityOps.MaybeSetGroup( this, packageData.Group); name = packageData.Name; description = packageData.Description; indexFileName = packageData.IndexFileName; provideFileName = packageData.ProvideFileName; flags = packageData.Flags; clientData = packageData.ClientData; loaded = packageData.Loaded; VersionStringDictionary ifNeeded = packageData.IfNeeded; if (ifNeeded != null) { this.ifNeeded = ifNeeded; // use (or "attach to") their versions. } else { this.ifNeeded = new VersionStringDictionary(); // brand new package, create new list. } token = packageData.Token; } }
public FileDataProcessingStatusMark(IPackageData packageInfoProject, IProjectSettings projectSettings, IConverterClientPackageDataToDto converterClientPackageDataToDto, IConverterClientPackageDataFromDto converterClientPackageDataFromDto) { _packageInfoProject = packageInfoProject ?? throw new ArgumentNullException(nameof(packageInfoProject)); _projectSettings = projectSettings ?? throw new ArgumentNullException(nameof(projectSettings)); _converterClientPackageDataToDto = converterClientPackageDataToDto ?? throw new ArgumentNullException(nameof(converterClientPackageDataToDto)); _converterClientPackageDataFromDto = converterClientPackageDataFromDto ?? throw new ArgumentNullException(nameof(converterClientPackageDataFromDto)); }
public Core( IPackageData packageData ) : base(packageData) { // // NOTE: Which package are we actively trying to load? This is an // internal implementation detail and is not exposed via the // IPackage interface. // loading = null; }
public ApplicationGadzhi(IDialogService dialogService, IProjectSettings projectSettings, IFileSystemOperations fileSystemOperations, IFilePathOperations filePathOperations, IPackageData packageInfoProject, IWcfClientServicesFactory wcfClientServiceFactory, IFileDataProcessingStatusMark fileDataProcessingStatusMark, IStatusProcessingInformation statusProcessingInformation) { _dialogService = dialogService; _fileSystemOperations = fileSystemOperations; _filePathOperations = filePathOperations; _packageData = packageInfoProject; _projectSettings = projectSettings; _wcfClientServiceFactory = wcfClientServiceFactory; _fileDataProcessingStatusMark = fileDataProcessingStatusMark; _statusProcessingInformation = statusProcessingInformation; _statusProcessingSubscriptions = new CompositeDisposable(); }
protected void executePacket(IPackageData data)//UInt16 packetID, byte[] buffer, UInt16 bufferLen) { if (data.GetClassID() != m_nCurSocketID) { Debug.LogWarningFormat("executePacket: Ignore the old connection data"); return; } PackageData packdata = (PackageData)data; try { m_MessageEventHandler.OnHandler(packdata.serverID, packdata.msgID, packdata.recivedata.item.data, packdata.recivedata.item.data.Length); } catch (LuaException e) { Debug.LogError(e.Message); } }
private string ResolvePath(IPackageData data) { var builder = new StringBuilder(); IPackageData currentData = data; while (currentData != null) { builder.Insert(0, currentData.Name); var nextData = currentData.Parent; if (nextData != null) { builder.Insert(0, "\\"); } currentData = nextData; } return(builder.ToString()); }
public static void Compress(ZipOutputStream zipStream, IPackageData data) { if (data is PackageDirectory directory) { if (directory.Children.Count > 0) { // 폴더 내부 탐색 foreach (var subData in directory.Children) { Compress(zipStream, subData); } } else { // 단일 폴더 생성 var dirEntryName = $@"{ZipEntry.CleanName(directory.Path)}\"; zipStream.PutNextEntry(new ZipEntry(dirEntryName)); zipStream.CloseEntry(); } } // 파일 데이터 압축 if (data is PackageFile file) { var fileEntryName = ZipEntry.CleanName(file.Path); zipStream.PutNextEntry(new ZipEntry(fileEntryName) { DateTime = file.LastWriteTime, Size = file.Size }); var buffer = new byte[4096]; StreamUtils.Copy(file.Content, zipStream, buffer); zipStream.CloseEntry(); } }
public StatusProcessingInformation(IPackageData packageInfoProject) { PackageInfoProject = packageInfoProject; }
/// <summary> /// Конвертер пакета информации о файле из локальной модели в трансферную /// </summary> public async Task <IResultValue <PackageDataRequestClient> > ToPackageDataRequest(IPackageData packageData, IConvertingSettings convertingSetting) => await packageData.FilesData.Select(ToFileDataRequest). Map(Task.WhenAll). MapAsync(filesRequest => filesRequest.ToResultCollection(). ResultValueOk(requests => new PackageDataRequestClient(packageData.GenerateId(), ToConvertingSettingsRequest(convertingSetting), requests.ToList())));
public PackageService(IPackageData packageData) { _packageData = packageData; }
public void Remove(IPackageData data) { Datas.Remove(data); data.Dispose(); }
public void Add(IPackageData data) { Datas.Add(data); }