1
#include <QCoreApplication>
2
#include <QCommandLineParser>
6
#include "qredisclient/redisclient.h"
8
int main(int argc, char *argv[])
10
QCoreApplication app( argc, argv );
13
QCoreApplication::setApplicationName("qredis-cli");
14
QCoreApplication::setApplicationVersion("0.0.1");
16
QCommandLineParser parser;
17
parser.setApplicationDescription("redis-cli powered by qredisclient");
18
parser.addHelpOption();
19
parser.addVersionOption();
22
QStringList positionals = parser.positionalArguments();
24
if (positionals.size() == 0) {
29
RedisClient::ConnectionConfig config("127.0.0.1");
31
RedisClient::Connection connection(config);
33
// convert QStringList to QList<QByteArray>
34
QList<QByteArray> cmd;
35
for (QString part: positionals) {
36
cmd.append(part.toUtf8());
39
QObject::connect(&connection, &RedisClient::Connection::log, [](QString msg) {
40
qDebug() << "Connection:" << msg;
43
QObject::connect(&connection, &RedisClient::Connection::error, [](QString msg) {
44
qDebug() << "Connection error:" << msg;
49
auto result = connection.commandSync(cmd);
50
QVariant val = result.getValue();
51
std::cout << RedisClient::Response::valueToHumanReadString(val).toStdString();
52
} catch (const RedisClient::Connection::Exception& e) {
53
std::cerr << "Cannot run command:" << e.what();