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
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
|