std::string ResumableSample::ResumableFileUploadStopOnce()

in sample/src/resumable/ResumableSample.cc [64:98]


std::string ResumableSample::ResumableFileUploadStopOnce()
{
    ResetProgressControlCallTimes();

    std::string fileID;
    FileUploadRequest uploadRequest(Config::DriveID, Config::RootParentID, "test_resumable_file_stop_once", "", "refuse", Config::FileToUpload, Config::CheckpointDir);
    TransferProgress progressCallback = { ProgressCallback , this };
    uploadRequest.setTransferProgress(progressCallback);

    ProgressControl progressControlStopCallback = { ProgressControlStopCallback , this };
    uploadRequest.setProgressControl(progressControlStopCallback);
    auto uploadOutcome = client->ResumableFileUpload(uploadRequest);
    if (!uploadOutcome.isSuccess()) {
        PrintError(__FUNCTION__, uploadOutcome.error());
    } else {
        fileID = uploadOutcome.result().FileID();
        std::string isRapidUpload = uploadOutcome.result().RapidUpload() ? "is rapid upload" : "is not rapid upload";
        std::cout << __FUNCTION__ << " first time call ResumableFileUpload success, file id: " << fileID << ", " << isRapidUpload << std::endl;
        return fileID;
    }

    ProgressControl progressControlCallback = { ProgressControlCallback , this };
    uploadRequest.setProgressControl(progressControlCallback);
    uploadOutcome = client->ResumableFileUpload(uploadRequest);
    if (!uploadOutcome.isSuccess()) {
        PrintError(__FUNCTION__, uploadOutcome.error());
        return fileID;
    } else {
        fileID = uploadOutcome.result().FileID();
        std::string isRapidUpload = uploadOutcome.result().RapidUpload() ? "is rapid upload" : "is not rapid upload";
        std::cout << __FUNCTION__ << " second time call ResumableFileUpload success, file id: " << fileID << ", " << isRapidUpload << std::endl;
    }

    return fileID;
}