Files
pilotclient/samples/blackmisc/main.cpp
Roland Winklmeier cf2c0d0f35 Use qt.conf to override plugin path on Mac OS
Summary:
QCoreApplication::addLibraryPath is called before QCoreApplication
was constructed and this caused the returned string to be different
depending from which working directory it was called and not always
the intended binary path.
Using qt.conf has a fixed prefix relative to the binary path
inside the application bundle and therefore is easier to be used
with a relative path.

Reviewers: kbasan, msutcliffe

Reviewed By: msutcliffe

Differential Revision: https://dev.swift-project.org/D18
2017-05-05 23:08:40 +01:00

81 lines
3.2 KiB
C++

/* Copyright (C) 2013
* swift Project Community / Contributors
*
* This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level
* directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project,
* including this file, may be copied, modified, propagated, or distributed except according to the terms
* contained in the LICENSE file.
*/
#include "blackcore/application.h"
#include "blackmisc/directoryutils.h"
#include "samplesalgorithm.h"
#include "sampleschangeobject.h"
#include "samplescontainer.h"
#include "samplesjson.h"
#include "samplesmetadata.h"
#include "samplesperformance.h"
#include <stdio.h>
#include <QCoreApplication>
#include <QString>
#include <QTextStream>
//! \file
//! \ingroup sampleblackmisc
using namespace BlackMisc;
using namespace BlackSample;
using namespace BlackCore;
//! main
int main(int argc, char *argv[])
{
// I use CGuiApplication and not core application
// otherwise no QPixmap metadata (metadata sample)
QCoreApplication qa(argc, argv);
CApplication a(CApplicationInfo::Sample);
Q_UNUSED(qa);
Q_UNUSED(a);
QTextStream qtout(stdout);
QTextStream qtin(stdin);
do
{
qtout << endl;
qtout << "1 .. JSON" << endl;
qtout << "2 .. Change object" << endl;
qtout << "3 .. Containers" << endl;
qtout << "4 .. Metadata" << endl;
qtout << "6a .. Performance create / copy / ..." << endl;
qtout << "6b .. 25/100 Performance impl. type" << endl;
qtout << "6c .. 25/20 Performance impl. type" << endl;
qtout << "6d .. 40/20 Interpolator scenario" << endl;
qtout << "6e .. JSON performance" << endl;
qtout << "6f .. JSON model performance (database vs. own JSON)" << endl;
qtout << "6g .. string utils vs.regex" << endl;
qtout << "6h .. string concatenation (+=, arg, ..)" << endl;
qtout << "7 .. Algorithms" << endl;
qtout << "-----" << endl;
qtout << "x .. Bye" << endl;
QString s = qtin.readLine().toLower().trimmed();
if (s.startsWith("1")) { CSamplesJson::samples(); }
else if (s.startsWith("2")) { CSamplesChangeObject::samples(); }
else if (s.startsWith("3")) { CSamplesContainer::samples(); }
else if (s.startsWith("4")) { CSamplesMetadata::samples(); }
else if (s.startsWith("6a")) { CSamplesPerformance::samplesMisc(qtout); }
else if (s.startsWith("6b")) { CSamplesPerformance::samplesImplementationType(qtout, 25, 100); }
else if (s.startsWith("6c")) { CSamplesPerformance::samplesImplementationType(qtout, 25, 20); }
else if (s.startsWith("6d")) { CSamplesPerformance::interpolatorScenario(qtout, 40, 20); }
else if (s.startsWith("6e")) { CSamplesPerformance::samplesJson(qtout); }
else if (s.startsWith("6f")) { CSamplesPerformance::samplesJsonModel(qtout); }
else if (s.startsWith("6g")) { CSamplesPerformance::samplesStringUtilsVsRegEx(qtout); }
else if (s.startsWith("6h")) { CSamplesPerformance::samplesStringConcat(qtout); }
else if (s.startsWith("7")) { CSamplesAlgorithm::samples(); }
else if (s.startsWith("x")) { break; }
}
while (true);
return 0;
}