#pragma once

/*
	ApplicationFramework
	by John Ryland
	Copyright (c) 2023
*/

////////////////////////////////////////////////////////////////////////////////////
//	Acknowledgements

#include <vector>
#include <cstdint>
#include <cstdlib>
#include "Utilities.h"

namespace ApplicationFramework {

struct AcknowledgementEntry
{
    const char*           name;
    const char*           authors;
    const char*           copyright;
    const char*           licenseType;
    Utilities::SizedArray licenseText;
};

class Acknowledgements
{
public:
    Acknowledgements();
    ~Acknowledgements();

    static Acknowledgements& Get();

    void AddEntry(const AcknowledgementEntry& entry);
    void Show(bool* open);

private:
    std::vector<AcknowledgementEntry>    m_acknowledgements;
};

} // ApplicationFramework namespace
