int FileUploadRequest::validate()

in sdk/src/resumable/FileUploadRequest.cc [124:153]


int FileUploadRequest::validate() const
{
    auto ret = PdsResumableBaseRequest::validate();
    if (ret != 0) {
        return ret;
    }

#if !defined(_WIN32)
    if (!filePathW_.empty()) {
        return ARG_ERROR_PATH_NOT_SUPPORT_WSTRING_TYPE;
    }
#endif

    //path and checkpoint must be same type.
    if ((!filePath_.empty() && !checkpointDirW_.empty()) ||
        (!filePathW_.empty() && !checkpointDir_.empty())) {
        return ARG_ERROR_PATH_NOT_SAME_TYPE;
    }

    if (!isFileExist_) {
        return ARG_ERROR_OPEN_UPLOAD_FILE;
    }

    //auto_rename is not supported when task id is empty
    if (taskID_.empty() && checkNameMode_ == "auto_rename") {
        return ARG_ERROR_UPLOAD_CANNOT_AUTO_RENAME;
    }

    return 0;
}