//--------------------------------------------------------------------------- // // SCSI Target Emulator RaSCSI (*^..^*) // for Raspberry Pi // // Copyright (C) 2021 Uwe Seimet // //--------------------------------------------------------------------------- #pragma once #include "rascsi_interface.pb.h" #include using namespace std; using namespace rascsi_interface; class RascsiImage { public: RascsiImage(); ~RascsiImage() {}; void SetDepth(int depth) { this->depth = depth; } int GetDepth() { return depth; } bool CheckDepth(const string&); bool CreateImageFolder(int, const string&); string GetDefaultImageFolder() const { return default_image_folder; } string SetDefaultImageFolder(const string&); bool IsValidSrcFilename(const string&); bool IsValidDstFilename(const string&); bool CreateImage(int, const PbCommand&); bool DeleteImage(int, const PbCommand&); bool RenameImage(int, const PbCommand&); bool CopyImage(int, const PbCommand&); bool SetImagePermissions(int, const PbCommand&); private: string default_image_folder; int depth; };