Program Listing for File FileObject.cpp¶
↰ Return to documentation for file (src/FileObject.cpp)
//
// Created by Aleksey Timin on 11/21/19.
//
#include <map>
#include "FileObject.h"
#include "fileObject/FileObjectState.h"
#include "utils/Buffer.h"
#include "utils/Logger.h"
#include "cip/Services.h"
namespace eipScanner {
using utils::Buffer;
using utils::Logger;
using utils::LogLevel;
FileObject::FileObject(cip::CipUint instanceId, const SessionInfoIf::SPtr& si)
: FileObject(instanceId, si, std::make_shared<MessageRouter>()){
}
FileObject::FileObject(cip::CipUint instanceId, const SessionInfoIf::SPtr& si, const MessageRouter::SPtr& messageRouter)
: BaseObject(fileObject::FILE_OBJECT_CLASS_ID, instanceId)
, _state(new fileObject::FileObjectState(FileObjectStateCodes::UNKNOWN, *this, instanceId, messageRouter)) {
_state->SyncState(si);
}
FileObject::~FileObject() = default;
fileObject::FileObjectState::UPtr& FileObject::getState() {
return _state;
}
void FileObject::beginUpload(SessionInfoIf::SPtr si, fileObject::EndUploadHandler handle) {
_state->initiateUpload(si, handle);
}
bool FileObject::handleTransfers(SessionInfoIf::SPtr si) {
return _state->transfer(si);
}
}