Adapt to changes in c++utilities

This commit is contained in:
Martchus 2019-06-10 22:51:09 +02:00
parent d3aed9cb74
commit fa81042d86
17 changed files with 93 additions and 105 deletions

View File

@ -8,7 +8,7 @@
#include <c++utilities/application/argumentparser.h>
#include <c++utilities/conversion/stringconversion.h>
#include <c++utilities/application/failure.h>
#include <c++utilities/misc/parseerror.h>
#include <QCoreApplication>
@ -16,7 +16,7 @@
#include <algorithm>
using namespace std;
using namespace ApplicationUtilities;
using namespace CppUtilities;
using namespace RepoIndex;
int main(int argc, char *argv[])
@ -33,12 +33,7 @@ int main(int argc, char *argv[])
ArgumentParser parser;
ConfigArgs configArgs(parser);
// parse command line arguments
try {
parser.parseArgs(argc, argv);
} catch (const Failure &e) {
cerr << shchar << "Unable to parse arguments: " << e.what() << endl;
return 2;
}
parser.parseArgs(argc, argv);
try {
// load configuration
Config config;

View File

@ -13,14 +13,13 @@
#include <c++utilities/application/argumentparser.h>
#include <c++utilities/conversion/stringconversion.h>
#include <c++utilities/application/failure.h>
#include <QApplication>
#include <iostream>
using namespace std;
using namespace ApplicationUtilities;
using namespace CppUtilities;
using namespace RepoIndex;
int main(int argc, char *argv[])
@ -40,12 +39,7 @@ int main(int argc, char *argv[])
}
parser.setMainArguments({&qtConfigArgs.qtWidgetsGuiArg(), &configArgs.repoindexConfArg, &configArgs.repoindexConfArg, &webdirArg, &configArgs.cacheDirArg, &configArgs.storageDirArg, &configArgs.helpArg});
// parse command line arguments
try {
parser.parseArgs(argc, argv);
} catch (const Failure &e) {
cerr << shchar << "Unable to parse arguments: " << e.what() << endl;
return 2;
}
parser.parseArgs(argc, argv, ParseArgumentBehavior::CheckConstraints | ParseArgumentBehavior::InvokeCallbacks);
try {
// load configuration
Config config;

View File

@ -21,7 +21,7 @@
#include <iostream>
using namespace std;
using namespace ChronoUtilities;
using namespace CppUtilities;
namespace RepoIndex {
@ -54,7 +54,7 @@ private:
const DateTime m_descriptionsLastModified;
};
DatabaseError AlpmDatabase::loadDescriptions(QList<QPair<QString, QList<QByteArray> > > &descriptions, ChronoUtilities::DateTime *lastModified)
DatabaseError AlpmDatabase::loadDescriptions(QList<QPair<QString, QList<QByteArray> > > &descriptions, CppUtilities::DateTime *lastModified)
{
if(!databasePath().isEmpty()) {
QFileInfo pathInfo(databasePath());

View File

@ -38,7 +38,7 @@ private:
AlpmDatabase *const m_db;
DatabaseError m_error;
QList<QPair<QString, QList<QByteArray> > > m_descriptions;
ChronoUtilities::DateTime m_descriptionsLastModified;
CppUtilities::DateTime m_descriptionsLastModified;
};
/*!
@ -84,7 +84,7 @@ private slots:
void databaseDownloadFinished();
private:
DatabaseError loadDescriptions(QList<QPair<QString, QList<QByteArray> > > &descriptions, ChronoUtilities::DateTime *lastModified = nullptr);
DatabaseError loadDescriptions(QList<QPair<QString, QList<QByteArray> > > &descriptions, CppUtilities::DateTime *lastModified = nullptr);
QNetworkRequest regularDatabaseRequest();
QNetworkRequest filesDatabaseRequest();

View File

@ -8,7 +8,7 @@
#include <QFileInfo>
using namespace ChronoUtilities;
using namespace CppUtilities;
namespace RepoIndex {

View File

@ -4,7 +4,7 @@
#include <QJsonObject>
using namespace ChronoUtilities;
using namespace CppUtilities;
namespace RepoIndex {

View File

@ -12,9 +12,7 @@
#include <iostream>
using namespace std;
using namespace ApplicationUtilities;
using namespace ConversionUtilities;
using namespace ChronoUtilities;
using namespace CppUtilities;
namespace RepoIndex {
@ -65,7 +63,7 @@ ConfigArgs::ConfigArgs(ArgumentParser &parser) :
{
const initializer_list<const char *> pathValueName = {"path"};
const initializer_list<const char *> pkgValueNames = {"package 1", "package 2", "package 3"};
packagesArg.setRequiredValueCount(-1);
packagesArg.setRequiredValueCount(Argument::varValueCount);
packagesArg.setRequired(true);
packagesArg.setImplicit(true);
packagesArg.setValueNames(pkgValueNames);
@ -129,10 +127,10 @@ ConfigArgs::ConfigArgs(ArgumentParser &parser) :
defaultIconThemeArg.setRequiredValueCount(1);
defaultIconThemeArg.setValueNames({"theme name"});
extraPackagesArg.setCombinable(true);
extraPackagesArg.setRequiredValueCount(-1);
extraPackagesArg.setRequiredValueCount(Argument::varValueCount);
extraPackagesArg.setValueNames(pkgValueNames);
qtPluginsArg.setCombinable(true);
qtPluginsArg.setRequiredValueCount(-1);
qtPluginsArg.setRequiredValueCount(Argument::varValueCount);
qtPluginsArg.setValueNames({"plugin 1", "plugin 2"});
addSourceOnlyDepsArg.setCombinable(true);
shSyntaxArg.setCombinable(true);
@ -265,7 +263,7 @@ void Config::loadFromConfigFile(const QString &configFilePath)
auto reposObj = mainObj.value(QStringLiteral("repos")).toObject();
m_localEnabled = reposObj.value(QStringLiteral("localEnabled")).toBool(m_localEnabled);
m_reposFromPacmanConfEnabled = reposObj.value(QStringLiteral("fromPacmanConfig")).toBool(m_reposFromPacmanConfEnabled);
for(const auto &repo : reposObj.value(QStringLiteral("add")).toArray()) {
for(const auto repo : reposObj.value(QStringLiteral("add")).toArray()) {
m_repoEntries << RepoEntry();
m_repoEntries.back().load(repo);
}

View File

@ -12,7 +12,7 @@ QT_FORWARD_DECLARE_CLASS(QJsonValue)
namespace RepoIndex {
enum class SignatureLevel;
enum class SignatureLevel : unsigned int;
// these are needed from the beginning and are initialized in the main()
extern bool useShSyntax;
@ -21,39 +21,39 @@ extern const char *shchar;
class ConfigArgs
{
public:
ConfigArgs(ApplicationUtilities::ArgumentParser &parser);
ApplicationUtilities::HelpArgument helpArg;
ApplicationUtilities::Argument packagesArg;
ApplicationUtilities::Argument buildOrderArg;
ApplicationUtilities::Argument addSourceOnlyDepsArg;
ApplicationUtilities::Argument requireSourcesArg;
ApplicationUtilities::Argument serverArg;
ApplicationUtilities::Argument repoNameArg;
ApplicationUtilities::Argument upgradeLookupArg;
ApplicationUtilities::Argument mingwBundleArg;
ApplicationUtilities::Argument repoindexConfArg;
ApplicationUtilities::Argument rootdirArg;
ApplicationUtilities::Argument dbpathArg;
ApplicationUtilities::Argument pacmanConfArg;
ApplicationUtilities::Argument reposFromPacmanConfEnabled;
ApplicationUtilities::Argument websocketAddrArg;
ApplicationUtilities::Argument websocketPortArg;
ApplicationUtilities::Argument certFileArg;
ApplicationUtilities::Argument keyFileArg;
ApplicationUtilities::Argument insecureArg;
ApplicationUtilities::Argument aurArg;
ApplicationUtilities::Argument verboseArg;
ApplicationUtilities::Argument outputFileArg;
ApplicationUtilities::Argument targetDirArg;
ApplicationUtilities::Argument targetNameArg;
ApplicationUtilities::Argument targetFormatArg;
ApplicationUtilities::Argument iconThemesArg;
ApplicationUtilities::Argument defaultIconThemeArg;
ApplicationUtilities::Argument extraPackagesArg;
ApplicationUtilities::Argument qtPluginsArg;
ApplicationUtilities::Argument cacheDirArg;
ApplicationUtilities::Argument storageDirArg;
ApplicationUtilities::Argument shSyntaxArg;
ConfigArgs(CppUtilities::ArgumentParser &parser);
CppUtilities::HelpArgument helpArg;
CppUtilities::Argument packagesArg;
CppUtilities::Argument buildOrderArg;
CppUtilities::Argument addSourceOnlyDepsArg;
CppUtilities::Argument requireSourcesArg;
CppUtilities::Argument serverArg;
CppUtilities::Argument repoNameArg;
CppUtilities::Argument upgradeLookupArg;
CppUtilities::Argument mingwBundleArg;
CppUtilities::Argument repoindexConfArg;
CppUtilities::Argument rootdirArg;
CppUtilities::Argument dbpathArg;
CppUtilities::Argument pacmanConfArg;
CppUtilities::Argument reposFromPacmanConfEnabled;
CppUtilities::Argument websocketAddrArg;
CppUtilities::Argument websocketPortArg;
CppUtilities::Argument certFileArg;
CppUtilities::Argument keyFileArg;
CppUtilities::Argument insecureArg;
CppUtilities::Argument aurArg;
CppUtilities::Argument verboseArg;
CppUtilities::Argument outputFileArg;
CppUtilities::Argument targetDirArg;
CppUtilities::Argument targetNameArg;
CppUtilities::Argument targetFormatArg;
CppUtilities::Argument iconThemesArg;
CppUtilities::Argument defaultIconThemeArg;
CppUtilities::Argument extraPackagesArg;
CppUtilities::Argument qtPluginsArg;
CppUtilities::Argument cacheDirArg;
CppUtilities::Argument storageDirArg;
CppUtilities::Argument shSyntaxArg;
};
class Config;
@ -70,7 +70,7 @@ public:
const QStringList &server() const;
const QStringList &upgradeSources() const;
SignatureLevel sigLevel() const;
ChronoUtilities::TimeSpan maxDatabaseAge() const;
CppUtilities::TimeSpan maxDatabaseAge() const;
bool isIgnored() const;
void load(const QJsonValue &jsonValue);
@ -82,7 +82,7 @@ private:
QStringList m_server;
QStringList m_upgradeSources;
SignatureLevel m_sigLevel;
ChronoUtilities::TimeSpan m_maxDatabaseAge;
CppUtilities::TimeSpan m_maxDatabaseAge;
bool m_ignored;
};
@ -121,7 +121,7 @@ inline SignatureLevel RepoEntry::sigLevel() const
return m_sigLevel;
}
inline ChronoUtilities::TimeSpan RepoEntry::maxDatabaseAge() const
inline CppUtilities::TimeSpan RepoEntry::maxDatabaseAge() const
{
return m_maxDatabaseAge;
}

View File

@ -26,8 +26,7 @@
#include <memory>
using namespace std;
using namespace IoUtilities;
using namespace ConversionUtilities;
using namespace CppUtilities;
namespace RepoIndex {

View File

@ -20,7 +20,7 @@
#include <memory>
using namespace std;
using namespace ApplicationUtilities;
using namespace CppUtilities;
namespace RepoIndex {
@ -400,7 +400,7 @@ void makeArchive(const list<PkgFileInfo> &pkgFiles, const QByteArray &pkgList, c
targetArchive = make_unique<K7Zip>(targetPath);
} else if(targetFormat == "zip") {
targetArchive = make_unique<KZip>(targetPath);
} else if(ConversionUtilities::startsWith<string>(targetFormat, "tar")) {
} else if(startsWith<string>(targetFormat, "tar")) {
targetArchive = make_unique<KTar>(targetPath);
} else {
throw runtime_error("Specified archive format \"" + targetFormat + "\" is unknown.");

View File

@ -16,7 +16,7 @@
using namespace std;
using namespace std::placeholders;
using namespace ChronoUtilities;
using namespace CppUtilities;
namespace RepoIndex {

View File

@ -113,7 +113,7 @@ inline PackageValidation &operator &=(PackageValidation &lhs, int rhs)
/*!
* \brief The SignatureLevel enum specifies PGP signature verification options.
*/
enum class SignatureLevel {
enum class SignatureLevel : unsigned int {
Package = (1 << 0),
PackageOptional = (1 << 1),
PackageMarginalOk = (1 << 2),
@ -124,7 +124,7 @@ enum class SignatureLevel {
DatabaseMarginalOk = (1 << 12),
DatabaseUnknownOk = (1 << 13),
UseDefault = (1 << 31)
UseDefault = (1u << 31)
};
constexpr SignatureLevel operator |(SignatureLevel lhs, SignatureLevel rhs)
@ -238,8 +238,8 @@ public:
// general package meta data
PackageOrigin origin() const;
Repository *repository() const;
ChronoUtilities::DateTime timeStamp() const;
void setTimeStamp(ChronoUtilities::DateTime timeStamp);
CppUtilities::DateTime timeStamp() const;
void setTimeStamp(CppUtilities::DateTime timeStamp);
bool hasGeneralInfo() const;
bool hasAllGeneralInfo() const;
const QString &name() const;
@ -266,7 +266,7 @@ public:
bool hasBuildRelatedMetaData() const;
const QString &fileName() const;
const QJsonArray &files() const;
ChronoUtilities::DateTime buildDate() const;
CppUtilities::DateTime buildDate() const;
const QString &packager() const;
const QString &md5() const;
const QString &sha256() const;
@ -277,7 +277,7 @@ public:
// installation related meta data
bool hasInstallRelatedMetaData() const;
ChronoUtilities::DateTime installDate() const;
CppUtilities::DateTime installDate() const;
std::uint32_t installedSize() const;
const QStringList &backupFiles() const;
PackageValidation validationMethods() const;
@ -290,10 +290,10 @@ public:
std::int32_t id() const;
std::int32_t categoryId() const;
std::int32_t votes() const;
ChronoUtilities::DateTime outOfDate() const;
CppUtilities::DateTime outOfDate() const;
const QString &maintainer() const;
ChronoUtilities::DateTime firstSubmitted() const;
ChronoUtilities::DateTime lastModified() const;
CppUtilities::DateTime firstSubmitted() const;
CppUtilities::DateTime lastModified() const;
const QString &tarUrl() const;
const std::map<QString, QByteArray> &sourceFiles() const;
QList<const QList<Dependency> *> allDependencies() const;
@ -326,7 +326,7 @@ protected:
PackageOrigin m_origin;
Repository *m_repository;
ChronoUtilities::DateTime m_timeStamp;
CppUtilities::DateTime m_timeStamp;
// general package meta data
bool m_hasGeneralInfo;
@ -351,7 +351,7 @@ protected:
bool m_hasBuildRelatedMetaData;
QString m_fileName;
QJsonArray m_files;
ChronoUtilities::DateTime m_buildDate;
CppUtilities::DateTime m_buildDate;
QString m_packager;
QString m_md5;
QString m_sha256;
@ -363,7 +363,7 @@ protected:
// installation related meta data
bool m_hasInstallRelatedMetaData;
ChronoUtilities::DateTime m_installDate;
CppUtilities::DateTime m_installDate;
std::uint32_t m_installedSize;
QStringList m_backupFiles;
PackageValidation m_validationMethods;
@ -376,10 +376,10 @@ protected:
std::int32_t m_id;
std::int32_t m_categoryId;
std::int32_t m_votes;
ChronoUtilities::DateTime m_outOfDate;
CppUtilities::DateTime m_outOfDate;
QString m_maintainer;
ChronoUtilities::DateTime m_firstSubmitted;
ChronoUtilities::DateTime m_lastModified;
CppUtilities::DateTime m_firstSubmitted;
CppUtilities::DateTime m_lastModified;
QString m_tarUrl;
std::map<QString, QByteArray> m_sourceFiles;
@ -433,7 +433,7 @@ inline Repository *Package::repository() const
/*!
* \brief Returns the package's timestamp.
*/
inline ChronoUtilities::DateTime Package::timeStamp() const
inline CppUtilities::DateTime Package::timeStamp() const
{
return m_timeStamp;
}
@ -441,7 +441,7 @@ inline ChronoUtilities::DateTime Package::timeStamp() const
/*!
* \brief Sets the package's timestamp.
*/
inline void Package::setTimeStamp(ChronoUtilities::DateTime timeStamp)
inline void Package::setTimeStamp(CppUtilities::DateTime timeStamp)
{
m_timeStamp = timeStamp;
}
@ -637,7 +637,7 @@ inline const QJsonArray &Package::files() const
/*!
* \brief Returns the build date of the package file.
*/
inline ChronoUtilities::DateTime Package::buildDate() const
inline CppUtilities::DateTime Package::buildDate() const
{
return m_buildDate;
}
@ -715,7 +715,7 @@ inline bool Package::hasInstallRelatedMetaData() const
/*!
* \brief Returns the install date.
*/
inline ChronoUtilities::DateTime Package::installDate() const
inline CppUtilities::DateTime Package::installDate() const
{
return m_installDate;
}
@ -808,7 +808,7 @@ inline std::int32_t Package::votes() const
/*!
* \brief Returns the flag date.
*/
inline ChronoUtilities::DateTime Package::outOfDate() const
inline CppUtilities::DateTime Package::outOfDate() const
{
return m_outOfDate;
}
@ -824,7 +824,7 @@ inline const QString &Package::maintainer() const
/*!
* \brief Returns when the package was first submitted.
*/
inline ChronoUtilities::DateTime Package::firstSubmitted() const
inline CppUtilities::DateTime Package::firstSubmitted() const
{
return m_firstSubmitted;
}
@ -832,7 +832,7 @@ inline ChronoUtilities::DateTime Package::firstSubmitted() const
/*!
* \brief Returns the last time when the package was modified.
*/
inline ChronoUtilities::DateTime Package::lastModified() const
inline CppUtilities::DateTime Package::lastModified() const
{
return m_lastModified;
}

View File

@ -12,7 +12,7 @@
#include <cassert>
using namespace std;
using namespace ChronoUtilities;
using namespace CppUtilities;
namespace RepoIndex {
@ -863,7 +863,7 @@ void Repository::parseDescriptions(const QList<QByteArray> &descriptions, QStrin
* \returns Returns the added/updated packages. In the case of a split package more then
* one package is returned.
*/
QList<Package *> Repository::addPackagesFromSrcInfo(const QByteArray &srcInfo, ChronoUtilities::DateTime timeStamp)
QList<Package *> Repository::addPackagesFromSrcInfo(const QByteArray &srcInfo, CppUtilities::DateTime timeStamp)
{
// define states
enum {

View File

@ -264,8 +264,8 @@ public:
virtual void writeSpecificCacheHeader(QDataStream &out);
virtual std::unique_ptr<Package> emptyPackage();
virtual void restoreSpecificCacheHeader(QDataStream &in);
ChronoUtilities::TimeSpan maxPackageAge() const;
void setMaxPackageAge(ChronoUtilities::TimeSpan maxPackageAge);
CppUtilities::TimeSpan maxPackageAge() const;
void setMaxPackageAge(CppUtilities::TimeSpan maxPackageAge);
void cleanOutdatedPackages();
bool hasOutdatedPackages();
void wipePackages();
@ -273,8 +273,8 @@ public:
// parsing src/pkg info
static void parsePkgInfo(const QByteArray &pkgInfo, QString &name, QList<QPair<QString, QString> > packageInfo);
static void parseDescriptions(const QList<QByteArray> &descriptions, QString &name, QList<QPair<QString, QStringList> > &fields);
QList<Package *> addPackagesFromSrcInfo(const QByteArray &srcInfo, ChronoUtilities::DateTime timeStamp);
Package *addPackageFromDescription(QString name, const QList<QByteArray> &descriptions, PackageOrigin origin, ChronoUtilities::DateTime timeStamp);
QList<Package *> addPackagesFromSrcInfo(const QByteArray &srcInfo, CppUtilities::DateTime timeStamp);
Package *addPackageFromDescription(QString name, const QList<QByteArray> &descriptions, PackageOrigin origin, CppUtilities::DateTime timeStamp);
// thread synchronization
QReadWriteLock *lock() const;
@ -311,7 +311,7 @@ protected:
QString m_name;
QString m_description;
std::map<QString, std::unique_ptr<Package> > m_packages;
ChronoUtilities::TimeSpan m_maxPackageAge;
CppUtilities::TimeSpan m_maxPackageAge;
RepositoryUsage m_usage;
std::map<QString, QList<Package *> > m_groups;
QStringList m_serverUrls;
@ -560,7 +560,7 @@ inline bool Repository::isCachingUseful() const
* \brief Returns the max package age.
* \sa setMaxPackageAge()
*/
inline ChronoUtilities::TimeSpan Repository::maxPackageAge() const
inline CppUtilities::TimeSpan Repository::maxPackageAge() const
{
return m_maxPackageAge;
}
@ -569,7 +569,7 @@ inline ChronoUtilities::TimeSpan Repository::maxPackageAge() const
* \brief Sets the max package age which is used by the cleanOutdatedPackages() and
* the hasOutdatedPackages() method.
*/
inline void Repository::setMaxPackageAge(ChronoUtilities::TimeSpan maxPackageAge)
inline void Repository::setMaxPackageAge(CppUtilities::TimeSpan maxPackageAge)
{
m_maxPackageAge = maxPackageAge;
}

View File

@ -14,7 +14,7 @@
#include <memory>
using namespace std;
using namespace ApplicationUtilities;
using namespace CppUtilities;
namespace RepoIndex {

View File

@ -9,8 +9,10 @@
#include <QFileInfo>
#include <iostream>
#include <string>
using namespace std;
using namespace CppUtilities;
namespace RepoIndex {
@ -154,7 +156,7 @@ void printError(const QString &message)
void printError(string &message)
{
if(useShSyntax) {
ConversionUtilities::findAndReplace<string>(message, "'", "\'");
findAndReplace<string>(message, "'", "\'");
cerr << "export REPOINDEX_ERROR='" << message << '\'' << endl;
} else {
cerr << shchar << "Error: " << message << endl;

View File

@ -24,7 +24,7 @@
#include <memory>
using namespace std;
using namespace ChronoUtilities;
using namespace CppUtilities;
namespace RepoIndex {