summaryrefslogtreecommitdiff
path: root/modules/gdnative/include
diff options
context:
space:
mode:
authorFabio Alessandrelli <fabio.alessandrelli@gmail.com>2018-11-20 10:58:56 +0100
committerFabio Alessandrelli <fabio.alessandrelli@gmail.com>2019-04-12 18:51:24 +0200
commit320960cd327e087f457fe4d697b401d5bf71fb95 (patch)
treedd5b94262ec3228717afa40c07aa4f683916fd2c /modules/gdnative/include
parent7c17e31a55e4ee6a6103bd11a076f9145f9b1db9 (diff)
Add WebRTC GDNative interface
Diffstat (limited to 'modules/gdnative/include')
-rw-r--r--modules/gdnative/include/net/godot_net.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/modules/gdnative/include/net/godot_net.h b/modules/gdnative/include/net/godot_net.h
index d7de04e725..c1bc9daab5 100644
--- a/modules/gdnative/include/net/godot_net.h
+++ b/modules/gdnative/include/net/godot_net.h
@@ -111,6 +111,35 @@ typedef struct {
/* Binds a MultiplayerPeerGDNative to the provided interface */
void GDAPI godot_net_bind_multiplayer_peer(godot_object *p_obj, const godot_net_multiplayer_peer *);
+typedef struct {
+ godot_gdnative_api_version version; /* version of our API */
+
+ godot_object *data; /* User reference */
+
+ /* This is PacketPeer */
+ godot_error (*get_packet)(void *, const uint8_t **, int *);
+ godot_error (*put_packet)(void *, const uint8_t *, int);
+ godot_int (*get_available_packet_count)(const void *);
+ godot_int (*get_max_packet_size)(const void *);
+
+ /* This is WebRTCPeer */
+ void (*set_write_mode)(void *, godot_int);
+ godot_int (*get_write_mode)(const void *);
+ bool (*was_string_packet)(const void *);
+ godot_int (*get_connection_state)(const void *);
+
+ godot_error (*create_offer)(void *);
+ godot_error (*set_remote_description)(void *, const char *, const char *);
+ godot_error (*set_local_description)(void *, const char *, const char *);
+ godot_error (*add_ice_candidate)(void *, const char *, int, const char *);
+ godot_error (*poll)(void *);
+
+ void *next; /* For extension? */
+} godot_net_webrtc_peer;
+
+/* Binds a PacketPeerGDNative to the provided interface */
+void GDAPI godot_net_bind_webrtc_peer(godot_object *p_obj, const godot_net_webrtc_peer *);
+
#ifdef __cplusplus
}
#endif