mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-28 19:59:17 +00:00
LibWeb/EntriesAPI: Implement FileSystemEntry
This commit is contained in:
parent
b583aec3ac
commit
169163b002
Notes:
github-actions[bot]
2024-08-24 12:54:09 +00:00
Author: https://github.com/jamierocks
Commit: 169163b002
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/1172
Reviewed-by: https://github.com/trflynn89
10 changed files with 118 additions and 0 deletions
39
Userland/Libraries/LibWeb/EntriesAPI/FileSystemEntry.h
Normal file
39
Userland/Libraries/LibWeb/EntriesAPI/FileSystemEntry.h
Normal file
|
@ -0,0 +1,39 @@
|
|||
/*
|
||||
* Copyright (c) 2024, Jamie Mansfield <jmansfield@cadixdev.org>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <LibWeb/Bindings/PlatformObject.h>
|
||||
|
||||
namespace Web::EntriesAPI {
|
||||
|
||||
enum class EntryType {
|
||||
File,
|
||||
Directory,
|
||||
};
|
||||
|
||||
class FileSystemEntry final : public Bindings::PlatformObject {
|
||||
WEB_PLATFORM_OBJECT(FileSystemEntry, Bindings::PlatformObject);
|
||||
JS_DECLARE_ALLOCATOR(FileSystemEntry);
|
||||
|
||||
public:
|
||||
static JS::NonnullGCPtr<FileSystemEntry> create(JS::Realm&, EntryType entry_type, ByteString name);
|
||||
virtual ~FileSystemEntry() override = default;
|
||||
|
||||
bool is_file() const;
|
||||
bool is_directory() const;
|
||||
ByteString name() const;
|
||||
|
||||
private:
|
||||
FileSystemEntry(JS::Realm&, EntryType entry_type, ByteString name);
|
||||
|
||||
virtual void initialize(JS::Realm&) override;
|
||||
|
||||
EntryType m_entry_type;
|
||||
ByteString m_name;
|
||||
};
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue