123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- #ifndef FILE_ACCESS_MEMORY_H
- #define FILE_ACCESS_MEMORY_H
- #include "os/file_access.h"
- class FileAccessMemory : public FileAccess {
- uint8_t *data;
- int length;
- mutable int pos;
- static FileAccess *create();
- public:
- static void register_file(String p_name, Vector<uint8_t> p_data);
- static void cleanup();
- virtual Error open_custom(const uint8_t *p_data, int p_len);
- virtual Error _open(const String &p_path, int p_mode_flags);
- virtual void close();
- virtual bool is_open() const;
- virtual void seek(size_t p_position);
- virtual void seek_end(int64_t p_position);
- virtual size_t get_position() const;
- virtual size_t get_len() const;
- virtual bool eof_reached() const;
- virtual uint8_t get_8() const;
- virtual int get_buffer(uint8_t *p_dst, int p_length) const;
- virtual Error get_error() const;
- virtual void flush();
- virtual void store_8(uint8_t p_byte);
- virtual void store_buffer(const uint8_t *p_src, int p_length);
- virtual bool file_exists(const String &p_name);
- virtual uint64_t _get_modified_time(const String &p_file) { return 0; }
- FileAccessMemory();
- };
- #endif
|