Counter Strike : Global Offensive Source Code
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.
 
 
 
 
 
 

62 lines
1.8 KiB

//====== Copyright © 1996-2008, Valve Corporation, All rights reserved. =======
//
// Purpose: interface to steam for game servers
//
//=============================================================================
#ifndef ISTEAMCONTENTSERVER_H
#define ISTEAMCONTENTSERVER_H
#ifdef _WIN32
#pragma once
#endif
//-----------------------------------------------------------------------------
// Purpose: Functions for authenticating users via Steam to download content
//-----------------------------------------------------------------------------
class ISteamContentServer
{
public:
// connection functions
virtual void LogOn( uint32 uContentServerID ) = 0;
virtual void LogOff() = 0;
virtual bool BLoggedOn() = 0;
// user authentication functions
virtual bool SendClientContentAuthRequest( CSteamID steamID, uint32 uContentID, uint64 ulSessionToken, bool bTokenPresent ) = 0;
// Check a Steam3-created content ticket. Does not need to connect to Steam3 to validate it,
// so this is a backup for when the above call is not available (disconnected).
virtual bool BCheckTicket( CSteamID steamID, uint32 uContentID, const void *pvTicketData, uint32 cubTicketLength ) = 0;
// some sort of status stuff here eventually
};
#define STEAMCONTENTSERVER_INTERFACE_VERSION "SteamContentServer002"
// callbacks
#pragma pack( push, 8 )
// client has been approved to download the content
struct CSClientApprove_t
{
enum { k_iCallback = k_iSteamContentServerCallbacks + 1 };
CSteamID m_SteamID;
uint32 m_uContentID;
};
// client has been denied to connection to this game server
struct CSClientDeny_t
{
enum { k_iCallback = k_iSteamContentServerCallbacks + 2 };
CSteamID m_SteamID;
uint32 m_uContentID;
EDenyReason m_eDenyReason;
};
#pragma pack( pop )
#endif // ISTEAMGAMESERVER_H