ProjectFile.h 607 B

12345678910111213141516171819202122232425262728
  1. #pragma once
  2. #include <AK/ByteBuffer.h>
  3. #include <AK/NonnullRefPtr.h>
  4. #include <AK/RefCounted.h>
  5. #include <AK/String.h>
  6. #include <LibGUI/GTextDocument.h>
  7. class ProjectFile : public RefCounted<ProjectFile> {
  8. public:
  9. static NonnullRefPtr<ProjectFile> construct_with_name(const String& name)
  10. {
  11. return adopt(*new ProjectFile(name));
  12. }
  13. const String& name() const { return m_name; }
  14. const GTextDocument& document() const;
  15. private:
  16. explicit ProjectFile(const String& name)
  17. : m_name(name)
  18. {
  19. }
  20. String m_name;
  21. mutable RefPtr<GTextDocument> m_document;
  22. };