//---------------------------------------------------------------------------

#ifndef vsuwinH
#define vsuwinH

#include <dstring.h>
#include <Classes.hpp>
#include "uclwin.h"
//---------------------------------------------------------------------------

AnsiString __fastcall GetNewTempDirVSU (void);
typedef void __fastcall TCallbackProc (int Progress);
AnsiString StreamString (TFileStream *fs);
void __fastcall CreateStore (AnsiString File, TStrings *Files, TCallbackProc *Proc);
void __fastcall StoreExtractFiles (AnsiString Store, TStrings *Files, AnsiString Dir, TCallbackProc *Proc, bool KeepDirStruct);
void __fastcall StoreAddFiles (AnsiString File, AnsiString ToDir, TStrings *AddFiles, TCallbackProc *Proc);
void __fastcall StoreRemoveFiles (AnsiString File, TStrings* RemFiles, TCallbackProc *Proc);
bool __fastcall VSUGetContent (AnsiString File, TStrings *Files, TStrings *Dirs);
void __fastcall VSUExtractFiles (AnsiString File, TStrings *Files, AnsiString Dir, TCallbackProc *Proc, bool KeepDirStruct);
void __fastcall VSUCreateFile (AnsiString File, TStrings *Files, FeedbackProc *Proc1, TCallbackProc *Proc2);
void __fastcall VSUFileInfo (AnsiString Store, AnsiString File, long& Size, long &CSize);
void __fastcall VSUAddFiles (AnsiString Store, AnsiString ToDir, TStrings *Files, FeedbackProc *Proc1, TCallbackProc *Proc2);
void __fastcall VSUDeleteFiles (AnsiString Store, TStrings *Files, TCallbackProc *Proc2);

#endif
