-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPredictOriginalKeyUploadCommand.cpp
More file actions
62 lines (56 loc) · 1.33 KB
/
PredictOriginalKeyUploadCommand.cpp
File metadata and controls
62 lines (56 loc) · 1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include "PredictOriginalKeyUploadCommand.h"
#include "PredictSession.h"
#include "PredictMessage.h"
#include "./streams/DS_FileStream.h"
#include "PredictGameThread.h"
#include "PredictConfig.h"
PredictOriginalKeyUploadCommand::PredictOriginalKeyUploadCommand()
{
mCommandId = PMT_UPLOAD_KEY;
mBytes = 0;
mLength = 0;
}
PredictOriginalKeyUploadCommand::~PredictOriginalKeyUploadCommand()
{
if (mBytes)
{
free(mBytes);
}
mBytes = 0;
}
void PredictOriginalKeyUploadCommand::ExecuteSession(PredictSession* session)
{
PredictGameThread* handle = session->GetThreadHandle();
if (!handle->IsExistOriginalKey() && mLength)
{
std::string keyFile = handle->GetConfig()->mConfigData.GetFullKeyPath();
DataStructures::FileStream stream(keyFile.c_str(), "wb");
stream.Write(mBytes, mLength);
stream.Close();
handle->GetConfig()->mConfigData.mHasKeyFile = true;
handle->StatisticKey();
}
if (mBytes)
{
free(mBytes);
}
mBytes = 0;
mLength = 0;
//PredictMessage write;
//write.WriteINT16(PMT_GeneratorKey);
//write.WriteBoolean(true);
//session->WriteMessage(&write);
}
void PredictOriginalKeyUploadCommand::ParseMessage(PredictMessage* message)
{
bool exist = message->ReadBoolen();
if (exist)
{
mLength = message->ReadINT32();
if (mLength)
{
mBytes = (char*)malloc(mLength);
message->ReadBytes(mBytes, mLength);
}
}
}