Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[api] function to reset tree state to master. Contributes to MER#1285
Signed-off-by: Denis Zalevskiy <denis.zalevskiy@jolla.com>
  • Loading branch information
Denis Zalevskiy committed Sep 17, 2015
1 parent fc5e465 commit ad52acd
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 2 deletions.
2 changes: 1 addition & 1 deletion include/vault/vault.hpp
Expand Up @@ -96,11 +96,11 @@ class Vault

std::tuple<QString, bool, QString> backupUnit(const QString &, const QString &);
QString tagSnapshot(const QString &message);
void resetMaster();
private:
bool setState(const QString &state);
bool backupUnit(const QString &home, const QString &unit, const ProgressCallback &callback);
bool restoreUnit(const QString &home, const QString &unit, const ProgressCallback &callback);
void resetMaster();

void setup(const QVariantMap *config);
QString absolutePath(QString const &) const;
Expand Down
13 changes: 13 additions & 0 deletions qml/Vault/vault.cpp
Expand Up @@ -64,6 +64,13 @@ class Worker : public QObject
emit done(Vault::Restore, QVariantMap());
}

Q_INVOKABLE void reset()
{
debug::debug("Reset storage");
m_vault->resetMaster();
emit done(Vault::Maintenance, {{"operation", "reset"}});
}

Q_INVOKABLE void backupUnit(const QString &home, const QString &unit)
{
debug::debug("Backup unit", unit);
Expand Down Expand Up @@ -377,6 +384,12 @@ void Vault::requestData(DataType dataType, QVariantMap const &context)
, Q_ARG(QVariantMap, context));
}

/// reset storage to the master head, cleanup tree
void Vault::reset()
{
QMetaObject::invokeMethod(m_worker, "reset");
}

Q_INVOKABLE void Vault::backupUnit(const QString &unit)
{
QMetaObject::invokeMethod(m_worker, "backupUnit"
Expand Down
4 changes: 3 additions & 1 deletion qml/Vault/vault.hpp
Expand Up @@ -28,7 +28,8 @@ class Vault : public QObject
RemoveSnapshot,
ExportImportPrepare,
ExportImportExecute,
Data
Data,
Maintenance
}
Q_ENUMS(Operation);

Expand Down Expand Up @@ -61,6 +62,7 @@ class Vault : public QObject
Q_INVOKABLE void startGc();
Q_INVOKABLE void requestData(DataType, QVariantMap const &);

Q_INVOKABLE void reset();
Q_INVOKABLE void backupUnit(const QString &unit);
Q_INVOKABLE void tagSnapshot(const QString &message);

Expand Down

0 comments on commit ad52acd

Please sign in to comment.