#ifndef GLOBAL_H
#define GLOBAL_H

#include "streamingversiondata.h"

#include <QString>
#include <QTime>
#include <QDebug>
#include <QDir>

#define TCP_READ_TIMEOUT 2000

static QString applicationEXEName = "RRJ.exe";
static QString applicationFolderName = "/Application";
static QString staticDataFolderName = "/StaticData";
static QString fullStaticDataFolderName = QDir::currentPath() + staticDataFolderName;
static QString streamingAssetsPath = "/Application/RRJLoader/RRJ_Data/StreamingAssets";
static QString hashFilename = "/clientHash.xml";
static QString settingsName = fullStaticDataFolderName + "/settings.xml";
static QString tempName = fullStaticDataFolderName + "/temp.xml";
static QString authTempName = fullStaticDataFolderName + "/authData.xml";
static QString displayTemp = fullStaticDataFolderName + "/displayData.xml";
static QString streamingHashFilename = fullStaticDataFolderName + "/streamingHash.xml";
static QString serverHash = fullStaticDataFolderName + "/serverHash.xml";

static QString cmd_CheckVersionList = "CHECKVERSIONLIST";
static QString cmd_GetServerHash = "GETSERVERDATALIST";
static QString cmd_Disable = "DISABLE";

enum PacketType{
    TYPE_NONE = 0,
    TYPE_UNITY = 1,
    TYPE_FILE = 2,
    TYPE_COMMAND = 3,
    TYPE_FOLDER = 4,
    TYPE_DELETE = 5,
    TYPE_FINISH = 6,
    TYPE_NEEDUPDATE = 7,
    TYPE_XMLANSWER = 8,
    TYPE_QT = 9,
    TYPE_DISABLE = 11,

    HASH_READY = 150,
    CHANGE_DATA_VERSION = 151,
    COPY_VERSION = 152,
    DELETE_DATA_VERSION = 153
};

class Tools {
public:

    static void printTime();
    static QString getTime();
    static QString createLocalPath(QString path);
    static QString createSendFullPath(QString path);
    static QString createReceiveFullPath(QString path,StreamingVersionData *version);
    static QString convertFileSize(quint64 fileSize);
};

#endif // GLOBAL_H
