123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #pragma once
- #include <iostream>
- #include "Betriebssystem.h"
- namespace Framework
- {
- class Text;
- class StreamWriter
- {
- public:
- //! Schreibt in die Resource
- //! \param bytes Ein Array, der die Bytes enthält, welche in die
- //! Resource geschrieben werden soll \param len Wie viele Bytes in die
- //! Resource geschrieben werden sollen
- virtual void schreibe(const char* bytes, int len) = 0;
- //! Prüft, ob die Resource vollständig geschrieben wurde
- //! return 1, wenn die Resource vollständig geschrieben wurde. 0, sonst
- virtual bool istEnde() const = 0;
- };
- class Writer : public StreamWriter
- {
- public:
- //! Setzt die Position des Bytes, das als nächstes geschrieben werden
- //! soll \param pos Der Index des Bytes \param ende 1, wenn der Index
- //! vom ende der Resource zählt. 0, wenn der Index vom Beginn der
- //! Resource zählt
- virtual void setSPosition(__int64 pos, bool ende) = 0;
- //! Gibt den Index des Bytes aus der Resource zurück, welches als
- //! nächstes geschrieben werden würde return -1, falls ein Fehler
- //! aufgetreten ist. Sonst die Position des Schreibzeigers
- virtual __int64 getSPosition() const = 0;
- //! Gibt die Anzahl der zu schreibenden Bytes zurück
- virtual __int64 getSize() const = 0;
- };
- class OStreamWriter : public StreamWriter
- {
- private:
- std::ostream& out;
- public:
- __declspec(dllexport) OStreamWriter(std::ostream& out);
- __declspec(dllexport) void schreibe(
- const char* bytes, int len) override;
- __declspec(dllexport) bool istEnde() const override;
- };
- } // namespace Framework
|