nalin / oddjob

Forked from oddjob 7 years ago
Clone

7c46a27 Improve matching against defined services

Authored and Committed by nalin 8 years ago
    Improve matching against defined services
    
    We're seeing the dbus-python binding resolve our well-known name to a
    unique address and then sending requests to us using that.  Because we
    compare the destination address in the request against the names of the
    multiple services we're supplying in order to route the message, that
    failed.
    
    If we don't match in that way, look for any service with an object that
    matches the requested path, and which supplies the requested method
    name, and interface if provided.  If we can find one unambiguously,
    assume that service name.
    
    If that doesn't work well enough, we'll have to switch to opening and
    managing multiple connections to the bus, which would be more
    complicated.
    
    While we're in here, adjust the logic for cases where no interface name
    is provided, so that instead of assuming the first interface, try to
    look for one which supplies the requested method, again succeeding only
    when we find exactly one.
    
        
file modified
+101 -29