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