MCPcopy Create free account
hub / github.com/Selectively11/CloudRedirect / InstallGamesPlayedObserver

Method InstallGamesPlayedObserver

src/platform/linux/cloud_hooks.cpp:256–276  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

254}
255
256void CloudHooks::InstallGamesPlayedObserver(uintptr_t steamclientBase, size_t steamclientSize) {
257 if (!g_serializeToArray) {
258 LOG("[GamesPlayed] serializer not resolved -- playtime tracking disabled");
259 return;
260 }
261
262 // Always install -- runs before config sets the toggles; per-message paths
263 // already check the live toggle (matches Windows).
264 GamesPlayedHook::SetSerializer(&SerializeBodyTL);
265 GamesPlayedHook::Install(steamclientBase, steamclientSize);
266
267 if (LivePlaytime::Resolve(steamclientBase, steamclientSize, g_parseFromArray))
268 LivePlaytime::InstallUserCapture();
269
270 AchievementInject::Resolve(steamclientBase, steamclientSize, &SerializeBodyTL);
271 SchemaFetch::Resolve(steamclientBase, steamclientSize, g_parseFromArray);
272
273 // Inbound CM observer: captures our schema-fetch 819 replies and writes the
274 // schema .bin (mirror of the Windows RecvPktMonitorHook).
275 RecvPktHook::Install(steamclientBase, steamclientSize);
276}
277
278static std::optional<CloudIntercept::RpcResult> DispatchCloudRpc(
279 const char* method, uint32_t appId, const std::vector<PB::Field>& reqBody) {

Callers

nothing calls this directly

Calls 4

SetSerializerFunction · 0.85
InstallUserCaptureFunction · 0.85
InstallFunction · 0.70
ResolveFunction · 0.70

Tested by

no test coverage detected