view include/core/session.h @ 132:c2dab54abc79

builds/linux: add missing `file` dependency how many dependencies does appimagetool need??
author Paper <mrpapersonic@gmail.com>
date Thu, 09 Nov 2023 02:47:03 -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