#ifndef SH_ASSEMBLY_H
#define SH_ASSEMBLY_H

#include <QFile>
#include <QStringList>
#include <QDebug>
#include <QDir>
#include "chunkstream.h"
#include "picrypt.h"

class SHAssembly {
public:
	SHAssembly();
	~SHAssembly();
	
	bool pack(const QString & assembly, const QStringList & files, const QStringList & res);
	QStringList unpack(const QString & file) {return unpack_(file, QDir::tempPath(), true);}
	QStringList unpack(const QString & file, const QString & dir_to) {return unpack_(file, dir_to, false);}

	void clear();

protected:
	QStringList unpack_(const QString & file, const QString & dir_to, bool remove);

	static const PIByteArray & key();
	
	QStringList files_;
	
};

#endif // SH_ASSEMBLY_H
