/* ------------------------------------------- Copyright Mahrouss Logic ------------------------------------------- */ #include #include #include /// BUGS: 0 //! @brief File manager for NewOS. namespace NewOS { static FilesystemManagerInterface* kMounted = nullptr; /// @brief FilesystemManager getter. /// @return The mounted filesystem. FilesystemManagerInterface* FilesystemManagerInterface::GetMounted() { return kMounted; } /// @brief Unmount filesystem. /// @return the unmounted filesystem. FilesystemManagerInterface* FilesystemManagerInterface::Unmount() { if (kMounted) { auto mount = kMounted; kMounted = nullptr; return mount; } return nullptr; } /// @brief Mount filesystem. /// @param mountPtr the filesystem to mount. /// @return if it succeeded true, otherwise false. bool FilesystemManagerInterface::Mount(FilesystemManagerInterface* mountPtr) { if (kMounted == nullptr) { kMounted = mountPtr; return true; } return false; } } // namespace NewOS