def parse_methsig(e, m)
      e.each("arg") do |ae|
        name = ae["name"]
        dir = ae["direction"]
        sig = ae["type"]
        if m.is_a?(DBus::Signal)
          # Direction can only be "out", ignore it
          m.add_fparam(name, sig)
        elsif m.is_a?(DBus::Method)
          case dir
          # This is a method, so dir defaults to "in"
          when "in", nil
            m.add_fparam(name, sig)
          when "out"
            m.add_return(name, sig)
          end
        else
          raise NotImplementedError, dir
        end
      end
    end
def parse_methsig(e, m)
      e.each("arg") do |ae|
        name = ae["name"]
        dir = ae["direction"]
        sig = ae["type"]
        if m.is_a?(DBus::Signal)
          # Direction can only be "out", ignore it
          m.add_fparam(name, sig)
        elsif m.is_a?(DBus::Method)
          case dir
          # This is a method, so dir defaults to "in"
          when "in", nil
            m.add_fparam(name, sig)
          when "out"
            m.add_return(name, sig)
          end
        else
          raise NotImplementedError, dir
        end
      end
    end
Parses a method signature XML element _e_ and initialises
 method/signal _m_.