File: gpiCallback.h

package info (click to toggle)
openmohaa 0.81.1%2Bdfsg-2
  • links: PTS, VCS
  • area: contrib
  • in suites: trixie
  • size: 29,124 kB
  • sloc: ansic: 270,865; cpp: 250,173; sh: 234; asm: 141; xml: 64; makefile: 7
file content (109 lines) | stat: -rw-r--r-- 2,254 bytes parent folder | download | duplicates (2)
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