#pragma once
#include "fs/devices/DeviceRegistry.h"

class UARTDevice : public Device
{
  public:
    // Initializer for DeviceRegistry.
    static Result<void> create();

    Result<usize> read(u8*, usize, usize) const override
    {
        return 0;
    }

    Result<usize> write(const u8*, usize, usize) override;

    bool will_block_if_read() const override
    {
        return false;
    }

    StringView device_path() const override
    {
        return "uart0";
    }

    virtual ~UARTDevice() = default;
};