mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
Починил клинч с мьютексом Провайдера ДБ
This commit is contained in:
@@ -62,7 +62,7 @@ Trainee DataBaseLMS::selectTrainee(int id_trainee)
|
||||
"LEFT OUTER JOIN public.computers ON computers.computer_id = users.fk_computer_id "
|
||||
"LEFT OUTER JOIN public.classrooms ON classrooms.classroom_id = computers.fk_classroom_id "
|
||||
"WHERE users.user_id = %1 AND users.type = '%2' "
|
||||
"ORDER BY groups.name, trainees.name ASC").arg(
|
||||
"ORDER BY groups.name, users.name ASC").arg(
|
||||
QString::number(id_trainee),
|
||||
TypeUserDBTrainee);
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ void InterfaceDataBaseLMS::slot_LanguageChanged(QString language)
|
||||
|
||||
bool InterfaceDataBaseLMS::connectionToDB()
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
if(!createConnection())
|
||||
{
|
||||
QMessageBox::critical(ownerWidget, dbSettings.dbName, tr("Connection error: ") + db->lastError().text());
|
||||
@@ -36,7 +36,7 @@ bool InterfaceDataBaseLMS::connectionToDB()
|
||||
|
||||
bool InterfaceDataBaseLMS::disConnectionFromDB()
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
deleteConnection();
|
||||
//QMessageBox::information(ownerWidget, dbName, tr("Disconnection is successful!"));
|
||||
return true;
|
||||
@@ -44,7 +44,7 @@ bool InterfaceDataBaseLMS::disConnectionFromDB()
|
||||
|
||||
bool InterfaceDataBaseLMS::DBisConnected()
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return isConnected();
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ bool InterfaceDataBaseLMS::DBisConnected()
|
||||
|
||||
bool InterfaceDataBaseLMS::authorizationInstructor(QString login, QString password)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
|
||||
if(int id = selectUserID(DataBaseLMS::TypeUserDBInstructor, login, password))
|
||||
{
|
||||
@@ -68,7 +68,7 @@ bool InterfaceDataBaseLMS::authorizationInstructor(QString login, QString passwo
|
||||
|
||||
bool InterfaceDataBaseLMS::deAuthorizationInstructor(QString login)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
|
||||
if(int id = selectUserID(DataBaseLMS::TypeUserDBInstructor, login))
|
||||
{
|
||||
@@ -80,49 +80,49 @@ bool InterfaceDataBaseLMS::deAuthorizationInstructor(QString login)
|
||||
|
||||
bool InterfaceDataBaseLMS::deAuthorizationAllInstructors()
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return updateAllUsersLoggedIn(DataBaseLMS::TypeUserDBInstructor, false);
|
||||
}
|
||||
|
||||
QString InterfaceDataBaseLMS::getNameInstructorByLogin(QString login)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return selectUserNameByLogin(DataBaseLMS::TypeUserDBInstructor, login);
|
||||
}
|
||||
|
||||
int InterfaceDataBaseLMS::getIdInstructorByLogin(QString login)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return selectUserID(DataBaseLMS::TypeUserDBInstructor, login);
|
||||
}
|
||||
|
||||
QList<Instructor> InterfaceDataBaseLMS::getListInstructors()
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return selectAllInstructors();
|
||||
}
|
||||
|
||||
Instructor InterfaceDataBaseLMS::getInstructor(int id)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return selectInstructor(id);
|
||||
}
|
||||
|
||||
int InterfaceDataBaseLMS::newInstructor()
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return insertInstructor();
|
||||
}
|
||||
|
||||
int InterfaceDataBaseLMS::delInstructor(int id)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return deleteInstructor(id);
|
||||
}
|
||||
|
||||
int InterfaceDataBaseLMS::editInstructor(Instructor instructor)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
|
||||
//Проверка корректности логина, имени, пароля
|
||||
|
||||
@@ -159,19 +159,19 @@ int InterfaceDataBaseLMS::editInstructor(Instructor instructor)
|
||||
|
||||
bool InterfaceDataBaseLMS::isAdminInstructor(int id)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return selectInstructorIsAdmin(id);
|
||||
}
|
||||
|
||||
bool InterfaceDataBaseLMS::isArchivedInstructor(int id)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return selectUserArchived(DataBaseLMS::TypeUserDBInstructor, id);
|
||||
}
|
||||
|
||||
bool InterfaceDataBaseLMS::isLoggedInInstructor(int id)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return selectUserLoggedIn(DataBaseLMS::TypeUserDBInstructor, id);
|
||||
}
|
||||
|
||||
@@ -180,7 +180,7 @@ bool InterfaceDataBaseLMS::isLoggedInInstructor(int id)
|
||||
|
||||
bool InterfaceDataBaseLMS::authorizationTrainee(QString login, QString password, QString classroom_name, QString computer_name)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
|
||||
if(int id = selectUserID(DataBaseLMS::TypeUserDBTrainee, login, password))
|
||||
{
|
||||
@@ -195,7 +195,7 @@ bool InterfaceDataBaseLMS::authorizationTrainee(QString login, QString password,
|
||||
|
||||
bool InterfaceDataBaseLMS::deAuthorizationTrainee(QString login)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
|
||||
if(int id = selectUserID(DataBaseLMS::TypeUserDBTrainee, login))
|
||||
{
|
||||
@@ -207,13 +207,13 @@ bool InterfaceDataBaseLMS::deAuthorizationTrainee(QString login)
|
||||
|
||||
bool InterfaceDataBaseLMS::deAuthorizationAllTrainees()
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return updateAllUsersLoggedIn(DataBaseLMS::TypeUserDBTrainee, false);
|
||||
}
|
||||
|
||||
int InterfaceDataBaseLMS::entryTraineeOnSimulator(int id_trainee)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
|
||||
TimingOfTrainee timing(id_trainee);
|
||||
|
||||
@@ -235,7 +235,7 @@ int InterfaceDataBaseLMS::entryTraineeOnSimulator(int id_trainee)
|
||||
|
||||
int InterfaceDataBaseLMS::exitTraineeFromSimulator(int id_trainee)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
|
||||
TimingOfTrainee timing(id_trainee);
|
||||
|
||||
@@ -257,73 +257,73 @@ int InterfaceDataBaseLMS::exitTraineeFromSimulator(int id_trainee)
|
||||
|
||||
QString InterfaceDataBaseLMS::getNameTraineeOnComputer(QString computer_name)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return selectTraineeNameOnComputer(computer_name);
|
||||
}
|
||||
|
||||
Trainee InterfaceDataBaseLMS::getTraineeOnComputer(QString computer_name)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return selectTraineeOnComputer(computer_name);
|
||||
}
|
||||
|
||||
QString InterfaceDataBaseLMS::getNameTraineeByLogin(QString login)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return selectUserNameByLogin(DataBaseLMS::TypeUserDBTrainee, login);
|
||||
}
|
||||
|
||||
int InterfaceDataBaseLMS::getIdTraineeByLogin(QString login)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return selectUserID(DataBaseLMS::TypeUserDBTrainee, login);
|
||||
}
|
||||
|
||||
QList<Trainee> InterfaceDataBaseLMS::getListTraineesInGroup(int id)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return selectAllTraineesInGroup(id);
|
||||
}
|
||||
|
||||
QList<Group> InterfaceDataBaseLMS::getListGroups()
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return selectAllGroups();
|
||||
}
|
||||
|
||||
QList<Trainee> InterfaceDataBaseLMS::getListTrainees()
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return selectAllTrainees();
|
||||
}
|
||||
|
||||
Trainee InterfaceDataBaseLMS::getTrainee(int id)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return selectTrainee(id);
|
||||
}
|
||||
|
||||
Group InterfaceDataBaseLMS::getGroup(int id)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return selectGroup(id);
|
||||
}
|
||||
|
||||
int InterfaceDataBaseLMS::newGroup()
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return insertGroup();
|
||||
}
|
||||
|
||||
int InterfaceDataBaseLMS::delGroup(int id)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return deleteGroup(id);
|
||||
}
|
||||
|
||||
int InterfaceDataBaseLMS::editGroup(Group group)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
|
||||
//Проверка корректности имени
|
||||
QList<Group> listGroups = selectAllGroups();
|
||||
@@ -349,97 +349,97 @@ int InterfaceDataBaseLMS::editGroup(Group group)
|
||||
|
||||
int InterfaceDataBaseLMS::newTaskAMM(TaskAmmFim task, int id_trainee)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return insertTaskAMM(task, id_trainee);
|
||||
}
|
||||
|
||||
int InterfaceDataBaseLMS::delTaskAMM(int id)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return deleteTaskAMM(id);
|
||||
}
|
||||
|
||||
int InterfaceDataBaseLMS::editTaskAMM(TaskAmmFim task)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return updateTaskAMM(task);
|
||||
}
|
||||
|
||||
QList<TaskAmmFim> InterfaceDataBaseLMS::getListTasksAMMofTrainee(int id_trainee)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return selectTasksAMMofTrainee(id_trainee);
|
||||
}
|
||||
|
||||
QList<TaskAmmFim> InterfaceDataBaseLMS::getListTasksFIMofTrainee(int id_trainee)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return selectTasksFIMofTrainee(id_trainee);
|
||||
}
|
||||
|
||||
TaskAmmFim InterfaceDataBaseLMS::getTaskAMMbyID(int id_task)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return selectTaskAMMbyID(id_task);
|
||||
}
|
||||
|
||||
TaskAmmFim InterfaceDataBaseLMS::getTaskFIMbyID(int id_task)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return selectTaskFIMbyID(id_task);
|
||||
}
|
||||
|
||||
int InterfaceDataBaseLMS::newTaskFIM(TaskAmmFim task, int id_trainee)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return insertTaskFIM(task, id_trainee);
|
||||
}
|
||||
|
||||
int InterfaceDataBaseLMS::delTaskFIM(int id)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return deleteTaskFIM(id);
|
||||
}
|
||||
|
||||
int InterfaceDataBaseLMS::editTaskFIM(TaskAmmFim task)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return updateTaskFIM(task);
|
||||
}
|
||||
|
||||
int InterfaceDataBaseLMS::replaceReportFIM(TaskAmmFim task)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return updateReportFIMforTask(task);
|
||||
}
|
||||
|
||||
int InterfaceDataBaseLMS::changeStatusTaskFIM(int id_task, QString status)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return updateStatusTaskFIM(id_task, status);
|
||||
}
|
||||
|
||||
int InterfaceDataBaseLMS::changeStatusTaskAMM(int id_task, QString status)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return updateStatusTaskAMM(id_task, status);
|
||||
}
|
||||
|
||||
int InterfaceDataBaseLMS::newTrainee(int id_group)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return insertTrainee(id_group);
|
||||
}
|
||||
|
||||
int InterfaceDataBaseLMS::delTrainee(int id)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return deleteTrainee(id);
|
||||
}
|
||||
|
||||
int InterfaceDataBaseLMS::editTrainee(Trainee trainee)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
|
||||
//Проверка корректности логина, имени, пароля
|
||||
|
||||
@@ -476,12 +476,12 @@ int InterfaceDataBaseLMS::editTrainee(Trainee trainee)
|
||||
|
||||
bool InterfaceDataBaseLMS::isArchivedTrainee(int id)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return selectUserArchived(DataBaseLMS::TypeUserDBTrainee, id);
|
||||
}
|
||||
|
||||
bool InterfaceDataBaseLMS::isLoggedInTrainee(int id)
|
||||
{
|
||||
QMutexLocker mtxLocker(&mtxAccess);
|
||||
//QMutexLocker mtxLocker(&mtxAccess);
|
||||
return selectUserLoggedIn(DataBaseLMS::TypeUserDBTrainee, id);
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ public:
|
||||
private:
|
||||
QTranslator qtLanguageTranslator;
|
||||
QWidget* ownerWidget;
|
||||
QMutex mtxAccess;
|
||||
//QMutex mtxAccess;
|
||||
};
|
||||
|
||||
#endif // INTERFACEDATABASELMS_H
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "processingsystem.h"
|
||||
#include "providerdblms.h"
|
||||
|
||||
#include <clienthandler.h>
|
||||
|
||||
@@ -7,7 +8,10 @@ ProcessingSystem::ProcessingSystem(ProviderDBLMS* providerDBLMS, UpdateControlle
|
||||
updateController(nullptr),
|
||||
providerDBLMS(nullptr)
|
||||
{
|
||||
this->providerDBLMS = providerDBLMS;
|
||||
//this->providerDBLMS = providerDBLMS;
|
||||
|
||||
|
||||
|
||||
this->updateController = updateController;
|
||||
}
|
||||
|
||||
@@ -16,6 +20,10 @@ void ProcessingSystem::initialize(MultiThreadServer *server, DataParser *dataPar
|
||||
UpdateController *updateController,
|
||||
ChatSystem *chatSystem)
|
||||
{
|
||||
this->providerDBLMS = new ProviderDBLMS(/*parent*/nullptr);
|
||||
this->providerDBLMS->ConnectionToDB();
|
||||
this->providerDBLMS->deAuthorizationAll();
|
||||
|
||||
this->commonClientServer = commonClientHandler;
|
||||
this->dataParser = dataParser;
|
||||
this->server = server;
|
||||
|
||||
@@ -17,7 +17,7 @@ ProviderDBLMS::~ProviderDBLMS()
|
||||
|
||||
void ProviderDBLMS::ConnectionToDB()
|
||||
{
|
||||
mtxAccess.lock();
|
||||
mtxAccess.lock();
|
||||
if(! dbLMS->DBisConnected())
|
||||
{
|
||||
if(dbLMS->connectionToDB())
|
||||
@@ -31,7 +31,7 @@ void ProviderDBLMS::ConnectionToDB()
|
||||
|
||||
void ProviderDBLMS::DisConnectionFromDB()
|
||||
{
|
||||
mtxAccess.lock();
|
||||
mtxAccess.lock();
|
||||
if(dbLMS->DBisConnected())
|
||||
{
|
||||
Q_EMIT signal_BlockAutorization(true);
|
||||
|
||||
@@ -16,8 +16,8 @@ ServerLMSWidget::ServerLMSWidget(QWidget *parent) :
|
||||
loggerThread(nullptr),
|
||||
dataParser(nullptr),
|
||||
processingSystem(nullptr),
|
||||
updateController(nullptr),
|
||||
providerDBLMS(nullptr)
|
||||
updateController(nullptr)//,
|
||||
//providerDBLMS(nullptr)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
mutex = new QMutex;
|
||||
@@ -37,13 +37,13 @@ ServerLMSWidget::ServerLMSWidget(QWidget *parent) :
|
||||
updateThread = new QThread;
|
||||
loggerThread = new QThread;
|
||||
|
||||
providerDBLMS = new ProviderDBLMS(this);
|
||||
providerDBLMS->ConnectionToDB();
|
||||
providerDBLMS->deAuthorizationAll();
|
||||
//providerDBLMS = new ProviderDBLMS(this);
|
||||
//providerDBLMS->ConnectionToDB();
|
||||
//providerDBLMS->deAuthorizationAll();
|
||||
|
||||
chatSystem = new ChatSystem();
|
||||
|
||||
connect(providerDBLMS, &ProviderDBLMS::signal_BlockAutorization, this, &ServerLMSWidget::slot_BlockAutorization);
|
||||
//connect(providerDBLMS, &ProviderDBLMS::signal_BlockAutorization, this, &ServerLMSWidget::slot_BlockAutorization);
|
||||
|
||||
assetsManager = new AssetsManager;
|
||||
assetsManager->moveToThread(updateThread);
|
||||
@@ -51,8 +51,9 @@ ServerLMSWidget::ServerLMSWidget(QWidget *parent) :
|
||||
updateController = new UpdateController;
|
||||
updateController->moveToThread(updateThread);
|
||||
|
||||
processingSystem = new ProcessingSystem(providerDBLMS, updateController);
|
||||
processingSystem->moveToThread(updateThread);
|
||||
processingSystem = new ProcessingSystem(/*providerDBLMS*/nullptr, updateController);
|
||||
//processingSystem->moveToThread(updateThread);
|
||||
//providerDBLMS->moveToThread(updateThread);
|
||||
|
||||
dataParser = new DataParser(assetsManager,processingSystem);
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ private:
|
||||
CommonClientHandler *commonClientHandler;
|
||||
ChatSystem *chatSystem;
|
||||
|
||||
ProviderDBLMS* providerDBLMS;
|
||||
//ProviderDBLMS* providerDBLMS;
|
||||
|
||||
bool first = true; // для тестов Unity
|
||||
|
||||
|
||||
Reference in New Issue
Block a user