Перед внедрением списочной модели БД в GUI

This commit is contained in:
krivoshein
2024-12-10 10:27:00 +03:00
parent e6da40c4e7
commit 4556c07fc9
96 changed files with 1044 additions and 444 deletions

Binary file not shown.

View File

@@ -1,28 +1,45 @@
# ninja log v5
712 3908 7551749542533080 CMakeFiles/ServerLMS.dir/Systems/processingsystem.cpp.obj 64946e3309bfc754
1226 1269 7548532014896390 ServerLMS_autogen/EWIEGA46WW/qrc_resources.cpp 9bce64f5ef0262e2
33 692 0 D:/LMS/ServerLMS/Debug64/ServerLMS_autogen/mocs_compilation.cpp a1ba014d73005738
33 692 0 ServerLMS_autogen/include/ui_serverlmswidget.h a1ba014d73005738
697 3952 7551749542966157 CMakeFiles/ServerLMS.dir/clienthandler.cpp.obj 6c16bf194fe85608
33 692 0 ServerLMS_autogen/mocs_compilation.cpp a1ba014d73005738
677 3853 7554562145145887 CMakeFiles/ServerLMS.dir/Systems/sendsystem.cpp.obj d73c57350f364b58
57 131 7554545608656604 D:/LMS/ServerLMS/Debug64/ServerLMS_autogen/EWIEGA46WW/qrc_resources.cpp 9bce64f5ef0262e2
1287 8367 7551893701770796 CMakeFiles/ServerLMS.dir/Systems/logger.cpp.obj 68e3223fc0caab27
661 3491 7554562141472208 CMakeFiles/ServerLMS.dir/multithreadserver.cpp.obj 8ac2c4a8e2ef203c
20 57 0 D:/LMS/ServerLMS/Debug64/ServerLMS_autogen/include/ui_serverlmswidget.h a1ba014d73005738
670 3628 7554562142871886 CMakeFiles/ServerLMS.dir/Systems/dataparser.cpp.obj b273ef6b79a34bf
667 3606 7554562142650068 CMakeFiles/ServerLMS.dir/Systems/updatecontroller.cpp.obj c4c12bda48d8fa92
15 42 0 CMakeFiles/clean.additional 7155004b3956b606
91 1201 7554437549810915 CMakeFiles/ServerLMS.dir/Systems/tools.cpp.obj 81bfa701d65b5429
3853 4366 7554562150244849 libServerLMS.dll fec6fbb0697e8d71
663 3554 7554562142134874 CMakeFiles/ServerLMS.dir/Systems/recognizesystem.cpp.obj f698d155fbad3bd2
560 1985 7551946363807047 CMakeFiles/ServerLMS.dir/providerdblms.cpp.obj f56962914220ed2d
654 3656 7554562143124061 CMakeFiles/ServerLMS.dir/ServerLMS_autogen/mocs_compilation.cpp.obj 40e4c8c7d98890e8
42 52 0 clean 9c4b4372737ab8da
673 3326 7554562139850549 CMakeFiles/ServerLMS.dir/Systems/processingsystem.cpp.obj 64946e3309bfc754
57 131 7554545608656604 ServerLMS_autogen/EWIEGA46WW/qrc_resources.cpp 9bce64f5ef0262e2
20 57 0 D:/LMS/ServerLMS/Debug64/ServerLMS_autogen/mocs_compilation.cpp a1ba014d73005738
20 57 0 ServerLMS_autogen/include/ui_serverlmswidget.h a1ba014d73005738
131 418 7554545611552788 CMakeFiles/ServerLMS.dir/ServerLMS_autogen/EWIEGA46WW/qrc_resources.cpp.obj f93621c79a78fad0
659 3399 7554562140587891 CMakeFiles/ServerLMS.dir/clienthandler.cpp.obj 6c16bf194fe85608
20 57 0 ServerLMS_autogen/mocs_compilation.cpp a1ba014d73005738
1168 3150 7548373207023899 CMakeFiles/ServerLMS.dir/messangerwidget.cpp.obj 8dd57f666ed5ecf4
1305 1392 7548532016129887 CMakeFiles/ServerLMS.dir/ServerLMS_autogen/EWIEGA46WW/qrc_resources.cpp.obj f93621c79a78fad0
695 3966 7551749543026196 CMakeFiles/ServerLMS.dir/serverlmswidget.cpp.obj 12010b53b3caa3fc
3 3270 7551766517531456 build.ninja 80e6aedf30bdcc22
33 692 0 D:/LMS/ServerLMS/Debug64/CMakeFiles/ServerLMS_autogen a1ba014d73005738
33 692 0 CMakeFiles/ServerLMS_autogen a1ba014d73005738
3966 4694 7551749550370154 libServerLMS.dll.a fec6fbb0697e8d71
37 46 0 clean 9c4b4372737ab8da
692 3929 7551749542724936 CMakeFiles/ServerLMS.dir/ServerLMS_autogen/mocs_compilation.cpp.obj 40e4c8c7d98890e8
690 1824 7550974838970562 CMakeFiles/ServerLMS.dir/providerdblms.cpp.obj f56962914220ed2d
702 3934 7551749542785445 CMakeFiles/ServerLMS.dir/Systems/recognizesystem.cpp.obj f698d155fbad3bd2
3966 4694 7551749550370154 libServerLMS.dll fec6fbb0697e8d71
107 1361 7550931469244759 CMakeFiles/ServerLMS.dir/Systems/tools.cpp.obj 81bfa701d65b5429
15 37 0 CMakeFiles/clean.additional 7155004b3956b606
705 3942 7551749542875211 CMakeFiles/ServerLMS.dir/Systems/updatecontroller.cpp.obj c4c12bda48d8fa92
709 3941 7551749542845286 CMakeFiles/ServerLMS.dir/Systems/dataparser.cpp.obj b273ef6b79a34bf
33 692 0 D:/LMS/ServerLMS/Debug64/ServerLMS_autogen/include/ui_serverlmswidget.h a1ba014d73005738
700 3928 7551749542724936 CMakeFiles/ServerLMS.dir/multithreadserver.cpp.obj 8ac2c4a8e2ef203c
1284 2596 7548532028126673 CMakeFiles/ServerLMS.dir/Systems/logger.cpp.obj 68e3223fc0caab27
1226 1269 7548532014896390 D:/LMS/ServerLMS/Debug64/ServerLMS_autogen/EWIEGA46WW/qrc_resources.cpp 9bce64f5ef0262e2
715 3935 7551749542805410 CMakeFiles/ServerLMS.dir/Systems/sendsystem.cpp.obj d73c57350f364b58
656 3806 7554562144601131 CMakeFiles/ServerLMS.dir/serverlmswidget.cpp.obj 12010b53b3caa3fc
10 630 7555161399398118 build.ninja 80e6aedf30bdcc22
20 57 0 D:/LMS/ServerLMS/Debug64/CMakeFiles/ServerLMS_autogen a1ba014d73005738
20 57 0 CMakeFiles/ServerLMS_autogen a1ba014d73005738
3853 4366 7554562150244849 libServerLMS.dll.a fec6fbb0697e8d71
48 2877 0 CMakeFiles/ServerLMS_autogen a1ba014d73005738
48 2877 0 ServerLMS_autogen/mocs_compilation.cpp a1ba014d73005738
48 2877 0 ServerLMS_autogen/include/ui_serverlmswidget.h a1ba014d73005738
48 2877 0 D:/LMS/ServerLMS/Debug64/CMakeFiles/ServerLMS_autogen a1ba014d73005738
48 2877 0 D:/LMS/ServerLMS/Debug64/ServerLMS_autogen/mocs_compilation.cpp a1ba014d73005738
48 2877 0 D:/LMS/ServerLMS/Debug64/ServerLMS_autogen/include/ui_serverlmswidget.h a1ba014d73005738
2894 6513 7555186922184255 CMakeFiles/ServerLMS.dir/Systems/processingsystem.cpp.obj 64946e3309bfc754
2896 6514 7555186922184255 CMakeFiles/ServerLMS.dir/Systems/sendsystem.cpp.obj d73c57350f364b58
2889 6527 7555186922343826 CMakeFiles/ServerLMS.dir/Systems/updatecontroller.cpp.obj c4c12bda48d8fa92
2877 6542 7555186922473480 CMakeFiles/ServerLMS.dir/ServerLMS_autogen/mocs_compilation.cpp.obj 40e4c8c7d98890e8
2882 6544 7555186922493428 CMakeFiles/ServerLMS.dir/clienthandler.cpp.obj 6c16bf194fe85608
2884 6548 7555186922533325 CMakeFiles/ServerLMS.dir/multithreadserver.cpp.obj 8ac2c4a8e2ef203c
2887 6561 7555186922672947 CMakeFiles/ServerLMS.dir/Systems/recognizesystem.cpp.obj f698d155fbad3bd2
2879 6570 7555186922762708 CMakeFiles/ServerLMS.dir/serverlmswidget.cpp.obj 12010b53b3caa3fc
2891 6581 7555186922872413 CMakeFiles/ServerLMS.dir/Systems/dataparser.cpp.obj b273ef6b79a34bf
6581 7342 7555186930472205 libServerLMS.dll fec6fbb0697e8d71
6581 7342 7555186930472205 libServerLMS.dll.a fec6fbb0697e8d71

View File

@@ -8,6 +8,8 @@
"INCLUDE_DIR" : "D:/LMS/ServerLMS/Debug64/ServerLMS_autogen/include",
"INPUTS" :
[
"D:/LMS/ServerLMS/ServerLMS/blankXML/instructors.xml",
"D:/LMS/ServerLMS/ServerLMS/blankXML/groupsTrainees.xml",
"D:/LMS/ServerLMS/ServerLMS/icons/instructorAdmin.png",
"D:/LMS/ServerLMS/ServerLMS/icons/trainee.png",
"D:/LMS/ServerLMS/ServerLMS/icons/switchOff.png",

View File

@@ -1 +1 @@
rcc:6ef57208d7e0f32ea4360e789d49343e4a7855cef3d335537ad5aa29bbd1a12b
rcc:bf046fc9861cbeaf107298fd7fe4da86934145f3f69eccf800e3566f05705fa0

View File

@@ -1,37 +1,37 @@
# Generated by CMake. Changes will be overwritten.
D:/LMS/ServerLMS/ServerLMS/providerdblms.h
D:/LMS/ServerLMS/ServerLMS/Systems/processingsystem.cpp
D:/LMS/ServerLMS/ServerLMS/clienthandler.h
mmc:Q_OBJECT
D:/LMS/ServerLMS/ServerLMS/clienthandler.cpp
D:/LMS/ServerLMS/ServerLMS/Systems/dataparser.h
mmc:Q_OBJECT
D:/LMS/ServerLMS/ServerLMS/serverlmswidget.cpp
uic:ui_serverlmswidget.h
D:/LMS/ServerLMS/ServerLMS/Systems/logger.h
mmc:Q_OBJECT
D:/LMS/ServerLMS/ServerLMS/Systems/tools.cpp
D:/LMS/ServerLMS/ServerLMS/Systems/updatecontroller.h
D:/LMS/ServerLMS/ServerLMS/Systems/tools.h
D:/LMS/ServerLMS/ServerLMS/typesDataServerClient.h
D:/LMS/ServerLMS/ServerLMS/Systems/processingsystem.h
mmc:Q_OBJECT
D:/LMS/ServerLMS/ServerLMS/Systems/recognizesystem.h
mmc:Q_OBJECT
D:/LMS/ServerLMS/ServerLMS/Systems/processingsystem.h
D:/LMS/ServerLMS/ServerLMS/Systems/updatecontroller.h
mmc:Q_OBJECT
D:/LMS/ServerLMS/ServerLMS/typesDataServerClient.h
D:/LMS/ServerLMS/ServerLMS/Systems/tools.h
D:/LMS/ServerLMS/ServerLMS/clienthandler.h
D:/LMS/ServerLMS/ServerLMS/Systems/tools.cpp
D:/LMS/ServerLMS/ServerLMS/Systems/logger.h
mmc:Q_OBJECT
D:/LMS/ServerLMS/ServerLMS/Systems/dataparser.cpp
D:/LMS/ServerLMS/ServerLMS/serverlmswidget.h
D:/LMS/ServerLMS/ServerLMS/serverlmswidget.cpp
uic:ui_serverlmswidget.h
D:/LMS/ServerLMS/ServerLMS/Systems/dataparser.h
mmc:Q_OBJECT
D:/LMS/ServerLMS/ServerLMS/ServerLMS_global.h
D:/LMS/ServerLMS/ServerLMS/Systems/sendsystem.h
mmc:Q_OBJECT
D:/LMS/ServerLMS/ServerLMS/multithreadserver.h
D:/LMS/ServerLMS/ServerLMS/clienthandler.cpp
D:/LMS/ServerLMS/ServerLMS/providerdblms.h
mmc:Q_OBJECT
D:/LMS/ServerLMS/ServerLMS/Client.h
D:/LMS/ServerLMS/ServerLMS/multithreadserver.h
mmc:Q_OBJECT
D:/LMS/ServerLMS/ServerLMS/Systems/updatecontroller.cpp
D:/LMS/ServerLMS/ServerLMS/multithreadserver.cpp
D:/LMS/ServerLMS/ServerLMS/Systems/sendsystem.cpp
D:/LMS/ServerLMS/ServerLMS/Systems/logger.cpp
D:/LMS/ServerLMS/ServerLMS/providerdblms.cpp
D:/LMS/ServerLMS/ServerLMS/Systems/recognizesystem.cpp
D:/LMS/ServerLMS/ServerLMS/Systems/logger.cpp
D:/LMS/ServerLMS/ServerLMS/Systems/sendsystem.cpp
D:/LMS/ServerLMS/ServerLMS/multithreadserver.cpp
D:/LMS/ServerLMS/ServerLMS/Systems/updatecontroller.cpp
D:/LMS/ServerLMS/ServerLMS/Systems/processingsystem.cpp
D:/LMS/ServerLMS/ServerLMS/Systems/sendsystem.h
mmc:Q_OBJECT
D:/LMS/ServerLMS/ServerLMS/ServerLMS_global.h
D:/LMS/ServerLMS/ServerLMS/serverlmswidget.h
mmc:Q_OBJECT
D:/LMS/ServerLMS/ServerLMS/Systems/dataparser.cpp

View File

@@ -22,8 +22,8 @@ QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_ClientHandler_t {
QByteArrayData data[35];
char stringdata0[418];
QByteArrayData data[37];
char stringdata0[440];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@@ -36,50 +36,53 @@ QT_MOC_LITERAL(0, 0, 13), // "ClientHandler"
QT_MOC_LITERAL(1, 14, 16), // "sigSendXmlAnswer"
QT_MOC_LITERAL(2, 31, 0), // ""
QT_MOC_LITERAL(3, 32, 5), // "array"
QT_MOC_LITERAL(4, 38, 13), // "sigInitSender"
QT_MOC_LITERAL(5, 52, 11), // "DataParser*"
QT_MOC_LITERAL(6, 64, 9), // "dataParse"
QT_MOC_LITERAL(7, 74, 7), // "Logger*"
QT_MOC_LITERAL(8, 82, 6), // "logger"
QT_MOC_LITERAL(9, 89, 14), // "sigFolderBlock"
QT_MOC_LITERAL(10, 104, 4), // "path"
QT_MOC_LITERAL(11, 109, 12), // "sigFileBlock"
QT_MOC_LITERAL(12, 122, 19), // "sigGetIsSendStopped"
QT_MOC_LITERAL(13, 142, 18), // "sigSendDeleteBlock"
QT_MOC_LITERAL(14, 161, 13), // "sigSendFinish"
QT_MOC_LITERAL(15, 175, 19), // "sigSendMessageBlock"
QT_MOC_LITERAL(16, 195, 4), // "text"
QT_MOC_LITERAL(17, 200, 13), // "sigNeedUpdate"
QT_MOC_LITERAL(18, 214, 4), // "flag"
QT_MOC_LITERAL(19, 219, 4), // "size"
QT_MOC_LITERAL(20, 224, 9), // "fileCount"
QT_MOC_LITERAL(21, 234, 21), // "sigClientDisconnected"
QT_MOC_LITERAL(22, 256, 7), // "address"
QT_MOC_LITERAL(23, 264, 4), // "port"
QT_MOC_LITERAL(24, 269, 11), // "sigSendHash"
QT_MOC_LITERAL(25, 281, 12), // "sigRecognize"
QT_MOC_LITERAL(26, 294, 14), // "ClientHandler*"
QT_MOC_LITERAL(27, 309, 7), // "handler"
QT_MOC_LITERAL(28, 317, 13), // "sigSendNotify"
QT_MOC_LITERAL(29, 331, 6), // "notify"
QT_MOC_LITERAL(30, 338, 26), // "sigSendFileBlockWithRename"
QT_MOC_LITERAL(31, 365, 7), // "newName"
QT_MOC_LITERAL(32, 373, 14), // "sigSocketWrite"
QT_MOC_LITERAL(33, 388, 14), // "sigSocketClose"
QT_MOC_LITERAL(34, 403, 14) // "sigSocketFlush"
QT_MOC_LITERAL(4, 38, 10), // "PacketType"
QT_MOC_LITERAL(5, 49, 10), // "packetType"
QT_MOC_LITERAL(6, 60, 13), // "sigInitSender"
QT_MOC_LITERAL(7, 74, 11), // "DataParser*"
QT_MOC_LITERAL(8, 86, 9), // "dataParse"
QT_MOC_LITERAL(9, 96, 7), // "Logger*"
QT_MOC_LITERAL(10, 104, 6), // "logger"
QT_MOC_LITERAL(11, 111, 14), // "sigFolderBlock"
QT_MOC_LITERAL(12, 126, 4), // "path"
QT_MOC_LITERAL(13, 131, 12), // "sigFileBlock"
QT_MOC_LITERAL(14, 144, 19), // "sigGetIsSendStopped"
QT_MOC_LITERAL(15, 164, 18), // "sigSendDeleteBlock"
QT_MOC_LITERAL(16, 183, 13), // "sigSendFinish"
QT_MOC_LITERAL(17, 197, 19), // "sigSendMessageBlock"
QT_MOC_LITERAL(18, 217, 4), // "text"
QT_MOC_LITERAL(19, 222, 13), // "sigNeedUpdate"
QT_MOC_LITERAL(20, 236, 4), // "flag"
QT_MOC_LITERAL(21, 241, 4), // "size"
QT_MOC_LITERAL(22, 246, 9), // "fileCount"
QT_MOC_LITERAL(23, 256, 21), // "sigClientDisconnected"
QT_MOC_LITERAL(24, 278, 7), // "address"
QT_MOC_LITERAL(25, 286, 4), // "port"
QT_MOC_LITERAL(26, 291, 11), // "sigSendHash"
QT_MOC_LITERAL(27, 303, 12), // "sigRecognize"
QT_MOC_LITERAL(28, 316, 14), // "ClientHandler*"
QT_MOC_LITERAL(29, 331, 7), // "handler"
QT_MOC_LITERAL(30, 339, 13), // "sigSendNotify"
QT_MOC_LITERAL(31, 353, 6), // "notify"
QT_MOC_LITERAL(32, 360, 26), // "sigSendFileBlockWithRename"
QT_MOC_LITERAL(33, 387, 7), // "newName"
QT_MOC_LITERAL(34, 395, 14), // "sigSocketWrite"
QT_MOC_LITERAL(35, 410, 14), // "sigSocketClose"
QT_MOC_LITERAL(36, 425, 14) // "sigSocketFlush"
},
"ClientHandler\0sigSendXmlAnswer\0\0array\0"
"sigInitSender\0DataParser*\0dataParse\0"
"Logger*\0logger\0sigFolderBlock\0path\0"
"sigFileBlock\0sigGetIsSendStopped\0"
"sigSendDeleteBlock\0sigSendFinish\0"
"sigSendMessageBlock\0text\0sigNeedUpdate\0"
"flag\0size\0fileCount\0sigClientDisconnected\0"
"address\0port\0sigSendHash\0sigRecognize\0"
"ClientHandler*\0handler\0sigSendNotify\0"
"notify\0sigSendFileBlockWithRename\0"
"newName\0sigSocketWrite\0sigSocketClose\0"
"PacketType\0packetType\0sigInitSender\0"
"DataParser*\0dataParse\0Logger*\0logger\0"
"sigFolderBlock\0path\0sigFileBlock\0"
"sigGetIsSendStopped\0sigSendDeleteBlock\0"
"sigSendFinish\0sigSendMessageBlock\0"
"text\0sigNeedUpdate\0flag\0size\0fileCount\0"
"sigClientDisconnected\0address\0port\0"
"sigSendHash\0sigRecognize\0ClientHandler*\0"
"handler\0sigSendNotify\0notify\0"
"sigSendFileBlockWithRename\0newName\0"
"sigSocketWrite\0sigSocketClose\0"
"sigSocketFlush"
};
#undef QT_MOC_LITERAL
@@ -98,39 +101,39 @@ static const uint qt_meta_data_ClientHandler[] = {
17, // signalCount
// signals: name, argc, parameters, tag, flags
1, 1, 99, 2, 0x06 /* Public */,
4, 2, 102, 2, 0x06 /* Public */,
9, 1, 107, 2, 0x06 /* Public */,
11, 1, 110, 2, 0x06 /* Public */,
12, 0, 113, 2, 0x06 /* Public */,
13, 1, 114, 2, 0x06 /* Public */,
14, 0, 117, 2, 0x06 /* Public */,
15, 1, 118, 2, 0x06 /* Public */,
17, 3, 121, 2, 0x06 /* Public */,
21, 2, 128, 2, 0x06 /* Public */,
24, 0, 133, 2, 0x06 /* Public */,
25, 1, 134, 2, 0x06 /* Public */,
28, 1, 137, 2, 0x06 /* Public */,
30, 2, 140, 2, 0x06 /* Public */,
32, 1, 145, 2, 0x06 /* Public */,
33, 0, 148, 2, 0x06 /* Public */,
34, 0, 149, 2, 0x06 /* Public */,
1, 2, 99, 2, 0x06 /* Public */,
6, 2, 104, 2, 0x06 /* Public */,
11, 1, 109, 2, 0x06 /* Public */,
13, 1, 112, 2, 0x06 /* Public */,
14, 0, 115, 2, 0x06 /* Public */,
15, 1, 116, 2, 0x06 /* Public */,
16, 0, 119, 2, 0x06 /* Public */,
17, 1, 120, 2, 0x06 /* Public */,
19, 3, 123, 2, 0x06 /* Public */,
23, 2, 130, 2, 0x06 /* Public */,
26, 0, 135, 2, 0x06 /* Public */,
27, 1, 136, 2, 0x06 /* Public */,
30, 1, 139, 2, 0x06 /* Public */,
32, 2, 142, 2, 0x06 /* Public */,
34, 1, 147, 2, 0x06 /* Public */,
35, 0, 150, 2, 0x06 /* Public */,
36, 0, 151, 2, 0x06 /* Public */,
// signals: parameters
QMetaType::Void, QMetaType::QByteArray, 3,
QMetaType::Void, 0x80000000 | 5, 0x80000000 | 7, 6, 8,
QMetaType::Void, QMetaType::QString, 10,
QMetaType::Void, QMetaType::QString, 10,
QMetaType::Void, QMetaType::QByteArray, 0x80000000 | 4, 3, 5,
QMetaType::Void, 0x80000000 | 7, 0x80000000 | 9, 8, 10,
QMetaType::Void, QMetaType::QString, 12,
QMetaType::Void, QMetaType::QString, 12,
QMetaType::Bool,
QMetaType::Void, QMetaType::QString, 10,
QMetaType::Void, QMetaType::QString, 12,
QMetaType::Void,
QMetaType::Void, QMetaType::QString, 16,
QMetaType::Void, QMetaType::Bool, QMetaType::ULongLong, QMetaType::ULongLong, 18, 19, 20,
QMetaType::Void, QMetaType::QString, QMetaType::QString, 22, 23,
QMetaType::Void, QMetaType::QString, 18,
QMetaType::Void, QMetaType::Bool, QMetaType::ULongLong, QMetaType::ULongLong, 20, 21, 22,
QMetaType::Void, QMetaType::QString, QMetaType::QString, 24, 25,
QMetaType::Void,
QMetaType::Void, 0x80000000 | 26, 27,
QMetaType::Void, QMetaType::QString, 29,
QMetaType::Void, QMetaType::QString, QMetaType::QString, 10, 31,
QMetaType::Void, 0x80000000 | 28, 29,
QMetaType::Void, QMetaType::QString, 31,
QMetaType::Void, QMetaType::QString, QMetaType::QString, 12, 33,
QMetaType::Void, QMetaType::QByteArray, 3,
QMetaType::Void,
QMetaType::Bool,
@@ -144,7 +147,7 @@ void ClientHandler::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _i
auto *_t = static_cast<ClientHandler *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->sigSendXmlAnswer((*reinterpret_cast< QByteArray(*)>(_a[1]))); break;
case 0: _t->sigSendXmlAnswer((*reinterpret_cast< QByteArray(*)>(_a[1])),(*reinterpret_cast< PacketType(*)>(_a[2]))); break;
case 1: _t->sigInitSender((*reinterpret_cast< DataParser*(*)>(_a[1])),(*reinterpret_cast< Logger*(*)>(_a[2]))); break;
case 2: _t->sigFolderBlock((*reinterpret_cast< QString(*)>(_a[1]))); break;
case 3: _t->sigFileBlock((*reinterpret_cast< QString(*)>(_a[1]))); break;
@@ -188,7 +191,7 @@ void ClientHandler::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _i
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
{
using _t = void (ClientHandler::*)(QByteArray );
using _t = void (ClientHandler::*)(QByteArray , PacketType );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&ClientHandler::sigSendXmlAnswer)) {
*result = 0;
return;
@@ -350,9 +353,9 @@ int ClientHandler::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
}
// SIGNAL 0
void ClientHandler::sigSendXmlAnswer(QByteArray _t1)
void ClientHandler::sigSendXmlAnswer(QByteArray _t1, PacketType _t2)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))) };
QMetaObject::activate(this, &staticMetaObject, 0, _a);
}

View File

@@ -7,7 +7,27 @@
*****************************************************************************/
static const unsigned char qt_resource_data[] = {
// D:/LMS/ServerLMS/ServerLMS/icons/instructorAdmin.png
// D:/LMS/ServerLMS/ServerLMS/blankXML/instructors.xml
0x0,0x0,0x0,0x4d,
0x3c,
0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x27,0x31,0x2e,
0x30,0x27,0x20,0x65,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x3d,0x27,0x75,0x74,0x66,
0x2d,0x38,0x27,0x3f,0x3e,0xd,0xa,0x3c,0x61,0x6c,0x6c,0x49,0x6e,0x73,0x74,0x72,
0x75,0x63,0x74,0x6f,0x72,0x73,0x3e,0xd,0xa,0x3c,0x2f,0x61,0x6c,0x6c,0x49,0x6e,
0x73,0x74,0x72,0x75,0x63,0x74,0x6f,0x72,0x73,0x3e,0xd,0xa,
// D:/LMS/ServerLMS/ServerLMS/blankXML/groupsTrainees.xml
0x0,0x0,0x0,0x89,
0x3c,
0x3f,0x78,0x6d,0x6c,0x20,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3d,0x27,0x31,0x2e,
0x30,0x27,0x20,0x65,0x6e,0x63,0x6f,0x64,0x69,0x6e,0x67,0x3d,0x27,0x75,0x74,0x66,
0x2d,0x38,0x27,0x3f,0x3e,0xd,0xa,0x3c,0x41,0x6c,0x6c,0x4c,0x69,0x73,0x74,0x73,
0x3e,0xd,0xa,0x9,0x3c,0x47,0x72,0x6f,0x75,0x70,0x73,0x54,0x72,0x61,0x69,0x6e,
0x65,0x65,0x73,0x3e,0xd,0xa,0x9,0x3c,0x2f,0x47,0x72,0x6f,0x75,0x70,0x73,0x54,
0x72,0x61,0x69,0x6e,0x65,0x65,0x73,0x3e,0xd,0xa,0x9,0x3c,0x49,0x6e,0x73,0x74,
0x72,0x75,0x63,0x74,0x6f,0x72,0x73,0x3e,0xd,0xa,0x9,0x3c,0x2f,0x49,0x6e,0x73,
0x74,0x72,0x75,0x63,0x74,0x6f,0x72,0x73,0x3e,0xd,0xa,0x3c,0x2f,0x41,0x6c,0x6c,
0x4c,0x69,0x73,0x74,0x73,0x3e,0xd,0xa,
// D:/LMS/ServerLMS/ServerLMS/icons/instructorAdmin.png
0x0,0x0,0xc,0xc7,
0x89,
0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,
@@ -846,6 +866,22 @@ static const unsigned char qt_resource_name[] = {
0x0,0x6f,0xa6,0x53,
0x0,0x69,
0x0,0x63,0x0,0x6f,0x0,0x6e,0x0,0x73,
// blankXML
0x0,0x8,
0x2,0x85,0x0,0x3c,
0x0,0x62,
0x0,0x6c,0x0,0x61,0x0,0x6e,0x0,0x6b,0x0,0x58,0x0,0x4d,0x0,0x4c,
// instructors.xml
0x0,0xf,
0x3,0xe8,0xeb,0x3c,
0x0,0x69,
0x0,0x6e,0x0,0x73,0x0,0x74,0x0,0x72,0x0,0x75,0x0,0x63,0x0,0x74,0x0,0x6f,0x0,0x72,0x0,0x73,0x0,0x2e,0x0,0x78,0x0,0x6d,0x0,0x6c,
// groupsTrainees.xml
0x0,0x12,
0x1,0x13,0xe,0x7c,
0x0,0x67,
0x0,0x72,0x0,0x6f,0x0,0x75,0x0,0x70,0x0,0x73,0x0,0x54,0x0,0x72,0x0,0x61,0x0,0x69,0x0,0x6e,0x0,0x65,0x0,0x65,0x0,0x73,0x0,0x2e,0x0,0x78,0x0,0x6d,
0x0,0x6c,
// instructorAdmin.png
0x0,0x13,
0x8,0x7,0x7d,0x47,
@@ -877,25 +913,34 @@ static const unsigned char qt_resource_name[] = {
static const unsigned char qt_resource_struct[] = {
// :
0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1,
0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x1,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
// :/icons
0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x5,0x0,0x0,0x0,0x2,
0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x5,0x0,0x0,0x0,0x5,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
// :/blankXML
0x0,0x0,0x0,0x10,0x0,0x2,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x3,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
// :/blankXML/groupsTrainees.xml
0x0,0x0,0x0,0x4a,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x51,
0x0,0x0,0x1,0x93,0xab,0x9a,0xd3,0x2e,
// :/blankXML/instructors.xml
0x0,0x0,0x0,0x26,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,
0x0,0x0,0x1,0x92,0xb8,0x51,0xd,0xb7,
// :/icons/switchOff.png
0x0,0x0,0x0,0x58,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x15,0xab,
0x0,0x0,0x0,0xbc,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x16,0x89,
0x0,0x0,0x1,0x93,0x86,0xa5,0x5c,0x99,
// :/icons/instructor.png
0x0,0x0,0x0,0x96,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x27,0xef,
0x0,0x0,0x0,0xfa,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x28,0xcd,
0x0,0x0,0x1,0x8f,0x37,0xdf,0xf0,0x30,
// :/icons/switchOn.png
0x0,0x0,0x0,0x78,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x1e,0xc7,
0x0,0x0,0x0,0xdc,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x1f,0xa5,
0x0,0x0,0x1,0x93,0x86,0xa5,0x5c,0x9d,
// :/icons/trainee.png
0x0,0x0,0x0,0x3c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xc,0xcb,
0x0,0x0,0x0,0xa0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xd,0xa9,
0x0,0x0,0x1,0x8e,0x8a,0x13,0x52,0xd0,
// :/icons/instructorAdmin.png
0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,
0x0,0x0,0x0,0x74,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0xde,
0x0,0x0,0x1,0x8f,0x57,0x71,0xc1,0x80,
};

View File

@@ -206,7 +206,7 @@ build ServerLMS_autogen: phony CMakeFiles/ServerLMS_autogen ServerLMS_autogen/mo
#############################################
# Custom command for ServerLMS_autogen\EWIEGA46WW\qrc_resources.cpp
build ServerLMS_autogen/EWIEGA46WW/qrc_resources.cpp | ${cmake_ninja_workdir}ServerLMS_autogen/EWIEGA46WW/qrc_resources.cpp: CUSTOM_COMMAND D$:/LMS/ServerLMS/ServerLMS/resources.qrc CMakeFiles/ServerLMS_autogen.dir/AutoRcc_resources_EWIEGA46WW_Info.json D$:/LMS/ServerLMS/ServerLMS/icons/instructorAdmin.png D$:/LMS/ServerLMS/ServerLMS/icons/trainee.png D$:/LMS/ServerLMS/ServerLMS/icons/switchOff.png D$:/LMS/ServerLMS/ServerLMS/icons/switchOn.png D$:/LMS/ServerLMS/ServerLMS/icons/instructor.png C$:/Qt/Qt5.14.2/5.14.2/mingw73_64/bin/rcc.exe || ServerLMS_autogen
build ServerLMS_autogen/EWIEGA46WW/qrc_resources.cpp | ${cmake_ninja_workdir}ServerLMS_autogen/EWIEGA46WW/qrc_resources.cpp: CUSTOM_COMMAND D$:/LMS/ServerLMS/ServerLMS/resources.qrc CMakeFiles/ServerLMS_autogen.dir/AutoRcc_resources_EWIEGA46WW_Info.json D$:/LMS/ServerLMS/ServerLMS/blankXML/instructors.xml D$:/LMS/ServerLMS/ServerLMS/blankXML/groupsTrainees.xml D$:/LMS/ServerLMS/ServerLMS/icons/instructorAdmin.png D$:/LMS/ServerLMS/ServerLMS/icons/trainee.png D$:/LMS/ServerLMS/ServerLMS/icons/switchOff.png D$:/LMS/ServerLMS/ServerLMS/icons/switchOn.png D$:/LMS/ServerLMS/ServerLMS/icons/instructor.png C$:/Qt/Qt5.14.2/5.14.2/mingw73_64/bin/rcc.exe || ServerLMS_autogen
COMMAND = C:\Windows\system32\cmd.exe /C "cd /D D:\LMS\ServerLMS\Debug64 && C:\msys64\mingw64\bin\cmake.exe -E cmake_autorcc D:/LMS/ServerLMS/Debug64/CMakeFiles/ServerLMS_autogen.dir/AutoRcc_resources_EWIEGA46WW_Info.json Debug"
DESC = Automatic RCC for resources.qrc
restat = 1

Binary file not shown.

Binary file not shown.

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.11.1, 2024-12-06T12:00:51. -->
<!-- Written by QtCreator 4.11.1, 2024-12-09T17:51:45. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>

View File

@@ -1,6 +1,7 @@
#include "dataparser.h"
#include <QFile>
#include <QDomDocument>
DataParser::DataParser(ProcessingSystem *processingSystem,QObject *parent) :
QObject(parent)
@@ -290,26 +291,78 @@ QByteArray DataParser::xmlAnswer_deAuthorization(bool result, QString login)
return xmlAnswer(listTag);
}
QByteArray DataParser::xmlAnswer_ClientQueryToDB(bool result, QList<Instructor> listInstructors)
QByteArray DataParser::xmlAnswer_ClientQueryToDB(bool result, QList<Instructor>* listInstructors,
QList<Trainee>* listTrainees, QList<Group>* listGroups)
{
QList<SXmlAnswerTag> listTag;
QDomDocument groupsTraineesDOM;
QFile blankFile(":/blankXML/groupsTrainees.xml");
for(Instructor instructor : listInstructors)
{
SAttribute attribute1 = {"instructor_id", QString::number(instructor.getID())};
SAttribute attribute2 = {"name", instructor.getName()};
SAttribute attribute3 = {"login", instructor.getLogin()};
SAttribute attribute4 = {"password", instructor.getPassword()};
SAttribute attribute5 = {"is_admin", instructor.getIsAdmin() ? "true" : "false"};
SAttribute attribute6 = {"archived", instructor.getArchived() ? "true" : "false"};
SAttribute attribute7 = {"logged_in", instructor.getLoggedIn() ? "true" : "false"};
QList<SAttribute> listAttr = {attribute1, attribute2, attribute3, attribute4, attribute5, attribute6, attribute7};
SXmlAnswerTag tag = {"Instructor", listAttr};
listTag.append(tag);
if (! blankFile.open(QFile::ReadOnly | QFile::Text)) {
qDebug() << "SaveTraineesGroupsXML: Не удалось считать файл :/blankXML/groupsTrainees.xml";
return QByteArray();
}
return xmlAnswer(listTag, "ListInstructors");
groupsTraineesDOM.setContent(blankFile.readAll());
blankFile.close();
QDomNode allListsNode = groupsTraineesDOM.namedItem("AllLists");
QDomNode groupsTraineesNode = allListsNode.firstChildElement("GroupsTrainees");
QDomNode allInstructorsNode = allListsNode.firstChildElement("Instructors");
for(Group group : *listGroups)
{
//Группа
QDomNode groupNode = groupsTraineesDOM.createElement("group");
groupsTraineesNode.appendChild(groupNode);
groupNode.toElement().setAttribute("group_id", group.getID());
groupNode.toElement().setAttribute("name", group.getName());
//Обучаемые
for(Trainee trainee : *listTrainees)
{
if(group.getID() != trainee.getGroup().getID())
continue;
QDomNode traineeNode = groupsTraineesDOM.createElement("trainee");
groupNode.appendChild(traineeNode);
traineeNode.toElement().setAttribute("trainee_id", QString::number(trainee.getID()));
traineeNode.toElement().setAttribute("name", trainee.getName());
traineeNode.toElement().setAttribute("login", trainee.getLogin());
traineeNode.toElement().setAttribute("password", trainee.getPassword());
traineeNode.toElement().setAttribute("archived", trainee.getArchived() ? QStringLiteral("true") : QStringLiteral("false"));
traineeNode.toElement().setAttribute("logged_in", trainee.getLoggedIn() ? QStringLiteral("true") : QStringLiteral("false"));
traineeNode.toElement().setAttribute("group_trainee", QString::number(trainee.getGroup().getID()));
traineeNode.toElement().setAttribute("computer_trainee", QString::number(trainee.getComputer().getID()));
}
}
for(Instructor instructor : *listInstructors)
{
//Инструктор
QDomNode instructorNode = groupsTraineesDOM.createElement("instructor");
allInstructorsNode.appendChild(instructorNode);
instructorNode.toElement().setAttribute("instructor_id", QString::number(instructor.getID()));
instructorNode.toElement().setAttribute("name", instructor.getName());
instructorNode.toElement().setAttribute("login", instructor.getLogin());
instructorNode.toElement().setAttribute("password", instructor.getPassword());
instructorNode.toElement().setAttribute("is_admin", instructor.getIsAdmin() ? QStringLiteral("true") : QStringLiteral("false"));
instructorNode.toElement().setAttribute("archived", instructor.getArchived() ? QStringLiteral("true") : QStringLiteral("false"));
instructorNode.toElement().setAttribute("logged_in", instructor.getLoggedIn() ? QStringLiteral("true") : QStringLiteral("false"));
}
QString xmlFileName = /*appDirPath +*/ "GroupsTrainees.xml";
QFile xmlOutFile(xmlFileName);
if (!xmlOutFile.open(QFile::WriteOnly | QFile::Text))
{
qDebug() << "SaveTraineesGroupsXML: Не удалось записать файл " + xmlFileName;
return QByteArray();
}
QTextStream outFile(&xmlOutFile);
groupsTraineesDOM.save(outFile, 4);
xmlOutFile.close();
return groupsTraineesDOM.toByteArray();
}
QByteArray DataParser::xmlAnswer_message(QString text)

View File

@@ -28,7 +28,8 @@ public:
QByteArray xmlAnswer_authorization(bool result, QString instructorName, QString clientName, QString accessType, QString login);
QByteArray xmlAnswer_deAuthorization(bool result, QString login);
QByteArray xmlAnswer_ClientQueryToDB(bool result, QList<Instructor> listInstructors);
QByteArray xmlAnswer_ClientQueryToDB(bool result, QList<Instructor>* listInstructors = nullptr,
QList<Trainee>* listTrainees = nullptr, QList<Group>* listGroups = nullptr);
QByteArray xmlAnswer_message(QString text);
QByteArray xmlAnswer_task(QString text);

View File

@@ -119,13 +119,23 @@ void ProcessingSystem::processingClientQueryToDB(ClientHandler *client, ClientQu
switch (clientQueryToDB.typeQuery)
{
case TypeQueryToDB::TYPE_QUERY_GET_LIST_INSTRUCTORS:
QList<Instructor> listInstructors = providerDBLMS->GetListAllInstructors();
arrayAnswer = dataParser->xmlAnswer_ClientQueryToDB(true, listInstructors);
break;
case TypeQueryToDB::TYPE_QUERY_GET_LIST_INSTRUCTORS:
{
QList<Instructor> listInstructors = providerDBLMS->GetListAllInstructors();
arrayAnswer = dataParser->xmlAnswer_ClientQueryToDB(true, &listInstructors);
break;
}
case TypeQueryToDB::TYPE_QUERY_GET_ALL_LISTS:
{
QList<Instructor> listInstructors = providerDBLMS->GetListAllInstructors();
QList<Trainee> listTrainees = providerDBLMS->GetListAllTrainees();
QList<Group> listGroups = providerDBLMS->GetListAllGroups();
arrayAnswer = dataParser->xmlAnswer_ClientQueryToDB(true, &listInstructors, &listTrainees, &listGroups);
break;
}
}
client->sendXmlAnswer(arrayAnswer);
client->sendXmlAnswer(arrayAnswer, PacketType::TYPE_XMLANSWER_ON_QUERY_TO_DB);
//QString str = QString(arrayAnswer);
//logger->addTextToLogger("To Client: " + str);

View File

@@ -182,7 +182,7 @@ void SendSystem::sendNotify(QString notify)
sendXmlAnswer(answer);
}
void SendSystem::sendXmlAnswer(QByteArray array)
void SendSystem::sendXmlAnswer(QByteArray array, PacketType packetType)
{
qDebug() << "SendSystemThread: " << QThread::currentThreadId();
if(!client->getIsUnity())
@@ -190,7 +190,7 @@ void SendSystem::sendXmlAnswer(QByteArray array)
QDataStream stream(socket);
stream.setVersion(QDataStream::Qt_DefaultCompiledVersion);
stream << PacketType::TYPE_XMLANSWER;
stream << /*PacketType::TYPE_XMLANSWER*/packetType;
stream << array;
}
else

View File

@@ -28,7 +28,7 @@ public:
void sendFinish();
void sendNotify(QString notify);
void sendStop();
void sendXmlAnswer(QByteArray array);
void sendXmlAnswer(QByteArray array, PacketType packetType = PacketType::TYPE_XMLANSWER);
void sendNeedUpdate(bool flag,quint64 size,quint64 fileCount);
void updateFiles(QList<FileData> fileSendList, QList<FileData> clientDataList);
bool getIsSendStopped() const;

View File

@@ -32,9 +32,12 @@ enum PacketType
TYPE_DISABLE = 11,
TYPE_FILESIZE = 20,
TYPE_GET_LIST_INSTRUCTORS = 100
TYPE_GET_LIST_INSTRUCTORS = 100,
TYPE_XMLANSWER_ON_QUERY_TO_DB = 101 //xml-ответ на запрос к БД
};
Q_DECLARE_METATYPE(PacketType)
class Tools {
public:
static void printTime();

View File

@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<AllLists>
<GroupsTrainees>
</GroupsTrainees>
<Instructors>
</Instructors>
</AllLists>

View File

@@ -0,0 +1,3 @@
<?xml version='1.0' encoding='utf-8'?>
<allInstructors>
</allInstructors>

View File

@@ -69,9 +69,9 @@ void ClientHandler::sendHash()
//emit sigSendNotify("HASHSENDCOMPLETE");
}
void ClientHandler::sendXmlAnswer(QByteArray array)
void ClientHandler::sendXmlAnswer(QByteArray array, PacketType packetType)
{
emit sigSendXmlAnswer(array);
emit sigSendXmlAnswer(array, packetType);
}
void ClientHandler::sendFolderBlock(QString path)
@@ -110,11 +110,10 @@ void ClientHandler::sendNeedUpdate(bool flag, quint64 size, quint64 fileCount)
}
void ClientHandler::sendDisable()
{
{
thread->exit();
thread->wait();
emit sigClientDisconnected(client->getAddress(),client->getPort());
}
Client *ClientHandler::getClient() const

View File

@@ -6,6 +6,7 @@
#include "Client.h"
#include <QTcpSocket>
#include <QThread>
#include "Systems/tools.h"
class SendSystem;
class DataParser;
@@ -21,7 +22,7 @@ class ClientHandler : public QObject
public:
ClientHandler(QObject* parent = nullptr);
void initSender(DataParser *dataParser,Logger *logger);
void sendXmlAnswer(QByteArray array);
void sendXmlAnswer(QByteArray array, PacketType packetType = PacketType::TYPE_XMLANSWER);
void sendFolderBlock(QString path);
void sendFileBlock(QString path);
bool getIsSendStopped();
@@ -41,7 +42,7 @@ public:
QTcpSocket *getSocket() const;
signals:
void sigSendXmlAnswer(QByteArray array);
void sigSendXmlAnswer(QByteArray array, PacketType packetType);
void sigInitSender (DataParser *dataParse,Logger *logger);
void sigFolderBlock(QString path);
void sigFileBlock(QString path);

View File

@@ -40,6 +40,11 @@ void MultiThreadServer::slotDisconnectClient(QString peerAddress, QString peerPo
if(client->getClient()->getAddress() == peerAddress && client->getClient()->getPort() == peerPort)
{
login = client->getClient()->getLogin();
ClientDeAutorization clientDeAutorization;
clientDeAutorization.Login = login;
serverLmsWidget->getProcessingSystem()->processingClientDeAutorization(client, clientDeAutorization);
serverLmsWidget->removeClient(idSocket);
delete client;
continue;

View File

@@ -216,3 +216,39 @@ QList<Instructor> ProviderDBLMS::GetListAllInstructors()
mtxAccess.unlock();
return listInstructors;
}
QList<Trainee> ProviderDBLMS::GetListAllTrainees()
{
QList<Trainee> listTrainees;
mtxAccess.lock();
if(! dbLMS->DBisConnected())
{
mtxAccess.unlock();
return listTrainees;
}
listTrainees = dbLMS->getListTrainees();
mtxAccess.unlock();
return listTrainees;
}
QList<Group> ProviderDBLMS::GetListAllGroups()
{
QList<Group> listGroups;
mtxAccess.lock();
if(! dbLMS->DBisConnected())
{
mtxAccess.unlock();
return listGroups;
}
listGroups = dbLMS->getListGroups();
mtxAccess.unlock();
return listGroups;
}

View File

@@ -24,7 +24,9 @@ public:
QString getNameInstructorByLogin(QString login);
//
QList<Instructor> GetListAllInstructors();
QList<Instructor> GetListAllInstructors();
QList<Trainee> GetListAllTrainees();
QList<Group> GetListAllGroups();
Q_SIGNALS:
//сигнал о блокировке авторизации

View File

@@ -5,5 +5,7 @@
<file>icons/trainee.png</file>
<file>icons/switchOff.png</file>
<file>icons/switchOn.png</file>
<file>blankXML/groupsTrainees.xml</file>
<file>blankXML/instructors.xml</file>
</qresource>
</RCC>

View File

@@ -25,6 +25,8 @@ ServerLMSWidget::ServerLMSWidget(QWidget *parent) :
{
ui->setupUi(this);
qRegisterMetaType<PacketType>("PacketType");
ui->comboTasks->addItem("Задача 1");
ui->comboTasks->addItem("Задача 2");
ui->comboTasks->addItem("Задача 3");
@@ -200,7 +202,7 @@ void ServerLMSWidget::slot_AuthChanged()
if(clientsMap[idSocket]->getClient()->getTypeClient() == TypeClientAutorization::TYPE_GUI)
{//Отправляем этому клиенту обновление списков
ClientQueryToDB queryToDB;
queryToDB.typeQuery = TypeQueryToDB::TYPE_QUERY_GET_LIST_INSTRUCTORS;
queryToDB.typeQuery = TypeQueryToDB::TYPE_QUERY_GET_ALL_LISTS;
processingSystem->processingClientQueryToDB(clientsMap[idSocket], queryToDB);
}
}

View File

@@ -82,6 +82,11 @@ public:
return stateBlockAutorization;
}
ProcessingSystem* getProcessingSystem()
{
return processingSystem;
}
QMap<int, ClientHandler *> getClientsMap() const;
private slots:

View File

@@ -57,7 +57,8 @@ public:
};
enum TypeQueryToDB{
TYPE_QUERY_GET_LIST_INSTRUCTORS
TYPE_QUERY_GET_LIST_INSTRUCTORS,
TYPE_QUERY_GET_ALL_LISTS
};
class ClientQueryToDB{