mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 04:57:44 +00:00
Kernel: Make File's can_read/can_write take a const FileDescription&
Asking a File if we could possibly read or write it will never mutate the asking FileDescription&, so it should be const.
This commit is contained in:
parent
e8fee92357
commit
1b2ef8582c
47 changed files with 97 additions and 91 deletions
|
@ -83,12 +83,12 @@ void FIFO::detach(Direction direction)
|
|||
}
|
||||
}
|
||||
|
||||
bool FIFO::can_read(FileDescription&) const
|
||||
bool FIFO::can_read(const FileDescription&) const
|
||||
{
|
||||
return !m_buffer.is_empty() || !m_writers;
|
||||
}
|
||||
|
||||
bool FIFO::can_write(FileDescription&) const
|
||||
bool FIFO::can_write(const FileDescription&) const
|
||||
{
|
||||
return m_buffer.bytes_in_write_buffer() < 4096 || !m_readers;
|
||||
}
|
||||
|
|
|
@ -30,8 +30,8 @@ private:
|
|||
// ^File
|
||||
virtual ssize_t write(FileDescription&, const u8*, ssize_t) override;
|
||||
virtual ssize_t read(FileDescription&, u8*, ssize_t) override;
|
||||
virtual bool can_read(FileDescription&) const override;
|
||||
virtual bool can_write(FileDescription&) const override;
|
||||
virtual bool can_read(const FileDescription&) const override;
|
||||
virtual bool can_write(const FileDescription&) const override;
|
||||
virtual String absolute_path(const FileDescription&) const override;
|
||||
virtual const char* class_name() const override { return "FIFO"; }
|
||||
virtual bool is_fifo() const override { return true; }
|
||||
|
|
|
@ -46,8 +46,8 @@ public:
|
|||
virtual KResultOr<NonnullRefPtr<FileDescription>> open(int options);
|
||||
virtual void close();
|
||||
|
||||
virtual bool can_read(FileDescription&) const = 0;
|
||||
virtual bool can_write(FileDescription&) const = 0;
|
||||
virtual bool can_read(const FileDescription&) const = 0;
|
||||
virtual bool can_write(const FileDescription&) const = 0;
|
||||
|
||||
virtual ssize_t read(FileDescription&, u8*, ssize_t) = 0;
|
||||
virtual ssize_t write(FileDescription&, const u8*, ssize_t) = 0;
|
||||
|
|
|
@ -121,14 +121,12 @@ ssize_t FileDescription::write(const u8* data, ssize_t size)
|
|||
|
||||
bool FileDescription::can_write() const
|
||||
{
|
||||
// FIXME: Remove this const_cast.
|
||||
return m_file->can_write(const_cast<FileDescription&>(*this));
|
||||
return m_file->can_write(*this);
|
||||
}
|
||||
|
||||
bool FileDescription::can_read() const
|
||||
{
|
||||
// FIXME: Remove this const_cast.
|
||||
return m_file->can_read(const_cast<FileDescription&>(*this));
|
||||
return m_file->can_read(*this);
|
||||
}
|
||||
|
||||
ByteBuffer FileDescription::read_entire_file()
|
||||
|
|
|
@ -16,8 +16,8 @@ public:
|
|||
const Inode& inode() const { return *m_inode; }
|
||||
Inode& inode() { return *m_inode; }
|
||||
|
||||
virtual bool can_read(FileDescription&) const override { return true; }
|
||||
virtual bool can_write(FileDescription&) const override { return true; }
|
||||
virtual bool can_read(const FileDescription&) const override { return true; }
|
||||
virtual bool can_write(const FileDescription&) const override { return true; }
|
||||
|
||||
virtual ssize_t read(FileDescription&, u8*, ssize_t) override;
|
||||
virtual ssize_t write(FileDescription&, const u8*, ssize_t) override;
|
||||
|
|
|
@ -18,12 +18,12 @@ InodeWatcher::~InodeWatcher()
|
|||
safe_inode->unregister_watcher({}, *this);
|
||||
}
|
||||
|
||||
bool InodeWatcher::can_read(FileDescription&) const
|
||||
bool InodeWatcher::can_read(const FileDescription&) const
|
||||
{
|
||||
return !m_queue.is_empty() || !m_inode;
|
||||
}
|
||||
|
||||
bool InodeWatcher::can_write(FileDescription&) const
|
||||
bool InodeWatcher::can_write(const FileDescription&) const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -21,8 +21,8 @@ public:
|
|||
Type type { Type::Invalid };
|
||||
};
|
||||
|
||||
virtual bool can_read(FileDescription&) const override;
|
||||
virtual bool can_write(FileDescription&) const override;
|
||||
virtual bool can_read(const FileDescription&) const override;
|
||||
virtual bool can_write(const FileDescription&) const override;
|
||||
virtual ssize_t read(FileDescription&, u8*, ssize_t) override;
|
||||
virtual ssize_t write(FileDescription&, const u8*, ssize_t) override;
|
||||
virtual String absolute_path(const FileDescription&) const override;
|
||||
|
|
|
@ -24,8 +24,8 @@ public:
|
|||
|
||||
private:
|
||||
// ^File
|
||||
virtual bool can_read(FileDescription&) const override { return true; }
|
||||
virtual bool can_write(FileDescription&) const override { return true; }
|
||||
virtual bool can_read(const FileDescription&) const override { return true; }
|
||||
virtual bool can_write(const FileDescription&) const override { return true; }
|
||||
virtual int read(FileDescription&, u8*, int) override;
|
||||
virtual int write(FileDescription&, const u8*, int) override;
|
||||
virtual String absolute_path(const FileDescription&) const override;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue