/* * Copyright (c) 2018-2020, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include namespace Kernel { class SharedInodeVMObject final : public InodeVMObject { AK_MAKE_NONMOVABLE(SharedInodeVMObject); public: static RefPtr try_create_with_inode(Inode&); virtual RefPtr clone() override; private: virtual bool is_shared_inode() const override { return true; } explicit SharedInodeVMObject(Inode&, size_t); explicit SharedInodeVMObject(const SharedInodeVMObject&); virtual StringView class_name() const override { return "SharedInodeVMObject"sv; } SharedInodeVMObject& operator=(const SharedInodeVMObject&) = delete; }; }