C

Qt Quick Ultralite fileloading Example

// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial

#include <qul/private/global.h>
#include <platforminterface/filesystem.h>

class PosixFile : public Qul::PlatformInterface::File
{
public:
    PosixFile(int fileHandle);
    ~PosixFile();
    uint64_t size() QUL_DECL_OVERRIDE;
    int read(unsigned char *outputBuffer, uint64_t startOffset, unsigned int readSize) QUL_DECL_OVERRIDE;
    int close() QUL_DECL_OVERRIDE;

private:
    int m_fileHandle;
};

class PosixFilesystem : public Qul::PlatformInterface::Filesystem
{
public:
    Qul::PlatformInterface::File *open(
        const char *fileName,
        Qul::PlatformInterface::File::Mode mode = Qul::PlatformInterface::File::Mode::ReadOnly) QUL_DECL_OVERRIDE;
};