summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/lib7z_facade.cpp
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@nokia.com>2012-05-14 15:32:58 +0200
committerTim Jenssen <tim.jenssen@nokia.com>2012-05-14 16:39:00 +0200
commit2957e28288a472d2e9507762e85939c0a0de4b4d (patch)
tree7079ac95b81fd06b9b4e1d3c13d56d6150868911 /src/libs/installer/lib7z_facade.cpp
parent3b554a4913517907f3ebf46466e1e46822cde664 (diff)
remove the limitation that archivegen could handle directories only
Change-Id: I5e7b6740d6df1b858cee091a1174e8fd64e477a7 Reviewed-by: Niels Weber <niels.2.weber@nokia.com>
Diffstat (limited to 'src/libs/installer/lib7z_facade.cpp')
-rw-r--r--src/libs/installer/lib7z_facade.cpp27
1 files changed, 13 insertions, 14 deletions
diff --git a/src/libs/installer/lib7z_facade.cpp b/src/libs/installer/lib7z_facade.cpp
index 14bfd25a0..da25c6d28 100644
--- a/src/libs/installer/lib7z_facade.cpp
+++ b/src/libs/installer/lib7z_facade.cpp
@@ -1011,9 +1011,9 @@ public:
// TODO!
return S_OK;
}
- void setSource(const QStringList &dir)
+ void setSourcePaths(const QStringList &paths)
{
- sourceDir = dir;
+ sourcePaths = paths;
}
void setTarget(QIODevice* archive)
{
@@ -1024,7 +1024,7 @@ private:
UpdateCallback* const q;
QIODevice* target;
- QStringList sourceDir;
+ QStringList sourcePaths;
};
class Lib7z::UpdateCallbackPrivate
@@ -1059,9 +1059,9 @@ UpdateCallbackImpl* UpdateCallback::impl()
return d->impl();
}
-void UpdateCallback::setSource(const QStringList &dir)
+void UpdateCallback::setSourcePaths(const QStringList &paths)
{
- d->impl()->setSource(dir);
+ d->impl()->setSourcePaths(paths);
}
void UpdateCallback::setTarget(QIODevice* target)
@@ -1134,7 +1134,7 @@ void ExtractItemJob::setTarget(QIODevice* dev)
d->target = dev;
}
-void Lib7z::createArchive(QIODevice* archive, const QStringList &sourceDirectories, UpdateCallback* callback)
+void Lib7z::createArchive(QIODevice* archive, const QStringList &sourcePaths, UpdateCallback* callback)
{
assert(archive);
@@ -1142,8 +1142,7 @@ void Lib7z::createArchive(QIODevice* archive, const QStringList &sourceDirectori
if (!callback)
callback = dummyCallback.get();
- try
- {
+ try {
std::auto_ptr< CCodecs > codecs(new CCodecs);
throwIfNotOK(codecs->Load(), QObject::tr("Could not load codecs"));
@@ -1157,11 +1156,11 @@ void Lib7z::createArchive(QIODevice* archive, const QStringList &sourceDirectori
const QString tempFile = generateTempFileName();
NWildcard::CCensor censor;
- foreach(QString dir, sourceDirectories) {
- const UString sourceDirectoryPath = QString2UString(QDir::toNativeSeparators(dir));
- if (UString2QString(sourceDirectoryPath) != QDir::toNativeSeparators(dir))
- throw UString2QString(sourceDirectoryPath).toLatin1().data();
- censor.AddItem(true, sourceDirectoryPath, true);
+ foreach (QString dir, sourcePaths) {
+ const UString sourcePath = QString2UString(QDir::toNativeSeparators(dir));
+ if (UString2QString(sourcePath) != QDir::toNativeSeparators(dir))
+ throw UString2QString(sourcePath).toLatin1().data();
+ censor.AddItem(true, sourcePath, true);
}
CUpdateOptions options;
@@ -1177,7 +1176,7 @@ void Lib7z::createArchive(QIODevice* archive, const QStringList &sourceDirectori
CUpdateErrorInfo errorInfo;
callback->setTarget(archive);
- callback->setSource(sourceDirectories);
+ callback->setSourcePaths(sourcePaths);
const HRESULT res = UpdateArchive(codecs.get(), censor, options, errorInfo, 0, callback->impl());
if (res != S_OK || !QFile::exists(tempFile))
throw SevenZipException(QObject::tr("Could not create archive %1").arg(tempFile));