~dobey/keeper/cleanup

« back to all changes in this revision

Viewing changes to src/service/keeper-task-restore.cpp

  • Committer: Bileto Bot
  • Author(s): Charles Kerr, Xavi Garcia Mena, Xavi Garcia
  • Date: 2017-02-13 08:57:25 UTC
  • mfrom: (126.1.21 keeper-tests-charles)
  • Revision ID: ci-train-bot@canonical.com-20170213085725-rpsp9eg86dk2zlvi
Adds integration tests for restore and restore cancellation.

Approved by: Charles Kerr, unity-api-1-bot

Show diffs side-by-side

added added

removed removed

Lines of Context:
57
57
    {
58
58
        qDebug() << "asking storage framework for a socket for reading";
59
59
 
60
 
        QString file_name;
61
 
        task_data_.metadata.get_property(Metadata::FILE_NAME_KEY, file_name);
 
60
        auto file_name = task_data_.metadata.get_file_name();
62
61
        if (file_name.isEmpty())
63
62
        {
64
63
            qWarning() << "ERROR: the restore task does not provide a valid file name to read from.";
65
64
            return;
66
65
        }
67
66
 
68
 
        QString dir_name;
69
 
        task_data_.metadata.get_property(Metadata::DIR_NAME_KEY, dir_name);
 
67
        auto dir_name = task_data_.metadata.get_dir_name();
70
68
        if (dir_name.isEmpty())
71
69
        {
72
70
            qWarning() << "ERROR: the restore task does not provide a valid directory name.";
78
76
            storage_->get_new_downloader(dir_name, file_name),
79
77
            std::function<void(std::shared_ptr<Downloader> const&)>{
80
78
                [this](std::shared_ptr<Downloader> const& downloader){
81
 
                    int fd {-1};
 
79
                    auto fd {-1};
82
80
                    if (downloader) {
83
81
                        auto restore_helper = qSharedPointerDynamicCast<RestoreHelper>(helper_);
84
82
                        restore_helper->set_downloader(downloader);
85
83
                        fd = restore_helper->get_helper_socket();
86
 
                    }
87
 
                    Q_EMIT(q_ptr->task_socket_ready(fd));
 
84
                        Q_EMIT(q_ptr->task_socket_ready(fd));
 
85
                    }
 
86
                    else
 
87
                    {
 
88
                        error_ = storage_->get_last_error();
 
89
                        qDebug("Emitting task_socket_error(error=%d)", static_cast<int>(error_));
 
90
                        Q_EMIT(q_ptr->task_socket_error(error_));
 
91
                    }
88
92
                }
89
93
            }
90
94
        );