From fecc323112c23fdade315f008a828256892e3bc8 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sun, 29 Dec 2024 20:01:56 +0100 Subject: IMPL: SwapDiskDelegate.h class and Swap API. Signed-off-by: Amlal El Mahrouss --- dev/Kernel/src/System/SwapDiskDelegate.cc | 63 +++++++++++++------------------ 1 file changed, 26 insertions(+), 37 deletions(-) (limited to 'dev/Kernel/src/System') diff --git a/dev/Kernel/src/System/SwapDiskDelegate.cc b/dev/Kernel/src/System/SwapDiskDelegate.cc index ffe8812d..96c1d465 100644 --- a/dev/Kernel/src/System/SwapDiskDelegate.cc +++ b/dev/Kernel/src/System/SwapDiskDelegate.cc @@ -7,51 +7,40 @@ #include #include -namespace Kernel::Detail +namespace Kernel { - class SwapDiskDelegate; - - class SwapDiskDelegate final + BOOL SwapDiskDelegate::Write(const Char* fork_name, const SizeT fork_name_len, VoidPtr data, const SizeT data_len) { - public: - explicit SwapDiskDelegate() = default; - ~SwapDiskDelegate() = default; - - ZKA_COPY_DEFAULT(SwapDiskDelegate); - - BOOL Write(const Char* fork_name, const SizeT fork_name_len, VoidPtr data, const SizeT data_len) - { - if (!fork_name || !fork_name_len) - return NO; - - if (data_len > mib_cast(16)) - return NO; + if (!fork_name || !fork_name_len) + return NO; - if (!data) - return NO; + if (data_len > kSwapMgrBlockMaxSize) + return NO; - FileStream file(kSwapMgrPageFile, "wb"); + if (!data) + return NO; - if (file.Write(fork_name, data, data_len).Error()) - { - return NO; - } + FileStream file(kSwapMgrPageFile, "wb"); - return YES; + if (file.Write(fork_name, data, data_len).Error()) + { + return NO; } - VoidPtr Read(const Char* fork_name, const SizeT fork_name_len, const SizeT data_len) - { - if (!fork_name || !fork_name_len) - return nullptr; + return YES; + } - if (data_len > mib_cast(16)) - return nullptr; + VoidPtr SwapDiskDelegate::Read(const Char* fork_name, const SizeT fork_name_len, const SizeT data_len) + { + if (!fork_name || !fork_name_len) + return nullptr; - FileStream file(kSwapMgrPageFile, "rb"); + if (data_len > mib_cast(16)) + return nullptr; - voidPtr blob = file.Read(fork_name, data_len); - return blob; - } - }; -} // namespace Kernel::Detail \ No newline at end of file + FileStream file(kSwapMgrPageFile, "rb"); + + voidPtr blob = file.Read(fork_name, data_len); + return blob; + } +} // namespace Kernel \ No newline at end of file -- cgit v1.2.3