Add ability to check for first-time-run

This commit is contained in:
Andrew nuark G 2020-12-16 00:29:05 +07:00
parent 2293c377eb
commit 6458ebe2a4
2 changed files with 11 additions and 2 deletions

View file

@ -2,16 +2,17 @@
apparatus *apparatus::_instance = nullptr; apparatus *apparatus::_instance = nullptr;
const QString apparatus::filename = "data.bin";
void apparatus::open_reading_stream() { void apparatus::open_reading_stream() {
this->_bin_file = new QFile("data.bin"); this->_bin_file = new QFile(apparatus::filename);
this->_bin_file->open(QIODevice::ReadOnly); this->_bin_file->open(QIODevice::ReadOnly);
stream.setDevice(_bin_file); stream.setDevice(_bin_file);
} }
void apparatus::open_writing_stream() { void apparatus::open_writing_stream() {
this->_bin_file = new QFile("data.bin"); this->_bin_file = new QFile(apparatus::filename);
this->_bin_file->open(QIODevice::WriteOnly); this->_bin_file->open(QIODevice::WriteOnly);
stream.setDevice(_bin_file); stream.setDevice(_bin_file);
@ -49,6 +50,10 @@ apparatus& apparatus::instance() {
return *apparatus::_instance; return *apparatus::_instance;
} }
bool apparatus::isFirstRun() {
return QFile(apparatus::filename).exists();
}
void apparatus::init() { void apparatus::init() {
apparatus::_instance = new apparatus(); apparatus::_instance = new apparatus();
} }

View file

@ -1,6 +1,7 @@
#ifndef APPARATUS_H #ifndef APPARATUS_H
#define APPARATUS_H #define APPARATUS_H
#include <QString>
#include <QFile> #include <QFile>
#include <QDataStream> #include <QDataStream>
@ -12,6 +13,7 @@ class apparatus
{ {
private: private:
static apparatus *_instance; static apparatus *_instance;
static const QString filename;
QFile *_bin_file; QFile *_bin_file;
QDataStream stream; QDataStream stream;
@ -30,6 +32,8 @@ public:
apparatus(); apparatus();
~apparatus(); ~apparatus();
bool isFirstRun();
static apparatus& instance(); static apparatus& instance();
static void init(); static void init();
static void shutdown(); static void shutdown();