Program Listing for File FileObjectUploadInProgressState.h¶
↰ Return to documentation for file (src/fileObject/FileObjectUploadInProgressState.h)
//
// Created by Aleksey Timin on 11/23/19.
//
#ifndef EIPSCANNER_FILEOBJECT_FILEOBJECTUPLOADINPROGRESSSTATE_H
#define EIPSCANNER_FILEOBJECT_FILEOBJECTUPLOADINPROGRESSSTATE_H
#include <stdexcept>
#include "FileObjectState.h"
#include "cip/Types.h"
namespace eipScanner {
namespace fileObject {
class FileObjectUploadInProgressState : public FileObjectState {
public:
FileObjectUploadInProgressState(FileObject &owner, cip::CipUint objectId, MessageRouter::SPtr messageRouter,
cip::CipUdint fileSize, cip::CipUsint transferSize, EndUploadHandler handler);
void initiateUpload(SessionInfoIf::SPtr si, EndUploadHandler handle) override;
bool transfer(SessionInfoIf::SPtr si) override;
private:
cip::CipUdint _fileSize;
cip::CipUsint _transferSize;
std::vector<uint8_t>_fileContent;
cip::CipUsint _transferNumber;
EndUploadHandler _handler;
};
}
}
#endif // EIPSCANNER_FILEOBJECT_FILEOBJECTUPLOADINPROGRESSSTATE_H