Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge branch 'mer1797' into 'master'
[urlresolver] Implement graceful shutdown. Fixes MER#1797

See merge request !10
  • Loading branch information
pvuorela committed Aug 2, 2017
2 parents c2a459b + eae5296 commit fddd582
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 4 deletions.
27 changes: 23 additions & 4 deletions ssuurlresolver/ssuurlresolver.cpp
Expand Up @@ -35,6 +35,12 @@ void SsuUrlResolver::error(const QString &message)
QCoreApplication::exit(1);
}

void SsuUrlResolver::ack() const
{
zypp::PluginFrame out(zypp::PluginFrame::ackCommand());
out.writeTo(std::cout);
}

bool SsuUrlResolver::writeZyppCredentialsIfNeeded(const QString &credentialsScope)
{
QString filePath = Sandbox::map("/etc/zypp/credentials.d/" + credentialsScope);
Expand Down Expand Up @@ -73,14 +79,29 @@ bool SsuUrlResolver::writeZyppCredentialsIfNeeded(const QString &credentialsScop
}

void SsuUrlResolver::run()
{
while (true) {
zypp::PluginFrame inputFrame(std::cin);
if (inputFrame.command() == "RESOLVEURL") {
resolve(inputFrame);
} else if (inputFrame.command() == "_DISCONNECT") {
ack();
break;
} else {
error(QStringLiteral("Unknown plugin command"));
break;
}
}
emit done();
}

void SsuUrlResolver::resolve(PluginFrame &in)
{
QHash<QString, QString> repoParameters;
QString repo;
bool isRnd = false;
SsuLog *ssuLog = SsuLog::instance();

PluginFrame in(std::cin);

if (in.headerEmpty()) {
error("Received empty header list. Most likely your ssu setup is broken");
}
Expand Down Expand Up @@ -185,6 +206,4 @@ void SsuUrlResolver::run()
out.setBody(resolvedUrl.toStdString());
out.writeTo(std::cout);
}

emit done();
}
2 changes: 2 additions & 0 deletions ssuurlresolver/ssuurlresolver.h
Expand Up @@ -59,6 +59,8 @@ class SsuUrlResolver: public QObject
private:
Ssu ssu;
void error(const QString &message);
void ack() const;
void resolve(zypp::PluginFrame &in);
bool writeZyppCredentialsIfNeeded(const QString &credentialsScope);

public slots:
Expand Down

0 comments on commit fddd582

Please sign in to comment.