8000
Skip to content

Road to v3.x #80

@antony-jr

Description

@antony-jr

This issue tracks the progress and suggestions for the next major version of QArchive. The major focus for the next major version should be use of concurrency and good public api, without having separate classes like MemoryExtractor and DiskExtractor which can be combined into a single class anyways.

Currently the wrapper does not use concurrency, it uses the main thread or a separate worker thread which is fine for now, but use of concurrency can increase the performance into many folds than using raw libarchive with Qt.

I've planned to use QFutures to get concurrency with extraction and compression. It should be pretty straight forward.

I've come up with a sort of a syntax for v3.x, if any of you have suggestion then please do tell,

 QArchive::QArchive archive;
 
 // Give a path to archive
 archive.setArchive("/path/to/archive.tar.gz");
 
 // Give a QIODevice
 archive.setArchive(QIODevice*);

 archive.setMode(QArchive::Read);

 // or write, aka compress
 archive.setMode(QArchive::Write);
 
 // Extractor and Compressor methods should be condensed.
 // like addFiles and removeFiles, filters and basePath

 archive.start();

 // QArchive::finished will have a pointer to memory file, it will be null in
 // case of write mode.

TODO

  • Test v2.x with concurrency.
  • Better testing
  • Make it easy to install using Qt installer (Partially done, still need more time)
  • Use of v2 Docs and translate to multiple languages
  • Versioned docs in v2.x

More coming soon.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0