This repository has been archived on 2024-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
2020-08-04 13:13:01 -04:00

67 lines
2.5 KiB
C++

//====== 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
#include "isteamclient.h"
#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;
virtual int GetAppName(
AppId_t nAppID, char *pchName,
int cchNameMax) = 0; // returns -1 if no name was found
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"
// 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
//---------------------------------------------------------------------------------
// Purpose: Sent when a new app is installed
//---------------------------------------------------------------------------------
DEFINE_CALLBACK(SteamAppInstalled_t, k_iSteamAppListCallbacks + 1);
CALLBACK_MEMBER(0, AppId_t, m_nAppID) // ID of the app that installs
END_DEFINE_CALLBACK_1()
//---------------------------------------------------------------------------------
// Purpose: Sent when an app is uninstalled
//---------------------------------------------------------------------------------
DEFINE_CALLBACK(SteamAppUninstalled_t, k_iSteamAppListCallbacks + 2);
CALLBACK_MEMBER(0, AppId_t, m_nAppID) // ID of the app that installs
END_DEFINE_CALLBACK_1()
#pragma pack(pop)
#endif // ISTEAMAPPLIST_H