]> git.neil.brown.name Git - gsm0710muxd.git/commitdiff
return error message, if all channels are allocated
authorMichael 'Mickey' Lauer <mickey@vanille-media.de>
Wed, 21 Jan 2009 13:47:54 +0000 (14:47 +0100)
committerMichael 'Mickey' Lauer <mickey@vanille-media.de>
Wed, 21 Jan 2009 13:47:54 +0000 (14:47 +0100)
src/muxercontrol.c
src/muxercontrol.h

index fee4d842273c364d6cee46f46c9a8a002e99f537..9e8400f953d387448a23515204e0bacbd28eefa4 100644 (file)
@@ -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 ();
 }
index 37d3f8d67e10236073761558711114596140ba4c..6804f1db3f95a3815c8c34696f429af463e27664 100644 (file)
@@ -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);