aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorXavier Del Campo Romero <xavi.dcr@tutanota.com>2022-09-21 18:27:58 +0200
committerXavier Del Campo Romero <xavi.dcr@tutanota.com>2022-09-21 18:27:58 +0200
commit22e89e8a409703dc64fa23b3fdc6975ef5fd04f5 (patch)
treeab5b0df555de1dc2690a5c95f2e865a2c86fab06 /src
parent8fd167bebf94605cd095212bacff39c98a43c480 (diff)
net: Group events into struct
Diffstat (limited to 'src')
-rw-r--r--src/menu/src/join_menu.c9
-rw-r--r--src/net/inc/net.h10
-rw-r--r--src/net/src/enet/ipv4.c18
3 files changed, 21 insertions, 16 deletions
diff --git a/src/menu/src/join_menu.c b/src/menu/src/join_menu.c
index 40b0f4e..d6c7156 100644
--- a/src/menu/src/join_menu.c
+++ b/src/menu/src/join_menu.c
@@ -68,9 +68,12 @@ static int on_connect(struct join_menu *const m)
.common =
{
.domain = d,
- .on_connected = on_connected,
- .on_disconnected = on_disconnected,
- .arg = m
+ .ev =
+ {
+ .connected = on_connected,
+ .disconnected = on_disconnected,
+ .arg = m
+ }
}
};
diff --git a/src/net/inc/net.h b/src/net/inc/net.h
index cdfeb0e..8359cda 100644
--- a/src/net/inc/net.h
+++ b/src/net/inc/net.h
@@ -15,9 +15,13 @@ union net_connect
struct net_connect_common
{
enum net_domain domain;
- void (*on_connected)(void *arg);
- void (*on_disconnected)(void *arg);
- void *arg;
+
+ struct net_connect_ev
+ {
+ void (*connected)(void *arg);
+ void (*disconnected)(void *arg);
+ void *arg;
+ } ev;
} common;
struct net_connect_ipv4
diff --git a/src/net/src/enet/ipv4.c b/src/net/src/enet/ipv4.c
index 16786cc..86d1697 100644
--- a/src/net/src/enet/ipv4.c
+++ b/src/net/src/enet/ipv4.c
@@ -9,9 +9,7 @@ struct net_socket_domain
{
ENetHost *host;
ENetPeer *peers;
- void (*on_connected)(void *arg);
- void (*on_disconnected)(void *arg);
- void *arg;
+ struct net_connect_ev ev;
};
enum
@@ -27,9 +25,7 @@ struct net_socket_domain *net_connect_ipv4(const union net_connect *const c)
if (!s)
goto failure;
- s->on_connected = c->common.on_connected;
- s->on_disconnected = c->common.on_disconnected;
- s->arg = c->common.arg;
+ s->ev = c->common.ev;
s->host = enet_host_create(NULL, 1, MAX_CHANNELS, 0, 0);
if (!s->host)
@@ -96,14 +92,16 @@ int net_update_ipv4(struct net_socket_domain *const s)
switch (ev.type)
{
case ENET_EVENT_TYPE_CONNECT:
- if (s->on_connected)
- s->on_connected(s->arg);
+ if (s->ev.connected)
+ s->ev.connected(s->ev.arg);
break;
case ENET_EVENT_TYPE_DISCONNECT:
- if (s->on_disconnected)
- s->on_disconnected(s->arg);
+ if (s->ev.disconnected)
+ s->ev.disconnected(s->ev.arg);
+
+ break;
case ENET_EVENT_TYPE_RECEIVE:
break;