1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
|
/*
gpiCallback.h
GameSpy Presence SDK
Dan "Mr. Pants" Schoenblum
Copyright 1999-2007 GameSpy Industries, Inc
devsupport@gamespy.com
***********************************************************************
Please see the GameSpy Presence SDK documentation for more information
**********************************************************************/
#ifndef _GPICALLBACK_H_
#define _GPICALLBACK_H_
//INCLUDES
//////////
#include "gpi.h"
//DEFINES
/////////
// Unsolicited Callbacks.
/////////////////////////
enum GPICallbackId
{
GPI_ERROR = GP_ERROR,
GPI_RECV_BUDDY_REQUEST = GP_RECV_BUDDY_REQUEST,
GPI_RECV_BUDDY_STATUS = GP_RECV_BUDDY_STATUS,
GPI_RECV_BUDDY_MESSAGE = GP_RECV_BUDDY_MESSAGE,
GPI_RECV_BUDDY_UTM = GP_RECV_BUDDY_UTM,
GPI_RECV_GAME_INVITE = GP_RECV_GAME_INVITE,
GPI_TRANSFER_CALLBACK = GP_TRANSFER_CALLBACK,
GPI_RECV_BUDDY_AUTH = GP_RECV_BUDDY_AUTH,
GPI_RECV_BUDDY_REVOKE = GP_RECV_BUDDY_REVOKE,
GPI_NUM_CALLBACKS
};
// Add type - not 0 only for a few.
///////////////////////////////////
enum GPIAddCallbackType
{
GPI_ADD_NORMAL,
GPI_ADD_ERROR,
GPI_ADD_MESSAGE,
GPI_ADD_NICKS,
GPI_ADD_PMATCH,
GPI_ADD_STATUS,
GPI_ADD_BUDDDYREQUEST,
GPI_ADD_TRANSFER_CALLBACK,
GPI_ADD_REVERSE_BUDDIES,
GPI_ADD_SUGGESTED_UNIQUE,
GPI_ADD_BUDDYAUTH,
GPI_ADD_BUDDYUTM,
GPI_ADD_BUDDYREVOKE,
GPI_ADD_REVERSE_BUDDIES_LIST,
GPI_ADD_BUDDYKEYS,
GPI_NUM_ADD_CALLBACK_TYPES
};
//TYPES
///////
// A Callback.
//////////////
typedef struct
{
GPCallback callback;
void * param;
} GPICallback;
// Data for a pending callback.
///////////////////////////////
typedef struct GPICallbackData
{
GPICallback callback;
void * arg;
int type;
int operationID;
struct GPICallbackData * pnext;
} GPICallbackData;
//FUNCTIONS
///////////
void
gpiCallErrorCallback(
GPConnection * connection,
GPResult result,
GPEnum fatal
);
typedef struct GPIOperation_s *GPIOperation_st;
GPResult
gpiAddCallback(
GPConnection * connection,
GPICallback callback,
void * arg,
const struct GPIOperation_s * operation,
int type
);
GPResult
gpiProcessCallbacks(
GPConnection * connection,
int blockingOperationID
);
#endif
|