Reader.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536
  1. #pragma once
  2. #include "Betriebssystem.h"
  3. namespace Framework
  4. {
  5. class Text;
  6. class StreamReader
  7. {
  8. //! Ließt aus der Datei
  9. //! \param bytes Ein Array, der mit Bytes aus der Resource gefüllt werden soll
  10. //! \param len Wie viele Bytes aus der Resource gelesen werden sollen
  11. virtual void lese( char *bytes, int len ) = 0;
  12. //! Ließt die nächste zeile der Resource ein
  13. //! \return Die gelesene Zeile als Text mit zeilenumbruch
  14. virtual Text *leseZeile() = 0;
  15. //! Prüft, ob die Resource vollständig gelesen wurde
  16. //! return 1, wenn die Resource vollständig gelesen wurde. 0, sonst
  17. virtual bool istEnde() const = 0;
  18. };
  19. class Reader : public StreamReader
  20. {
  21. public:
  22. //! Setzt die Position des Bytes, das als nächstes gelesen werden soll
  23. //! \param pos Der Index des Bytes
  24. //! \param ende 1, wenn der Index vom ende der Resource zählt. 0, wenn der Index vom Beginn der Resource zählt
  25. virtual void setLPosition( __int64 pos, bool ende ) = 0;
  26. //! Gibt den Index des Bytes aus der Resource zurück, welches als nächstes gelesen werden würde
  27. //! return -1, falls ein Fehler aufgetreten ist. Sonst die Position des Lesezeigers
  28. virtual __int64 getLPosition() const = 0;
  29. //! Gibt die Anzahl der zu lesenden Bytes zurück
  30. virtual __int64 getSize() const = 0;
  31. };
  32. }