From 698d6cc55ac666b18f26a9208930cb29a08c79a5 Mon Sep 17 00:00:00 2001 From: cxl Date: Wed, 26 Sep 2012 19:20:11 +0000 Subject: [PATCH] reference: plugin/zip demo git-svn-id: svn://ultimatepp.org/upp/trunk@5393 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- reference/Zip/Zip.cpp | 35 +++++++++++++++++++++++++++++++++++ reference/Zip/Zip.upp | 12 ++++++++++++ reference/Zip/init | 5 +++++ 3 files changed, 52 insertions(+) create mode 100644 reference/Zip/Zip.cpp create mode 100644 reference/Zip/Zip.upp create mode 100644 reference/Zip/init diff --git a/reference/Zip/Zip.cpp b/reference/Zip/Zip.cpp new file mode 100644 index 000000000..db6b4afa6 --- /dev/null +++ b/reference/Zip/Zip.cpp @@ -0,0 +1,35 @@ +#include + +using namespace Upp; + +CONSOLE_APP_MAIN { + StdLogSetup(LOG_COUT|LOG_FILE); + + String zipfile = ConfigFile("test.zip"); + + // Compression + FileZip zip(zipfile); + + zip.WriteFolder("test", GetSysTime()); + + const char *somedata = "some data"; + zip.WriteFile(somedata, strlen(somedata), "somedata.txt"); + + zip.WriteFile(String("other data"), "test/otherdata.txt"); + + if(zip.Finish()) + LOG(zipfile << " created succesfully"); + + // Decompression + FileUnZip unzip(zipfile); + while(!(unzip.IsEof() || unzip.IsError())) { + LOG("Path:" << unzip.GetPath()); + LOG(" Time:" << unzip.GetTime()); + if(!unzip.IsFolder()) { + LOG(" Size:" << unzip.GetLength()); + LOG(" Content:" << unzip.ReadFile()); + } + else + unzip.SkipFile(); + } +} diff --git a/reference/Zip/Zip.upp b/reference/Zip/Zip.upp new file mode 100644 index 000000000..6209564df --- /dev/null +++ b/reference/Zip/Zip.upp @@ -0,0 +1,12 @@ +description "plugin/zip demonstration\377"; + +uses + Core, + plugin/zip; + +file + Zip.cpp; + +mainconfig + "" = "SSE2"; + diff --git a/reference/Zip/init b/reference/Zip/init new file mode 100644 index 000000000..6fe970ab3 --- /dev/null +++ b/reference/Zip/init @@ -0,0 +1,5 @@ +#ifndef _Zip_icpp_init_stub +#define _Zip_icpp_init_stub +#include "Core/init" +#include "plugin/zip/init" +#endif