#pragma once #include enum class StreamError { STREAM_OK = 0, // 成功 STREAM_INVALID_HANDLE = 1, // handle 不存在 STREAM_WRITE_FAILED = 2, // 写入失败(缓冲或解析错误) STREAM_ALREADY_CLOSED = 3, // 已关闭 STREAM_UNKNOWN_TYPE = 4 // Open 类型错误 }; /** * @brief 数据流抽象类 */ class INativeStream { public: virtual void Write(const void* data, size_t size) = 0; virtual void Complete() = 0; virtual ~INativeStream() {} }; /** * @brief 缓冲流:累积 Write 的数据,Complete 后可通过 GetContent 取完整内容 */ class BufferStream : public INativeStream { public: void Write(const void* data, size_t size) override; void Complete() override; const std::string& GetContent() const { return m_buffer; } private: std::string m_buffer; };