forked from bruderstein/nppPluginManager
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathValidate.cpp
More file actions
39 lines (32 loc) · 1.13 KB
/
Validate.cpp
File metadata and controls
39 lines (32 loc) · 1.13 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
#include "precompiled_headers.h"
#include "libinstall/Validate.h"
#include "libinstall/DownloadManager.h"
#include "libinstall/tstring.h"
#include "libinstall/md5.h"
#include "libinstall/CancelToken.h"
namespace Validator
{
ValidateStatus validate(const tstring& validateBaseUrl, const tstring& file, CancelToken& cancelToken, const ModuleInfo* moduleInfo)
{
DownloadManager download(cancelToken);
download.disableCache();
TCHAR localMD5[(MD5::HASH_LENGTH * 2) + 1];
MD5::hash(file.c_str(), localMD5, (MD5::HASH_LENGTH * 2) + 1);
tstring validateUrl(validateBaseUrl);
validateUrl.append(localMD5);
std::string validateResult;
if (download.getUrl(validateUrl.c_str(), validateResult, moduleInfo))
{
if (validateResult == VALIDATE_RESULT_OK)
return VALIDATE_OK;
else if (validateResult == VALIDATE_RESULT_UNKNOWN)
return VALIDATE_UNKNOWN;
else if (validateResult == VALIDATE_RESULT_BANNED)
return VALIDATE_BANNED;
else
return VALIDATE_UNKNOWN;
}
else
return VALIDATE_UNKNOWN;
}
}