class Core::Portable::FileStorageContext

Overview

Load/save files with optional compression. More…

#include <corefile.h>

class FileStorageContext
{
public:
    // enums

    enum Mode;

    // classes

    class Implementation;

    // methods

    static FileStorageContext* create();
    static FileStorageContext& getMainThreadInstance();

    virtual IO::MemoryStream* loadFile(
        CStringPtr filename,
        Mode mode,
        int streamSizeEstimate = 0
    ) = 0;

    virtual bool saveFile(
        CStringPtr filename,
        const IO::MemoryStream& data,
        Mode mode
    ) = 0;

    virtual bool compress(IO::Stream& compressedData, const IO::MemoryStream& data) = 0;
    virtual bool decompress(IO::Stream& plainData, const IO::MemoryStream& data) = 0;
};

// direct descendants

class Implementation;

Detailed Documentation

Load/save files with optional compression.

Methods

static FileStorageContext* create()

create new instance, use one per thread!

static FileStorageContext& getMainThreadInstance()

shared instance for main thread