On Thu, 2014-02-13 at 11:17 -0500, Dan Winship wrote:
> sure. The "unknown object type" one always annoys me...

Pushed.

Dan

> 
> On 02/06/2014 05:51 AM, Dan Williams wrote:
> > Most of these warnings are things libnm-glib can't do anything
> > about, and they are pretty annoying when running nmcli or nmtui,
> > and libraries usually shouldn't print random warnings anyway.
> > Downgrade them to debug messages that can be enabled if we need
> > to see them.
> > ---
> >  libnm-glib/nm-object.c | 77 
> > +++++++++++++++++++++++---------------------------
> >  1 file changed, 36 insertions(+), 41 deletions(-)
> > 
> > diff --git a/libnm-glib/nm-object.c b/libnm-glib/nm-object.c
> > index 497f6c3..2fbc4f1 100644
> > --- a/libnm-glib/nm-object.c
> > +++ b/libnm-glib/nm-object.c
> > @@ -150,15 +150,15 @@ constructor (GType type,
> >     object = G_OBJECT_CLASS (nm_object_parent_class)->constructor (type,
> >                                                                    
> > n_construct_params,
> >                                                                    
> > construct_params);
> >  
> >     priv = NM_OBJECT_GET_PRIVATE (object);
> >  
> >     if (priv->connection == NULL || priv->path == NULL) {
> > -           g_warning ("%s: bus connection and path required.", __func__);
> > +           g_warn_if_reached ();
> >             g_object_unref (object);
> >             return NULL;
> >     }
> >  
> >     _nm_object_cache_add (NM_OBJECT (object));
> >  
> >     return object;
> > @@ -566,27 +566,26 @@ _nm_object_create (GType type, DBusGConnection 
> > *connection, const char *path)
> >     GError *error = NULL;
> >  
> >     type_func = g_hash_table_lookup (type_funcs, GSIZE_TO_POINTER (type));
> >     if (type_func)
> >             type = type_func (connection, path);
> >  
> >     if (type == G_TYPE_INVALID) {
> > -           g_warning ("Could not create object for %s: unknown object 
> > type", path);
> > +           dbgmsg ("Could not create object for %s: unknown object type", 
> > path);
> >             return NULL;
> >     }
> >  
> >     object = g_object_new (type,
> >                            NM_OBJECT_DBUS_CONNECTION, connection,
> >                            NM_OBJECT_DBUS_PATH, path,
> >                            NULL);
> >     if (!g_initable_init (G_INITABLE (object), NULL, &error)) {
> > -           g_object_unref (object);
> > -           object = NULL;
> > -           g_warning ("Could not create object for %s: %s", path, 
> > error->message);
> > +           dbgmsg ("Could not create object for %s: %s", path, 
> > error->message);
> >             g_error_free (error);
> > +           g_clear_object (&object);
> >     }
> >  
> >     return object;
> >  }
> >  
> >  typedef void (*NMObjectCreateCallbackFunc) (GObject *, const char *, 
> > gpointer);
> >  typedef struct {
> > @@ -620,21 +619,19 @@ static void
> >  async_inited (GObject *source, GAsyncResult *result, gpointer user_data)
> >  {
> >     NMObjectTypeAsyncData *async_data = user_data;
> >     GObject *object = G_OBJECT (source);
> >     GError *error = NULL;
> >  
> >     if (!g_async_initable_init_finish (G_ASYNC_INITABLE (object), result, 
> > &error)) {
> > -           if (!g_error_matches (error, DBUS_GERROR, 
> > DBUS_GERROR_UNKNOWN_METHOD)) {
> > -                   g_warning ("Could not create object for %s: %s",
> > -                              nm_object_or_connection_get_path (object), 
> > error->message);
> > -           }
> > +           dbgmsg ("Could not create object for %s: %s",
> > +                   nm_object_or_connection_get_path (object),
> > +                   error->message);
> >             g_error_free (error);
> > -           g_object_unref (object);
> > -           object = NULL;
> > +           g_clear_object (&object);
> >     }
> >  
> >     create_async_complete (object, async_data);
> >  }
> >  
> >  static void
> >  async_got_type (GType type, gpointer user_data)
> > @@ -1024,18 +1021,18 @@ handle_property_changed (NMObject *self, const char 
> > *dbus_name, GValue *value, g
> >     if (!found) {
> >             dbgmsg ("Property '%s' unhandled.", prop_name);
> >             goto out;
> >     }
> >  
> >     pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (G_OBJECT 
> > (self)), prop_name);
> >     if (!pspec) {
> > -           g_warning ("%s: property '%s' changed but wasn't defined by 
> > object type %s.",
> > -                      __func__,
> > -                      prop_name,
> > -                      G_OBJECT_TYPE_NAME (self));
> > +           dbgmsg ("%s: property '%s' changed but wasn't defined by object 
> > type %s.",
> > +                   __func__,
> > +                   prop_name,
> > +                   G_OBJECT_TYPE_NAME (self));
> >             goto out;
> >     }
> >  
> >     if (G_UNLIKELY (debug)) {
> >             char *s;
> >             s = g_strdup_value_contents (value);
> >             dbgmsg ("PC: (%p) %s::%s => '%s' (%s%s%s)",
> > @@ -1057,18 +1054,18 @@ handle_property_changed (NMObject *self, const char 
> > *dbus_name, GValue *value, g
> >                     g_warn_if_reached ();
> >                     goto out;
> >             }
> >     } else
> >             success = (*(pi->func)) (self, pspec, value, pi->field);
> >  
> >     if (!success) {
> > -           g_warning ("%s: failed to update property '%s' of object type 
> > %s.",
> > -                      __func__,
> > -                      prop_name,
> > -                      G_OBJECT_TYPE_NAME (self));
> > +           dbgmsg ("%s: failed to update property '%s' of object type %s.",
> > +                   __func__,
> > +                   prop_name,
> > +                   G_OBJECT_TYPE_NAME (self));
> >     }
> >  
> >  out:
> >     g_free (prop_name);
> >  }
> >  
> >  static void
> > @@ -1082,16 +1079,16 @@ process_properties_changed (NMObject *self, 
> > GHashTable *properties, gboolean syn
> >             return;
> >  
> >     g_hash_table_iter_init (&iter, properties);
> >     while (g_hash_table_iter_next (&iter, &name, &value)) {
> >             if (value)
> >                     handle_property_changed (self, name, value, 
> > synchronously);
> >             else {
> > -                   g_warning ("%s:%d %s(): object %s property '%s' value 
> > is unexpectedly NULL",
> > -                              __FILE__, __LINE__, __func__, 
> > G_OBJECT_TYPE_NAME (self), (const char *) name);
> > +                   dbgmsg ("%s:%d %s(): object %s property '%s' value is 
> > unexpectedly NULL",
> > +                           __FILE__, __LINE__, __func__, 
> > G_OBJECT_TYPE_NAME (self), (const char *) name);
> >             }
> >     }
> >  }
> >  
> >  static void
> >  properties_changed_proxy (DBusGProxy *proxy,
> >                            GHashTable *properties,
> > @@ -1143,27 +1140,29 @@ demarshal_generic (NMObject *object,
> >     HANDLE_TYPE(INT, int, int)
> >     HANDLE_TYPE(UINT, uint, uint)
> >     HANDLE_TYPE(INT64, int, int)
> >     HANDLE_TYPE(UINT64, uint, uint)
> >     HANDLE_TYPE(LONG, long, long)
> >     HANDLE_TYPE(ULONG, ulong, ulong)
> >     } else {
> > -           g_warning ("%s: %s/%s unhandled type %s.",
> > -                      __func__, G_OBJECT_TYPE_NAME (object), pspec->name,
> > -                      g_type_name (pspec->value_type));
> > +           dbgmsg ("%s: %s/%s unhandled type %s.",
> > +                   __func__,
> > +                   G_OBJECT_TYPE_NAME (object),
> > +                   pspec->name,
> > +                   g_type_name (pspec->value_type));
> >             success = FALSE;
> >     }
> >  
> >  done:
> >     if (success) {
> >             _nm_object_queue_notify (object, pspec->name);
> >     } else {
> > -           g_warning ("%s: %s/%s (type %s) couldn't be set with type %s.",
> > -                      __func__, G_OBJECT_TYPE_NAME (object), pspec->name,
> > -                      g_type_name (pspec->value_type), G_VALUE_TYPE_NAME 
> > (value));
> > +           dbgmsg ("%s: %s/%s (type %s) couldn't be set with type %s.",
> > +                   __func__, G_OBJECT_TYPE_NAME (object), pspec->name,
> > +                   g_type_name (pspec->value_type), G_VALUE_TYPE_NAME 
> > (value));
> >     }
> >     return success;
> >  }
> >  
> >  void
> >  _nm_object_register_properties (NMObject *object,
> >                                  DBusGProxy *proxy,
> > @@ -1254,17 +1253,18 @@ void
> >  _nm_object_ensure_inited (NMObject *object)
> >  {
> >     NMObjectPrivate *priv = NM_OBJECT_GET_PRIVATE (object);
> >     GError *error = NULL;
> >  
> >     if (!priv->inited) {
> >             if (!g_initable_init (G_INITABLE (object), NULL, &error)) {
> > -                   g_warning ("Could not initialize %s %s: %s",
> > -                              G_OBJECT_TYPE_NAME (object), priv->path,
> > -                              error->message);
> > +                   dbgmsg ("Could not initialize %s %s: %s",
> > +                           G_OBJECT_TYPE_NAME (object),
> > +                           priv->path,
> > +                           error->message);
> >                     g_error_free (error);
> >  
> >                     /* Only warn once */
> >                     priv->inited = TRUE;
> >             }
> >     }
> >  }
> > @@ -1287,25 +1287,20 @@ _nm_object_reload_property (NMObject *object,
> >     if (!dbus_g_proxy_call_with_timeout (NM_OBJECT_GET_PRIVATE 
> > (object)->properties_proxy,
> >                                          "Get", 15000, &err,
> >                                          G_TYPE_STRING, interface,
> >                                          G_TYPE_STRING, prop_name,
> >                                          G_TYPE_INVALID,
> >                                          G_TYPE_VALUE, &value,
> >                                          G_TYPE_INVALID)) {
> > -           /* Don't warn about D-Bus no reply/timeout errors; it's mostly 
> > noise and
> > -            * happens for example when NM quits and the applet is still 
> > running.
> > -            */
> > -           if (!g_error_matches (err, DBUS_GERROR, DBUS_GERROR_NO_REPLY)) {
> > -                   g_warning ("%s: Error getting '%s' for %s: (%d) %s\n",
> > -                              __func__,
> > -                              prop_name,
> > -                              nm_object_get_path (object),
> > -                              err->code,
> > -                              err->message);
> > -           }
> > +           dbgmsg ("%s: Error getting '%s' for %s: (%d) %s\n",
> > +                   __func__,
> > +                   prop_name,
> > +                   nm_object_get_path (object),
> > +                   err->code,
> > +                   err->message);
> >             g_clear_error (&err);
> >             return;
> >     }
> >  
> >     handle_property_changed (object, prop_name, &value, TRUE);
> >     g_value_unset (&value);
> >  }
> > 


_______________________________________________
networkmanager-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to