'Starts the actual scanning'

def _scan_start(self):

    if (not self.save_state_to_core()):
        return
    def real_scan_start():
        try:
            helpers.coreWrap(self.w3af.plugins.init_plugins)
            helpers.coreWrap(self.w3af.verify_environment)
        except BaseFrameworkException:
            return
        self.w3af.start()
    def start_scan_wrap():
        om.manager.set_output_plugin_inst(GtkOutput())
        try:
            real_scan_start()
        except KeyboardInterrupt:
            pass
        except ScanMustStopByUserRequest:
            pass
        except Exception:
            plugins_str = pprint_plugins(self.w3af)
            (exc_class, exc_inst, exc_tb) = sys.exc_info()
            unhandled.handle_crash(self.w3af, exc_class, exc_inst, exc_tb, plugins=plugins_str)
        finally:
            gobject.idle_add(self._scan_stopfeedback)
            self._scan_finished()
    om.out.debug('Starting    output    manager')
    scanner = Process(target=start_scan_wrap, name='MainGTKScanner')
    scanner.daemon = True
    scanner.start()
    gobject.timeout_add(500, self._scan_superviseStatus)
    self.sb(_('The    scan    has    started'))
    self.set_tabs(True)
    self.throbber.running(True)
    self.toolbut_pause.set_sensitive(True)
    self.startstopbtns.change_internals('Stop', gtk.STOCK_MEDIA_STOP, _('Stop    scan'))
    self.scan_should = 'stop'
    self.stopped_by_user = False
    self.nb.set_current_page(1)
    self.exploitallsens.set_sensitive(True, 'stopstart')
    self.pcbody.target.insert_url()
    targets = cf.cf.get('targets')
    if targets:
        target_domain_obj = targets[0]
        target_domain = target_domain_obj.get_domain()
        self.window.set_title(('w3af    -    ' + target_domain))
