1 #ifndef FILEMANIPULATOR_HH
2 #define FILEMANIPULATOR_HH
11 class CommandController;
13 class SectorAccessibleDisk;
29 static constexpr
unsigned MAX_PARTITIONS = 31;
33 std::string driveName;
34 std::string workingDir[MAX_PARTITIONS + 1];
38 using Drives = std::vector<DriveSettings>;
42 void execute(std::span<const TclObject> tokens,
TclObject& result)
override;
43 [[nodiscard]] std::string help(std::span<const TclObject> tokens)
const override;
44 void tabCompletion(std::vector<std::string>& tokens)
const override;
46 [[nodiscard]] std::string getMachinePrefix()
const;
47 [[nodiscard]] Drives::iterator findDriveSettings(
DiskContainer& drive);
48 [[nodiscard]] Drives::iterator findDriveSettings(std::string_view driveName);
49 [[nodiscard]] DriveSettings& getDriveSettings(std::string_view diskname);
51 const DriveSettings& driveData);
53 DriveSettings& driveData);
55 static void create(std::span<const TclObject> tokens);
56 void savedsk(
const DriveSettings& driveData, std::string
filename);
57 void format(DriveSettings& driveData,
bool dos1);
58 std::string chdir(DriveSettings& driveData, std::string_view
filename);
59 void mkdir(DriveSettings& driveData, std::string_view
filename);
60 [[nodiscard]] std::string dir(DriveSettings& driveData);
61 std::string
import(DriveSettings& driveData,
62 std::span<const TclObject> lists);
63 void exprt(DriveSettings& driveData, std::string_view dirname,
64 std::span<const TclObject> lists);
void unregisterDrive(DiskContainer &drive)
DiskManipulator(CommandController &commandController, Reactor &reactor)
void registerDrive(DiskContainer &drive, std::string_view prefix)
Contains the main loop of openMSX.
void partition(SectorAccessibleDisk &disk, std::span< const unsigned > sizes)
Write a partition table to the given disk and format each partition.
This file implemented 3 utility functions:
constexpr const char *const filename