view include/core/session.h @ 137:69db40272acd

dep/animia: [WIP] huge refactor this WILL NOT compile, because lots of code has been changed and every API in the original codebase has been removed. note that this api setup is not exactly permanent...
author Paper <mrpapersonic@gmail.com>
date Fri, 10 Nov 2023 13:52:47 -0500
parents 39521c47c7a3
children 6fdf0632c003
line wrap: on
line source

#ifndef __core__session_h
#define __core__session_h

#include "core/config.h"
#include "track/types.h"
#include "gui/locale.h"
#include <QElapsedTimer>

struct Session {
	public:
		Session() { timer.start(); }
		/* we literally *cannot* be lying to the user by doing this */
		void IncrementRequests() { requests++; };
		int GetRequests() { return requests; };
		int uptime() { return timer.elapsed(); }

		Config config;

		struct {
			std::vector<Track::Types::MediaPlayer> players;
			std::vector<Track::Types::MediaExtension> extensions;
		} recognition;

	private:
		uint32_t requests = 0;
		QElapsedTimer timer;
};

extern Session session;

#endif // __core__session_h