mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 07:30:19 +00:00
2fe5ece449
There's no reason this information needs to be secret.
61 lines
1.3 KiB
C++
61 lines
1.3 KiB
C++
/*
|
|
* Copyright (c) 2018-2023, Andreas Kling <kling@serenityos.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#include <Kernel/FileSystem/Custody.h>
|
|
#include <Kernel/FileSystem/FileSystem.h>
|
|
#include <Kernel/FileSystem/Inode.h>
|
|
#include <Kernel/FileSystem/Mount.h>
|
|
|
|
namespace Kernel {
|
|
|
|
Mount::Mount(NonnullRefPtr<FileSystem> guest_fs, RefPtr<Custody> host_custody, int flags)
|
|
: m_guest_fs(move(guest_fs))
|
|
, m_guest(m_guest_fs->root_inode())
|
|
, m_host_custody(move(host_custody))
|
|
, m_flags(flags)
|
|
{
|
|
}
|
|
|
|
Mount::Mount(NonnullRefPtr<Inode> source, NonnullRefPtr<Custody> host_custody, int flags)
|
|
: m_guest_fs(source->fs())
|
|
, m_guest(move(source))
|
|
, m_host_custody(move(host_custody))
|
|
, m_flags(flags)
|
|
{
|
|
}
|
|
|
|
ErrorOr<NonnullOwnPtr<KString>> Mount::absolute_path() const
|
|
{
|
|
if (!m_host_custody)
|
|
return KString::try_create("/"sv);
|
|
return m_host_custody->try_serialize_absolute_path();
|
|
}
|
|
|
|
RefPtr<Inode> Mount::host()
|
|
{
|
|
if (!m_host_custody)
|
|
return nullptr;
|
|
return m_host_custody->inode();
|
|
}
|
|
|
|
RefPtr<Inode const> Mount::host() const
|
|
{
|
|
if (!m_host_custody)
|
|
return nullptr;
|
|
return m_host_custody->inode();
|
|
}
|
|
|
|
RefPtr<Custody const> Mount::host_custody() const
|
|
{
|
|
return m_host_custody;
|
|
}
|
|
|
|
RefPtr<Custody> Mount::host_custody()
|
|
{
|
|
return m_host_custody;
|
|
}
|
|
|
|
}
|