code: def filter_properties_signals(f, signal_iface_name):
      
      @wraps(f)
      def wrapper(iface, changed_props, invalidated_props, *args, **kwargs):
          if iface == signal_iface_name:
              f(changed_props, invalidated_props)
  
      return wrapper
docs: Filters signals by iface name.
  
      :param function f: function to wrap.
      :param str signal_iface_name: interface name.