2019-02-07 15:54:56 +01:00
|
|
|
//====== Copyright © 1996-2008, Valve Corporation, All rights reserved. =======
|
|
|
|
//
|
|
|
|
// Purpose: interface to app data in Steam
|
|
|
|
//
|
|
|
|
//=============================================================================
|
|
|
|
|
|
|
|
#ifndef ISTEAMAPPLIST_H
|
|
|
|
#define ISTEAMAPPLIST_H
|
|
|
|
#ifdef _WIN32
|
|
|
|
#pragma once
|
|
|
|
#endif
|
|
|
|
|
2019-02-25 16:44:23 +01:00
|
|
|
#include "steam_api_common.h"
|
2019-02-07 15:54:56 +01:00
|
|
|
#include "steamtypes.h"
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// Purpose: This is a restricted interface that can only be used by previously approved apps,
|
|
|
|
// contact your Steam Account Manager if you believe you need access to this API.
|
|
|
|
// This interface lets you detect installed apps for the local Steam client, useful for debugging tools
|
|
|
|
// to offer lists of apps to debug via Steam.
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
class ISteamAppList
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
virtual uint32 GetNumInstalledApps() = 0;
|
|
|
|
virtual uint32 GetInstalledApps( AppId_t *pvecAppID, uint32 unMaxAppIDs ) = 0;
|
|
|
|
|
2019-02-25 16:44:23 +01:00
|
|
|
virtual int GetAppName( AppId_t nAppID, STEAM_OUT_STRING() char *pchName, int cchNameMax ) = 0; // returns -1 if no name was found
|
2019-02-07 15:54:56 +01:00
|
|
|
virtual int GetAppInstallDir( AppId_t nAppID, char *pchDirectory, int cchNameMax ) = 0; // returns -1 if no dir was found
|
|
|
|
|
|
|
|
virtual int GetAppBuildId( AppId_t nAppID ) = 0; // return the buildid of this app, may change at any time based on backend updates to the game
|
|
|
|
};
|
|
|
|
|
|
|
|
#define STEAMAPPLIST_INTERFACE_VERSION "STEAMAPPLIST_INTERFACE_VERSION001"
|
|
|
|
|
2019-02-25 16:44:23 +01:00
|
|
|
// Global interface accessor
|
|
|
|
inline ISteamAppList *SteamAppList();
|
|
|
|
STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamAppList *, SteamAppList, STEAMAPPLIST_INTERFACE_VERSION );
|
|
|
|
|
2019-02-07 15:54:56 +01:00
|
|
|
// callbacks
|
|
|
|
#if defined( VALVE_CALLBACK_PACK_SMALL )
|
|
|
|
#pragma pack( push, 4 )
|
|
|
|
#elif defined( VALVE_CALLBACK_PACK_LARGE )
|
|
|
|
#pragma pack( push, 8 )
|
|
|
|
#else
|
2019-02-25 16:44:23 +01:00
|
|
|
#error steam_api_common.h should define VALVE_CALLBACK_PACK_xxx
|
2019-02-07 15:54:56 +01:00
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
//---------------------------------------------------------------------------------
|
|
|
|
// Purpose: Sent when a new app is installed
|
|
|
|
//---------------------------------------------------------------------------------
|
2019-02-25 16:44:23 +01:00
|
|
|
STEAM_CALLBACK_BEGIN( SteamAppInstalled_t, k_iSteamAppListCallbacks + 1 );
|
|
|
|
STEAM_CALLBACK_MEMBER( 0, AppId_t, m_nAppID ) // ID of the app that installs
|
|
|
|
STEAM_CALLBACK_END(1)
|
2019-02-07 15:54:56 +01:00
|
|
|
|
|
|
|
|
|
|
|
//---------------------------------------------------------------------------------
|
|
|
|
// Purpose: Sent when an app is uninstalled
|
|
|
|
//---------------------------------------------------------------------------------
|
2019-02-25 16:44:23 +01:00
|
|
|
STEAM_CALLBACK_BEGIN( SteamAppUninstalled_t, k_iSteamAppListCallbacks + 2 );
|
|
|
|
STEAM_CALLBACK_MEMBER( 0, AppId_t, m_nAppID ) // ID of the app that installs
|
|
|
|
STEAM_CALLBACK_END(1)
|
2019-02-07 15:54:56 +01:00
|
|
|
|
|
|
|
|
|
|
|
#pragma pack( pop )
|
|
|
|
#endif // ISTEAMAPPLIST_H
|