MCPcopy Create free account
hub / github.com/BZFlag-Dev/bzflag / saveCache

Method saveCache

src/bzflag/HUDuiServerListCache.cpp:40–128  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

38}
39
40void HUDuiServerListCache::saveCache() {
41 if (!cacheLoaded) {
42 return;
43 }
44
45 std::string fileName = getCacheFilename();
46 if (fileName == "") { return; }
47
48 std::ostream* outFile = FILEMGR.createDataOutStream(fileName, true, true);
49
50 if (outFile != NULL) {
51 char buffer[max_string + 1];
52
53 // write out normal list sort mode
54 memset(buffer, 0, sizeof(buffer));
55 nboPackInt32(buffer, cachedLists[0].first->getSortMode());
56 outFile->write(&buffer[0], 4);
57
58 // write out normal list reverse sort flag
59 nboPackUInt8(buffer, cachedLists[0].first->getReverseSort());
60 outFile->write(buffer, 1);
61
62 // write out recent list sort mode
63 memset(buffer, 0, sizeof(buffer));
64 nboPackInt32(buffer, cachedLists[1].first->getSortMode());
65 outFile->write(&buffer[0], 4);
66
67 // write out recent list reverse sort flag
68 nboPackUInt8(buffer, cachedLists[1].first->getReverseSort());
69 outFile->write(buffer, 1);
70
71 // write out favorites list sort mode
72 memset(buffer, 0, sizeof(buffer));
73 nboPackInt32(buffer, cachedLists[2].first->getSortMode());
74 outFile->write(&buffer[0], 4);
75
76 // write out favorites list reverse sort flag
77 nboPackUInt8(buffer, cachedLists[2].first->getReverseSort());
78 outFile->write(buffer, 1);
79
80 for (size_t i = 3; i < cachedLists.size(); i++) {
81 // write out the list's tab name
82 memset(buffer, 0, sizeof(buffer));
83 int copyLength = int(cachedLists[i].second.size() < max_string ? cachedLists[i].second.size() : max_string);
84 strncpy(&buffer[0], cachedLists[i].second.c_str(), copyLength);
85 outFile->write(buffer, sizeof(buffer));
86
87 // write out the list's sort mode
88 memset(buffer, 0, sizeof(buffer));
89 nboPackInt32(buffer, cachedLists[i].first->getSortMode());
90 outFile->write(&buffer[0], 4);
91
92 // write out the list's reverse sort flag
93 nboPackUInt8(buffer, cachedLists[i].first->getReverseSort());
94 outFile->write(buffer, 1);
95
96 // write out the list's filter options
97 memset(buffer, 0, sizeof(buffer));

Callers 1

dumpResourcesFunction · 0.45

Calls 13

nboPackInt32Function · 0.85
nboPackUInt8Function · 0.85
createDataOutStreamMethod · 0.80
getSortModeMethod · 0.80
getReverseSortMethod · 0.80
c_strMethod · 0.80
getFilterOptionsMethod · 0.80
getFilterPatternsMethod · 0.80
writeMethod · 0.45
sizeMethod · 0.45
getSizeMethod · 0.45
getServerKeyMethod · 0.45

Tested by

no test coverage detected