CFile.h 715 B

12345678910111213141516171819202122232425
  1. #pragma once
  2. #include <LibCore/CIODevice.h>
  3. #include <AK/AKString.h>
  4. class CFile final : public CIODevice {
  5. public:
  6. CFile() { }
  7. explicit CFile(const String&);
  8. virtual ~CFile() override;
  9. String filename() const { return m_filename; }
  10. void set_filename(const String& filename) { m_filename = filename; }
  11. virtual bool open(CIODevice::OpenMode) override;
  12. enum class ShouldCloseFileDescriptor { No = 0, Yes };
  13. bool open(int fd, CIODevice::OpenMode, ShouldCloseFileDescriptor);
  14. virtual const char* class_name() const override { return "CFile"; }
  15. private:
  16. String m_filename;
  17. ShouldCloseFileDescriptor m_should_close_file_descriptor { ShouldCloseFileDescriptor::Yes };
  18. };