mirror of
https://github.com/openmoh/openmohaa.git
synced 2025-04-28 21:57:57 +03:00
55 lines
1.8 KiB
C
55 lines
1.8 KiB
C
![]() |
#ifndef _AVAILABLE_H_
|
||
|
#define _AVAILABLE_H_
|
||
|
|
||
|
#include "gsStringUtil.h"
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
#ifndef GSI_UNICODE
|
||
|
#define GSIStartAvailableCheck GSIStartAvailableCheckA
|
||
|
#else
|
||
|
#define GSIStartAvailableCheck GSIStartAvailableCheckW
|
||
|
#endif
|
||
|
|
||
|
// the available check contacts a backend server at "<gamename>.available.gamespy.com"
|
||
|
// an app can resolve the hostname itself and store the IP here before starting the check
|
||
|
extern char GSIACHostname[64];
|
||
|
|
||
|
// these are possible return types for GSIAvailableCheckThink
|
||
|
typedef enum
|
||
|
{
|
||
|
GSIACWaiting, // still waiting for a response from the backend
|
||
|
GSIACAvailable, // the game's backend services are available
|
||
|
GSIACUnavailable, // the game's backend services are unavailable
|
||
|
GSIACTemporarilyUnavailable // the game's backend services are temporarily unavailable
|
||
|
} GSIACResult;
|
||
|
|
||
|
// start an available check for a particular game
|
||
|
// return 0 if no error starting up, non-zero if there's an error
|
||
|
void GSIStartAvailableCheck(const gsi_char * gamename);
|
||
|
|
||
|
// let the available check think
|
||
|
// continue to call this while it returns GSIACWaiting
|
||
|
// if it returns GSIACAvailable, use the GameSpy SDKs as normal
|
||
|
// if it returns GSIACUnavailable or GSIACTemporarilyUnavailable, do NOT
|
||
|
// continue to use the GameSpy SDKs. the backend services are not available
|
||
|
// for the game. in this case, you can show the user a
|
||
|
// message based on the particular result.
|
||
|
GSIACResult GSIAvailableCheckThink(void);
|
||
|
|
||
|
// this should only be used if the availability check needs to be aborted
|
||
|
// for example, if the player leaves the game's multiplayer area before the check completes
|
||
|
void GSICancelAvailableCheck(void);
|
||
|
|
||
|
// internal use only
|
||
|
extern GSIACResult __GSIACResult;
|
||
|
extern char __GSIACGamename[64];
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif
|