Переделано под один мега-проект LMS с общим CMakeLists.txt

This commit is contained in:
krivoshein
2025-01-15 12:34:56 +03:00
parent 3064818931
commit 1c93b1f94d
219 changed files with 68 additions and 51 deletions

114
ServerLMS/Data/Client.h Normal file
View File

@@ -0,0 +1,114 @@
#ifndef CLIENT_H
#define CLIENT_H
#include <QString>
#include <QTcpSocket>
#include "typesDataServerClient.h"
class Client
{
public:
Client(QString name, QString address, QString port,QObject *parent = nullptr):
login(""),
ready(false),
TypeClient(TypeClientAutorization::TYPE_SIMPLE)
{
this->name = name;
this->address = address;
this->port = port;
this->fullName = "Name: " + name + " IP: " + address + " port : " + port + " login: " + login;
};
~Client();
public:
QString getFullName()
{
return fullName;
};
void setLogin(QString login)
{
this->login = login;
isLoggedIn = true;
fullName = "Name: " + name + " IP: " + address + " port : " + port + " login: " + login;
}
QString getLogin()
{
return login;
}
QString getAddress()
{
return address;
}
QString getPort()
{
return port;
}
bool getReady()
{
return ready;
}
void setReady(bool ready)
{
this->ready = ready;
}
void setUnity(bool flag)
{
isUnity = flag;
}
bool getIsUnity()
{
return isUnity;
}
void setTypeClient(TypeClientAutorization TypeClient)
{
this->TypeClient = TypeClient;
}
TypeClientAutorization getTypeClient()
{
return TypeClient;
}
void changePackageResponse()
{
isUnity = !isUnity;
}
bool operator == (Client* right)
{
return this->address == right->address;
}
bool getIsLoggedIn()
{
return isLoggedIn;
}
void setIsLoggedIn(bool value)
{
isLoggedIn = value;
}
private:
QString name;
QString address;
QString port;
QString fullName;
QString login;
bool ready;
bool isLoggedIn;
bool isUnity = false;
TypeClientAutorization TypeClient;
};
#endif // CLIENT_H

View File

@@ -0,0 +1,39 @@
#ifndef PACKETTYPE_H
#define PACKETTYPE_H
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,
TYPE_FILESIZE = 20,
TYPE_XMLANSWER_MESSAGE_FOR_GUI = 90,
//xml-ответы на запросы к БД
TYPE_XMLANSWER_QUERY_DB__LIST_INSTRUCTORS = 100,
TYPE_XMLANSWER_QUERY_DB__LIST_GROUPS = 101,
TYPE_XMLANSWER_QUERY_DB__LIST_TRAINEES = 102,
TYPE_XMLANSWER_QUERY_DB__LIST_COMPUTERS = 103,
TYPE_XMLANSWER_QUERY_DB__LIST_CLASSROOMS = 104,
TYPE_XMLANSWER_QUERY_DB__LIST_TASKS = 105,
//ответы по обновлениям
HASH_READY = 150,
CHANGE_DATA_VERSION = 151,
COPY_VERSION = 152,
DELETE_DATA_VERSION = 153,
BUSY = 154,
FREE = 155
};
#endif // PACKETTYPE_H

View File

@@ -0,0 +1,46 @@
#ifndef STREAMINGVERSIONDATA_H
#define STREAMINGVERSIONDATA_H
#include <QTime>
#include <QString>
class StreamingVersionData
{
public:
StreamingVersionData(QString absoltePath,QString viewName,QDateTime data,qint32 size)
{
this->absolutePath = absoltePath;
this->viewName = viewName;
this->createData = data;
this->size = size;
}
~StreamingVersionData();
QString getAbsolutPath() const
{
return absolutePath;
}
QString getViewName() const
{
return viewName;
}
QDateTime getCreateData() const
{
return createData;
}
qint32 getSize() const
{
return size;
}
private:
QString absolutePath;
QString viewName;
QDateTime createData;
qint32 size;
};
#endif // STREAMINGVERSIONDATA_H

View File

@@ -0,0 +1,126 @@
#ifndef TYPESDATASERVERCLIENT_H
#define TYPESDATASERVERCLIENT_H
#include <QList>
#include <QString>
#define NOTIFY_SERVER_END "END"
#define NOTIFY_SERVER_BLOCKED "BLOCKED"
#define SERVER_HELLO "NewConnection. I am server LMS!"
enum EStateServer{started, stoped};
enum EStateBlockAutorization{blocked, unblocked};
struct FileData
{
QString path;
QString hash;
bool operator==(const FileData& other)const
{
if (this->path== other.path && this->hash == other.hash) return true;
return false;
}
bool operator<(const FileData& data2) const
{
return this->hash == "FOLDER" && data2.hash !="FOLDER";
}
};
struct SAttribute
{
QString name;
QString value;
};
struct SXmlAnswerTag
{
QString elementName;
QList<SAttribute> attr;
};
enum TypeClientAutorization{
TYPE_SIMPLE = 0,
TYPE_GUI = 10
};
class ClientAutorization
{
public:
QString Login;
QString Password;
int NumberOfScreen;
TypeClientAutorization TypeClient;
};
class ClientDeAutorization
{
public:
QString Login;
};
enum TypeQueryToDB{
TYPE_QUERY_GET_ALL_LISTS,
TYPE_QUERY_NEW_INSTRUCTOR,
TYPE_QUERY_DEL_INSTRUCTOR,
TYPE_QUERY_EDIT_INSTRUCTOR,
TYPE_QUERY_NEW_GROUP,
TYPE_QUERY_DEL_GROUP,
TYPE_QUERY_EDIT_GROUP,
TYPE_QUERY_NEW_TRAINEE,
TYPE_QUERY_DEL_TRAINEE,
TYPE_QUERY_EDIT_TRAINEE
};
class ClientQueryToDB{
public:
TypeQueryToDB typeQuery;
};
class ServerMessage
{
public:
QString Text;
};
class ClientMessage
{
public:
QString Text;
};
class ToClientMessage
{
public:
int id;
QString Login;
QString Text;
};
class ServerTask
{
public:
QString Text;
};
class ServerNotify
{
public:
QString Code;
};
class ClientNotify
{
public:
QString Code;
};
class DataInfo{
public:
QString path;
quint64 size;
};
#endif // TYPESDATASERVERCLIENT_H