Team Fortress 2 Source Code as on 22/4/2020
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.
|
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: interface to streaming launcher functions in Steam
//
//=============================================================================
#ifndef ISTEAMSTREAMLAUNCHER_H
#define ISTEAMSTREAMLAUNCHER_H
#ifdef _WIN32
#pragma once
#endif
#include "isteamclient.h"
enum EStreamLauncherResult { k_EStreamLaunchResultSuccess = 0, k_EStreamLaunchResultFailure = 1, // Unknown streaming launch failure
k_EStreamLaunchResultAlreadyStreaming = 2, // The UI is already streaming to a different application
k_EStreamLaunchResultInvalidLauncher = 3, // The streaming launcher doesn't exist, or failed signature check
k_EStreamLaunchResultNotReady = 4, // The UI isn't ready to go into streaming mode (Desktop UI login?)
};
//-----------------------------------------------------------------------------
// Purpose: interface to streaming launcher functions in Steam
//-----------------------------------------------------------------------------
class ISteamStreamLauncher { public: // Switch Steam to Big Picture mode and optionally set a launcher to run all games
virtual EStreamLauncherResult StartStreaming( const char *pchLauncher = NULL ) = 0;
// Switch Steam back to the original mode and clear the launcher
virtual void StopStreaming() = 0; };
#define STEAMSTREAMLAUNCHER_INTERFACE_VERSION "SteamStreamLauncher001"
// callbacks
#if defined( VALVE_CALLBACK_PACK_SMALL )
#pragma pack( push, 4 )
#elif defined( VALVE_CALLBACK_PACK_LARGE )
#pragma pack( push, 8 )
#else
#error isteamclient.h must be included
#endif
//-----------------------------------------------------------------------------
// The big picture window is visible and ready for streaming
//-----------------------------------------------------------------------------
struct BigPictureStreamingResult_t { enum { k_iCallback = k_iSteamStreamLauncherCallbacks + 1 }; bool m_bSuccess; void *m_hwnd; };
//-----------------------------------------------------------------------------
// The user requested that the application stop streaming
//-----------------------------------------------------------------------------
struct StopStreamingRequest_t { enum { k_iCallback = k_iSteamStreamLauncherCallbacks + 2 }; };
//-----------------------------------------------------------------------------
// The big picture window is closed and no longer ready for streaming
//-----------------------------------------------------------------------------
struct BigPictureStreamingDone_t { enum { k_iCallback = k_iSteamStreamLauncherCallbacks + 3 }; };
//-----------------------------------------------------------------------------
// Steam is about to restart, continue streaming when it is available again
//-----------------------------------------------------------------------------
struct BigPictureStreamRestarting_t { enum { k_iCallback = k_iSteamStreamLauncherCallbacks + 4 }; };
#pragma pack( pop )
#endif // ISTEAMSTREAMLAUNCHER_H
|