public void RequestAppTicket(uint appId) { if (AppTickets.ContainsKey(appId) || bAborted) { return; } if (!authenticatedUser) { AppTickets[appId] = null; return; } bool completed = false; Action <SteamApps.AppOwnershipTicketCallback> cbMethod = (appTicket) => { completed = true; if (appTicket.Result != EResult.OK) { Console.WriteLine("Unable to get appticket for {0}: {1}", appTicket.AppID, appTicket.Result); Abort(); } else { Console.WriteLine("Got appticket for {0}!", appTicket.AppID); AppTickets[appTicket.AppID] = appTicket.Ticket; } }; WaitUntilCallback(() => { callbacks.Subscribe(steamApps.GetAppOwnershipTicket(appId), cbMethod); }, () => { return(completed); }); }
private byte[] GetAppOwnershipTicket(uint appId) { if (_ownershipTicketStore.TryGetValue(appId, out var result)) { return(result); } ConsoleSystem.Log("Waiting for app ownership ticket..."); // Request an app ownership ticket from steam var job = _steamApps.GetAppOwnershipTicket(appId); var res = job.GetAwaiter().GetResult().Result; // Get the now stored ticket return(_ownershipTicketStore[appId]); }
public byte[] GetAppOwnershipTicket(uint app_id) { if (ownership_ticket_store.TryGetValue(app_id, out var result)) { return(result); } else { Log.WriteLine("Waiting for app ownership ticket..."); // Request an app ownership ticket from steam var job = steam_apps.GetAppOwnershipTicket(app_id); // Get the now stored ticket return(ownership_ticket_store[app_id]); } }
public async Task <byte[]> RequestAppTicket(uint appId) { if (!AppTickets.ContainsKey(appId)) { AppTickets[appId] = (await Apps.GetAppOwnershipTicket(appId)).Ticket; } return(AppTickets[appId]); }
public Task <bool> RequestAppTicket(uint appId) { var tsc = new TaskCompletionSource <bool>(); if (AppTickets.ContainsKey(appId) || bAborted) { tsc.SetResult(true); return(tsc.Task); } else if (!authenticatedUser) { tsc.SetResult(true); AppTickets[appId] = null; return(tsc.Task); } else { IDisposable subscription = null; Action <SteamApps.AppOwnershipTicketCallback> cbMethod = (appTicket) => { subscription.Dispose(); if (appTicket.Result != EResult.OK) { DebugLog.WriteLine("Steam3Session", "Unable to get appticket for " + appTicket.AppID + ": " + appTicket.Result); Abort(); } else { DebugLog.WriteLine("Steam3Session", "Got appticket for " + appTicket.AppID); AppTickets[appTicket.AppID] = appTicket.Ticket; } tsc.SetResult(true); }; subscription = callbacks.Subscribe(steamApps.GetAppOwnershipTicket(appId), cbMethod); return(tsc.Task); } }
public void RequestAppTicket(uint appId) { if (AppTickets.ContainsKey(appId) || bAborted) { return; } if (!authenticatedUser) { AppTickets[appId] = null; return; } Action <SteamApps.AppOwnershipTicketCallback, JobID> cbMethod = (appTicket, jobId) => { if (appTicket.Result != EResult.OK) { Console.WriteLine("Unable to get appticket for {0}: {1}", appTicket.AppID, appTicket.Result); Abort(); } else { Console.WriteLine("Got appticket for {0}!", appTicket.AppID); AppTickets[appTicket.AppID] = appTicket.Ticket; } }; using (JobCallback <SteamApps.AppOwnershipTicketCallback> appTicketCallback = new JobCallback <SteamApps.AppOwnershipTicketCallback>(cbMethod, callbacks, steamApps.GetAppOwnershipTicket(appId))) { do { WaitForCallbacks(); }while (!appTicketCallback.Completed && !bAborted); } }