Skip to content

Commit 73080fd

Browse files
ceyusaaperezdc
authored andcommitted
gamepad: API clean ups.
* Use const on callback structures from WebKit and application * Change int type for gamepad identifies to uintptr_t thus transparent hash tables among different archs can be used.
1 parent d8b7324 commit 73080fd

File tree

2 files changed

+24
-23
lines changed

2 files changed

+24
-23
lines changed

include/wpe/gamepad.h

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,8 @@ struct wpe_gamepad_provider;
119119
* Since: 1.14
120120
*/
121121
struct wpe_gamepad_provider_client_interface {
122-
void (*connected)(void*, unsigned);
123-
void (*disconnected)(void*, unsigned);
122+
void (*connected)(void*, uintptr_t);
123+
void (*disconnected)(void*, uintptr_t);
124124

125125
/*< private >*/
126126
void (*_wpe_reserved1)(void);
@@ -183,7 +183,7 @@ struct wpe_gamepad_provider_interface {
183183
* Since: 1.14
184184
*/
185185
struct wpe_gamepad_interface {
186-
void* (*create)(struct wpe_gamepad*, struct wpe_gamepad_provider*, unsigned);
186+
void* (*create)(struct wpe_gamepad*, struct wpe_gamepad_provider*, uintptr_t);
187187
void (*destroy)(void*);
188188
const char* (*get_id)(void*);
189189

@@ -229,8 +229,9 @@ void wpe_gamepad_provider_destroy(struct wpe_gamepad_provider*);
229229
* Since: 1.14
230230
*/
231231
WPE_EXPORT
232-
void
233-
wpe_gamepad_provider_set_client(struct wpe_gamepad_provider*, struct wpe_gamepad_provider_client_interface*, void*);
232+
void wpe_gamepad_provider_set_client(struct wpe_gamepad_provider*,
233+
const struct wpe_gamepad_provider_client_interface*,
234+
void*);
234235

235236
/**
236237
* wpe_gamepad_provider_start:
@@ -292,7 +293,7 @@ struct wpe_view_backend* wpe_gamepad_provider_get_view_backend(struct wpe_gamepa
292293
* Since: 1.14
293294
*/
294295
WPE_EXPORT
295-
void wpe_gamepad_provider_dispatch_gamepad_connected(struct wpe_gamepad_provider*, unsigned);
296+
void wpe_gamepad_provider_dispatch_gamepad_connected(struct wpe_gamepad_provider*, uintptr_t);
296297

297298
/**
298299
* wpe_gamepad_provider_dispatch_gamepad_disconnected:
@@ -305,7 +306,7 @@ void wpe_gamepad_provider_dispatch_gamepad_connected(struct wpe_gamepad_provider
305306
* Since: 1.14
306307
*/
307308
WPE_EXPORT
308-
void wpe_gamepad_provider_dispatch_gamepad_disconnected(struct wpe_gamepad_provider*, unsigned);
309+
void wpe_gamepad_provider_dispatch_gamepad_disconnected(struct wpe_gamepad_provider*, uintptr_t);
309310

310311
/**
311312
* wpe_gamepad_create:
@@ -319,7 +320,7 @@ void wpe_gamepad_provider_dispatch_gamepad_disconnected(struct wpe_gamepad_provi
319320
* Since: 1.14
320321
*/
321322
WPE_EXPORT
322-
struct wpe_gamepad* wpe_gamepad_create(struct wpe_gamepad_provider*, unsigned);
323+
struct wpe_gamepad* wpe_gamepad_create(struct wpe_gamepad_provider*, uintptr_t);
323324

324325
/**
325326
* wpe_gamepad_destroy:
@@ -344,7 +345,7 @@ void wpe_gamepad_destroy(struct wpe_gamepad*);
344345
* Since: 1.14
345346
*/
346347
WPE_EXPORT
347-
void wpe_gamepad_set_client(struct wpe_gamepad*, struct wpe_gamepad_client_interface*, void*);
348+
void wpe_gamepad_set_client(struct wpe_gamepad*, const struct wpe_gamepad_client_interface*, void*);
348349

349350
/**
350351
* wpe_gamepad_get_id:
@@ -399,7 +400,7 @@ void wpe_gamepad_dispatch_axis_changed(struct wpe_gamepad*, enum wpe_gamepad_axi
399400
* Since: 1.14
400401
*/
401402
WPE_EXPORT
402-
void wpe_gamepad_set_handler(struct wpe_gamepad_provider_interface*, struct wpe_gamepad_interface*);
403+
void wpe_gamepad_set_handler(const struct wpe_gamepad_provider_interface*, const struct wpe_gamepad_interface*);
403404

404405
#ifdef __cplusplus
405406
}

src/gamepad.c

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ struct wpe_gamepad {
3535
void* client_data;
3636
};
3737

38-
static struct wpe_gamepad_provider_interface* provider_interface = NULL;
39-
static struct wpe_gamepad_interface* gamepad_interface = NULL;
38+
static const struct wpe_gamepad_provider_interface* provider_interface = NULL;
39+
static const struct wpe_gamepad_interface* gamepad_interface = NULL;
4040

4141
struct wpe_gamepad_provider*
4242
wpe_gamepad_provider_create(void)
@@ -63,9 +63,9 @@ wpe_gamepad_provider_destroy(struct wpe_gamepad_provider* provider)
6363
}
6464

6565
void
66-
wpe_gamepad_provider_set_client(struct wpe_gamepad_provider* provider,
67-
struct wpe_gamepad_provider_client_interface* client_interface,
68-
void* client_data)
66+
wpe_gamepad_provider_set_client(struct wpe_gamepad_provider* provider,
67+
const struct wpe_gamepad_provider_client_interface* client_interface,
68+
void* client_data)
6969
{
7070
if (!provider)
7171
return;
@@ -105,21 +105,21 @@ wpe_gamepad_provider_get_view_backend(struct wpe_gamepad_provider* provider, str
105105
}
106106

107107
void
108-
wpe_gamepad_provider_dispatch_gamepad_connected(struct wpe_gamepad_provider* provider, unsigned gamepad_id)
108+
wpe_gamepad_provider_dispatch_gamepad_connected(struct wpe_gamepad_provider* provider, uintptr_t gamepad_id)
109109
{
110110
if (provider && provider->client_interface && provider->client_interface->connected)
111111
provider->client_interface->connected(provider->client_data, gamepad_id);
112112
}
113113

114114
void
115-
wpe_gamepad_provider_dispatch_gamepad_disconnected(struct wpe_gamepad_provider* provider, unsigned gamepad_id)
115+
wpe_gamepad_provider_dispatch_gamepad_disconnected(struct wpe_gamepad_provider* provider, uintptr_t gamepad_id)
116116
{
117117
if (provider && provider->client_interface && provider->client_interface->disconnected)
118118
provider->client_interface->disconnected(provider->client_data, gamepad_id);
119119
}
120120

121121
struct wpe_gamepad*
122-
wpe_gamepad_create(struct wpe_gamepad_provider* provider, unsigned gamepad_id)
122+
wpe_gamepad_create(struct wpe_gamepad_provider* provider, uintptr_t gamepad_id)
123123
{
124124
if (!gamepad_interface)
125125
return NULL;
@@ -143,9 +143,9 @@ wpe_gamepad_destroy(struct wpe_gamepad* gamepad)
143143
}
144144

145145
void
146-
wpe_gamepad_set_client(struct wpe_gamepad* gamepad,
147-
struct wpe_gamepad_client_interface* client_interface,
148-
void* client_data)
146+
wpe_gamepad_set_client(struct wpe_gamepad* gamepad,
147+
const struct wpe_gamepad_client_interface* client_interface,
148+
void* client_data)
149149
{
150150
if (gamepad) {
151151
gamepad->client_interface = client_interface;
@@ -176,8 +176,8 @@ wpe_gamepad_dispatch_axis_changed(struct wpe_gamepad* gamepad, enum wpe_gamepad_
176176
}
177177

178178
void
179-
wpe_gamepad_set_handler(struct wpe_gamepad_provider_interface* provider_iface,
180-
struct wpe_gamepad_interface* gamepad_iface)
179+
wpe_gamepad_set_handler(const struct wpe_gamepad_provider_interface* provider_iface,
180+
const struct wpe_gamepad_interface* gamepad_iface)
181181
{
182182
if (provider_iface && !provider_interface && gamepad_iface && !gamepad_interface) {
183183
provider_interface = provider_iface;

0 commit comments

Comments
 (0)