class Core::Platform::FileStreamStub

Overview

#include <coreplatformfilesystem.h>

class FileStreamStub: public Core::Platform::IFileStream
{
public:
    // construction

    FileStreamStub(FILE* file = nullptr);

    // methods

    virtual int64 getPosition();
    virtual int64 setPosition(int64 pos, int mode);
    virtual int readBytes(void* buffer, int size);
    virtual int writeBytes(const void* buffer, int size);
    virtual bool open(CStringPtr filename, int mode = IO::kReadMode|IO::kWriteMode);
    virtual bool create(CStringPtr filename);
    virtual void close();
    virtual bool isOpen() const;
    virtual int64 getFileSize();
};

Inherited Members

public:
    // fields

    static const InterfaceID kIID = FOUR_CHAR_ID('B','S','t','r');

    // methods

    virtual int64 getPosition() = 0;
    virtual int64 setPosition(int64 pos, int mode) = 0;
    virtual int readBytes(void* buffer, int size) = 0;
    virtual int writeBytes(const void* buffer, int size) = 0;
    virtual BufferProvider* getBufferProvider();
    virtual bool open(CStringPtr filename, int mode = IO::kReadMode|IO::kWriteMode) = 0;
    virtual bool create(CStringPtr filename) = 0;
    virtual void close() = 0;
    virtual bool isOpen() const = 0;
    virtual int64 getFileSize() = 0;

Detailed Documentation

Methods

virtual int64 getPosition()

Get current read/write position.

virtual int64 setPosition(int64 pos, int mode)

Set current read/write position.

See also:

SeekMode

virtual int readBytes(void* buffer, int size)

Read data from stream.

Returns:

number of bytes read or -1 for error

virtual int writeBytes(const void* buffer, int size)

Write data to stream.

Returns:

number of bytes written or -1 for error