You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.7 KiB
61 lines
1.7 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: steam state machine that handles authenticating steam users |
|
// |
|
//=============================================================================// |
|
|
|
#ifndef CL_STEAMUAUTH_H |
|
#define CL_STEAMUAUTH_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
#include "baseclient.h" |
|
#include "utlvector.h" |
|
#include "netadr.h" |
|
|
|
#include "steam/steam_api.h" |
|
|
|
class CSteam3Client : public CSteamAPIContext |
|
{ |
|
public: |
|
CSteam3Client(); |
|
~CSteam3Client(); |
|
|
|
void Activate(); |
|
void Shutdown(); |
|
|
|
void GetAuthSessionTicket( void *pTicket, int cbMaxTicket, uint32 *pcbTicket, uint32 unIP, uint16 usPort, uint64 unGSSteamID, bool bSecure ); |
|
void CancelAuthTicket(); |
|
|
|
bool BGSSecure() { return m_bGSSecure; } |
|
void RunFrame(); |
|
#if !defined(NO_STEAM) |
|
STEAM_CALLBACK( CSteam3Client, OnClientGameServerDeny, ClientGameServerDeny_t, m_CallbackClientGameServerDeny ); |
|
STEAM_CALLBACK( CSteam3Client, OnGameServerChangeRequested, GameServerChangeRequested_t, m_CallbackGameServerChangeRequested ); |
|
STEAM_CALLBACK( CSteam3Client, OnGameOverlayActivated, GameOverlayActivated_t, m_CallbackGameOverlayActivated ); |
|
STEAM_CALLBACK( CSteam3Client, OnPersonaUpdated, PersonaStateChange_t, m_CallbackPersonaStateChanged ); |
|
STEAM_CALLBACK( CSteam3Client, OnLowBattery, LowBatteryPower_t, m_CallbackLowBattery ); |
|
#endif |
|
|
|
private: |
|
|
|
// |
|
// Cached data for active ticket, if any |
|
// |
|
HAuthTicket m_hAuthTicket; |
|
uint32 m_unIP; |
|
uint16 m_usPort; |
|
bool m_bActive; |
|
bool m_bGSSecure; |
|
CSteamID m_steamIDGS; |
|
uint32 m_nTicketSize; |
|
unsigned char m_arbTicketData[ 1024 ]; |
|
}; |
|
|
|
#ifndef SWDS |
|
// singleton accessor |
|
CSteam3Client &Steam3Client(); |
|
#endif // SWDS |
|
|
|
#endif // CL_STEAMUAUTH_H
|
|
|