sea_transport_project/sea_transport/system/apparatus.h
2020-12-18 17:40:22 +07:00

51 lines
934 B
C++

#ifndef APPARATUS_H
#define APPARATUS_H
#include "auth_system.h"
#include "object_system.h"
#include <QString>
#include <QFile>
#include <QDataStream>
#include <entities/vessel_entity.h>
#include <entities/storage_entity.h>
class apparatus
{
private:
static apparatus *_instance;
static const QString filename;
QFile *_bin_file;
QDataStream stream;
auth_system _auth_system;
object_system _object_system;
void open_reading_stream();
void open_writing_stream();
void close_stream();
void writeGIDS();
void loadGIDS();
void serialize_data();
void deserialize_data();
public:
apparatus();
~apparatus();
bool isFirstRun();
void generate_empty_data();
const auth_system& get_auth_subsystem();
const object_system& get_object_subsystem();
static apparatus& instance();
static void init();
static void shutdown();
};
#endif // APPARATUS_H