From 1a3ffd12000a50845ebeb06b14663304169305c9 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Tue, 19 Apr 2011 21:09:44 +0200 Subject: digital/avr/modules/host: add mex connection query, refs #157 --- digital/avr/modules/host/mex.h | 4 ++++ digital/avr/modules/host/mex.host.c | 7 +++++++ digital/avr/modules/host/test/test_mex.c | 2 ++ 3 files changed, 13 insertions(+) (limited to 'digital/avr') diff --git a/digital/avr/modules/host/mex.h b/digital/avr/modules/host/mex.h index 82e65103..78e1368d 100644 --- a/digital/avr/modules/host/mex.h +++ b/digital/avr/modules/host/mex.h @@ -90,6 +90,10 @@ mex_msg_mtype (mex_msg_t *msg); void mex_node_connect (void); +/** Query connection status, returns 0 if not connected. */ +int +mex_node_connected (void); + /** Close connection. */ void mex_node_close (void); diff --git a/digital/avr/modules/host/mex.host.c b/digital/avr/modules/host/mex.host.c index 8921cadd..349ee3b6 100644 --- a/digital/avr/modules/host/mex.host.c +++ b/digital/avr/modules/host/mex.host.c @@ -395,6 +395,13 @@ mex_node_connect (void) } } +/** Query connection status, returns 0 if not connected. */ +int +mex_node_connected (void) +{ + return mex_node_global.socket != -1; +} + /** Close connection. */ void mex_node_close (void) diff --git a/digital/avr/modules/host/test/test_mex.c b/digital/avr/modules/host/test/test_mex.c index e79e6f68..7d4badad 100644 --- a/digital/avr/modules/host/test/test_mex.c +++ b/digital/avr/modules/host/test/test_mex.c @@ -68,7 +68,9 @@ main (int argc, char **argv) fprintf (stderr, "%s 1|2\n", argv[0]); return 1; } + assert (!mex_node_connected ()); mex_node_connect (); + assert (mex_node_connected ()); mtype_coucou1 = mex_node_reservef ("%s%d", "coucou", 1); mtype_coucou2 = mex_node_reservef ("%s%d", "coucou", 2); mtype_oucouc = mex_node_reserve ("oucouc"); -- cgit v1.2.3