From 275fb011af783f94e22632bd6648d3c72b3d6753 Mon Sep 17 00:00:00 2001 From: Michael 'Mickey' Lauer Date: Wed, 21 Jan 2009 14:47:54 +0100 Subject: [PATCH] return error message, if all channels are allocated --- src/muxercontrol.c | 8 +++++--- src/muxercontrol.h | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/muxercontrol.c b/src/muxercontrol.c index fee4d84..9e8400f 100644 --- a/src/muxercontrol.c +++ b/src/muxercontrol.c @@ -53,14 +53,16 @@ gboolean muxer_control_get_power (MuxerControl* self, const char* origin, gboole } -gboolean muxer_control_alloc_channel (MuxerControl* self, const char* origin, const char* channel) { +gboolean muxer_control_alloc_channel (MuxerControl* self, const char* origin, const char* channel, GError** error) { g_return_val_if_fail (IS_MUXER_CONTROL (self), FALSE); g_return_val_if_fail (origin != NULL, FALSE); g_return_val_if_fail (channel != NULL, FALSE); - return c_alloc_channel (origin, channel); + gboolean success = c_alloc_channel (origin, channel); + if (!success) + g_set_error( error, DBUS_GERROR, 0xdeadbeef, "org.freesmartphone.GSM.MUX.NoChannel", "All channels are used" ); + return success; } - MuxerControl* muxer_control_gen (void) { return muxer_control_new (); } diff --git a/src/muxercontrol.h b/src/muxercontrol.h index 37d3f8d..6804f1d 100644 --- a/src/muxercontrol.h +++ b/src/muxercontrol.h @@ -40,7 +40,7 @@ void muxer_control_run (MuxerControl* self); gboolean muxer_control_reset_modem (MuxerControl* self, const char* origin); gboolean muxer_control_set_power (MuxerControl* self, const char* origin, gboolean on); gboolean muxer_control_get_power (MuxerControl* self, const char* origin, gboolean on); -gboolean muxer_control_alloc_channel (MuxerControl* self, const char* origin, const char* channel); +gboolean muxer_control_alloc_channel (MuxerControl* self, const char* origin, const char* channel, GError** error); MuxerControl* muxer_control_gen (void); MuxerControl* muxer_control_new (void); GType muxer_control_get_type (void); -- 2.39.5