Reader.h 1.4 KB

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