fix setCOntextPath
use subclass to send dbus
add some autotests. and fix the bugs found.