view include/core/session.h @ 264:9a04802848c0

*: improve multiple things e.g. making some strings.cc functions modify strings in-place, improving m4_ax_have_qt.m4 code, making anime_db.cc rely on std::optional rather than std::shared_ptr (which was stupid anyway)
author Paper <paper@paper.us.eu.org>
date Thu, 11 Apr 2024 10:15:57 -0400
parents 3ec7804abf17
children 9a88e1725fd2
line wrap: on
line source

#ifndef MINORI_CORE_SESSION_H_
#define MINORI_CORE_SESSION_H_

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

#include "semver/semver.hpp"

class MainWindow;

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;
	static constexpr semver::version version{PACKAGE_VERSION};

private:
	unsigned int requests = 0;
	QElapsedTimer timer;
};

extern Session session;

#endif // MINORI_CORE_SESSION_H_