#ifndef RUNTIME_H
#define RUNTIME_H

#include <string>
#include <initializer_list>

class Runtime
{
public:
    enum Type
    {
        FONT,
        SHADER,
    };

    static std::string find(Type t, const std::string & name);
    static void init(const char * executable_path, const char * appname);

protected:
    static std::string find_first_under(const std::string & runtime_subpath,
                                        const std::string & name,
                                        const std::initializer_list<const char *> & extensions,
                                        bool look_in_subdirs = false);
    static std::string find_first_in(const std::string & path,
                                     const std::string & name,
                                     const std::initializer_list<const char *> & extensions);
};

#endif
