]> git.neil.brown.name Git - gsm0710muxd.git/commitdiff
send org.freesmartphone.GSM.MUX.NoChannel, if AllocChannel fails
authorMichael 'Mickey' Lauer <mickey@vanille-media.de>
Wed, 21 Jan 2009 14:46:10 +0000 (15:46 +0100)
committerMichael 'Mickey' Lauer <mickey@vanille-media.de>
Wed, 21 Jan 2009 14:46:10 +0000 (15:46 +0100)
ChangeLog
src/muxercontrol.c

index 39df86c99d7470ee26d502b5bfd3622c3c9b2072..6815a4afe0e65f1d84b11ff2f225cf96ce6889d1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2009-01-21     Michael Lauer   <mlauer@vanille-media.de>
+
+       * Send org.freesmartphone.MUX.NoChannel, if we AllocChannel fails
+       * Bring back closing the device after mainloop quits
+       * Release as 0.9.3
+
+2009-01-21     Paul Fertser    <fercerpav@gmail.com>
+
+       * 0001-Implement-proper-channel-allocation-and-dealloction.patch
+
 2009-01-10     Michael Lauer   <mlauer@vanille-media.de>
 
        * Release as 0.9.2.2
index 9e8400f953d387448a23515204e0bacbd28eefa4..b0b6289f32f984980c2f39587d4fe5947ae26fe2 100644 (file)
 
 
 
+enum {
+       MUXER_ALLOC_ERROR
+} MuxerError;
+
+#define MUXER_ERROR ( muxer_error_quark() )
+#define MUXER_ERROR_TYPE ( muxer_error_get_type() )
+
+#define ENUM_ENTRY(NAME, DESC) { NAME, "" #NAME "", DESC }
+
+static GQuark muxer_error_quark(void)
+{
+       static GQuark quark = 0;
+       if (!quark)
+               quark = g_quark_from_static_string("muxer");
+
+       return quark;
+}
+
+static GType muxer_error_get_type(void)
+{
+       static GType etype = 0;
+       if (etype == 0) {
+               static const GEnumValue values[] = {
+                       ENUM_ENTRY(MUXER_ALLOC_ERROR, "NoChannel"),
+                       { 0, 0, 0 }
+               };
+
+               etype = g_enum_register_static("muxer", values);
+       }
+
+return etype;
+}
+
 
 enum  {
        MUXER_CONTROL_DUMMY_PROPERTY
@@ -59,11 +92,12 @@ gboolean muxer_control_alloc_channel (MuxerControl* self, const char* origin, co
        g_return_val_if_fail (channel != NULL, FALSE);
        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" );
+               g_set_error( error, MUXER_ERROR, MUXER_ALLOC_ERROR, "All channels are used" );
        return success;
 }
 
 MuxerControl* muxer_control_gen (void) {
+       dbus_g_error_domain_register(MUXER_ERROR, "org.freesmartphone.GSM.MUX", MUXER_ERROR_TYPE);
        return muxer_control_new ();
 }