-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathfilemanager.cpp
54 lines (41 loc) · 1.32 KB
/
filemanager.cpp
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
#include <filemanager.h>
void CFileManager::Init()
{
KeyValues *kv = new KeyValues("Config");
kv->LoadFromFile(g_fileSystem, CONFIG_FILE);
KeyValues::AutoDelete autoDelete(kv);
g_cacheTime = kv->GetInt("caching_time", 120);
const char *szRconPassword = kv->GetString("rcon_password", nullptr);
char *copy = new char[strlen(szRconPassword) + 1];
strcpy(copy, szRconPassword);
g_szRconPassword = copy;
}
void CFileManager::CleanCache()
{
KeyValues *kv = new KeyValues("Config");
KeyValues::AutoDelete autoDelete(kv);
kv->LoadFromFile(g_fileSystem, CACHE_FILE);
kv->Clear();
kv->SaveToFile(g_fileSystem, CACHE_FILE);
}
bool CFileManager::IsSteamIdCached(const char *steamid)
{
KeyValues *kv = new KeyValues("Config");
KeyValues::AutoDelete autoDelete(kv);
kv->LoadFromFile(g_fileSystem, CACHE_FILE);
if (!kv->FindKey(steamid, false))
{
return false;
}
int time = kv->GetInt(steamid);
bool value = time > std::time(0);
return value;
}
void CFileManager::AddSteamIdToCache(const char *steamid)
{
KeyValues *kv = new KeyValues("Config");
KeyValues::AutoDelete autoDelete(kv);
kv->LoadFromFile(g_fileSystem, CACHE_FILE);
kv->SetInt(steamid, time(0) + (CFileManager::GetCacheTime() * 60));
kv->SaveToFile(g_fileSystem, CACHE_FILE);
}