close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Changes between Version 1 and Version 3 of Ticket #922


Ignore:
Timestamp:
Jun 23, 2010, 9:40:56 AM (15 years ago)
Author:
Víctor de Buen Remiro
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #922

    • Property Status changed from new to accepted
    • Property Component changed from ASCII data files to System
    • Property Version changed from to head
    • Property Milestone changed from to TOL Extensions
    • Property Type changed from defect to task
  • Ticket #922 – Description

    v1 v3  
    66
    77{{{
    8 Class @Archive
     8Class @Store
    99{
    1010  //Identificador del motor de compresión
     
    4444
    4545{{{
    46 Class @ZipArchive: @Archive
     46Class @ZipArchive: @Store
    4747{
    4848  Text _.engine = "ZLib";
     
    5050  ...
    5151};
    52 Class @SevenZip: @Archive { ... };
     52Class @SevenZip: @Store { ... };
    5353{
    5454  Text _.engine = "LZMA";
     
    5656  ...
    5757};
    58 Class @Rar: @Archive { ... };
     58Class @Rar: @Store { ... };
    5959{
    6060  Text _.engine = "Rar";
     
    6262  ...
    6363};
    64 Class @Tar: @Archive { ... };
     64Class @Tar: @Store { ... };
    6565{
    6666  Text _.engine = "Tar";
     
    7171}}}
    7272
    73 Toda esta jerarquía de clases sería conveniente distribuirla como un paquete oficial que podría llamarse {{{CompactArchive}}}. Cada na de ellas podría añadir miembros opcionales de configuración pero siempre con valores por defecto. Finalmente se podría hacer un método constructor que creara una instancia con la clase adecuada al motor de forma que el usuario no tuviera que conocer los intríngulis  para hacer las tareas normales, sino que le bastara con entender la API de la clase base {{{CompactArchive::@Archive}}}
     73Toda esta jerarquía de clases sería conveniente distribuirla como un paquete oficial que podría llamarse {{{PackArchive}}}. Cada na de ellas podría añadir miembros opcionales de configuración pero siempre con valores por defecto. Finalmente se podría hacer un método constructor que creara una instancia con la clase adecuada al motor de forma que el usuario no tuviera que conocer los intríngulis  para hacer las tareas normales, sino que le bastara con entender la API de la clase base {{{PackArchive::@Store}}}
    7474
    7575{{{
    76 @Archive Create(Text engine, Text path, Text readOrWrite)
     76@Store Create(Text engine, Text path, Text readOrWrite)
    7777}}}
    7878
     
    8181{{{
    8282  //Abre el archivo para lectura o escritura
    83   Real CompactArchive.Open(NameBlock archive, Text path, Text readOrWrite);
     83  Real PackArchive.Open(NameBlock archive, Text path, Text readOrWrite);
    8484  //Cierra el archivo
    85   Real CompactArchive.Close(NameBlock archive);
     85  Real PackArchive.Close(NameBlock archive);
    8686  //Añade un fichero al archivo
    87   Real CompactArchive.File.Add(NameBlock archive, Set originalFilePath);
     87  Real PackArchive.File.Add(NameBlock archive, Set originalFilePath);
    8888  //Extrae un fichero del archivo
    89   Real CompactArchive.File.Extract(NameBlock archive, Text originalFilePath, Text destinationDirPath);
     89  Real PackArchive.File.Extract(NameBlock archive, Text originalFilePath, Text destinationDirPath);
    9090  //Determina si existe o no un fichero dentro del archivo
    91   Real CompactArchive.File.Exists(NameBlock archive, Text originalFilePath)
     91  Real PackArchive.File.Exists(NameBlock archive, Text originalFilePath)
    9292  //Añade un directorio completo recursivamente
    93   Real CompactArchive.Dir.Add(NameBlock archive, Text originalDirPath);
     93  Real PackArchive.Dir.Add(NameBlock archive, Text originalDirPath);
    9494  //Extrae un directorio completo recursivamente
    95   Real CompactArchive.Dir.Extract(NameBlock archive, Text originalDirPat, Text destinationDirPath);
     95  Real PackArchive.Dir.Extract(NameBlock archive, Text originalDirPat, Text destinationDirPath);
    9696  //Determina si existe o no un directorio dentro del archivo
    97   Real CompactArchive.Dir.Exists(NameBlock archive, Text originalFilePath)
     97  Real PackArchive.Dir.Exists(NameBlock archive, Text originalFilePath)
    9898}}}
    9999