Exemplo n.º 1
0
void Timed::init_device_mode()
{
  current_mode = "(unknown)" ;
#if HAVE_DSME
  dsme_mode_handler = new dsme_mode_t ;
  QObject::connect(dsme_mode_handler, SIGNAL(mode_is_changing()), this, SLOT(dsme_mode_is_changing())) ;
  QObject::connect(dsme_mode_handler, SIGNAL(mode_reported(const string &)), this, SLOT(dsme_mode_reported(const string &))) ;
#if F_ACTING_DEAD
  if (scratchbox_mode)
  {
    int is_act_dead = is_act_dead_by_status_files() ;
    bool user_mode = is_act_dead==0, mode_known = is_act_dead==0 or is_act_dead==1 ;
    if (not mode_known)
      log_abort("can't detect running mode") ;
    device_mode_reached(user_mode) ;
  }
  else
#endif
  {
    dsme_mode_handler->init_request() ;
  }
#endif
  const char *startup_path="/com/nokia/startup/signal", *startup_iface="com.nokia.startup.signal" ;
  const char *desktop_visible_slot = SLOT(harmattan_desktop_visible()) ;
  const char *init_done_slot = SLOT(harmattan_init_done(int)) ;
  bool res1 = QDBusConnection::systemBus().connect("", startup_path, startup_iface, "desktop_visible", this, desktop_visible_slot) ;
  bool res2 = QDBusConnection::systemBus().connect("", startup_path, startup_iface, "init_done", this, init_done_slot) ;
  if (not res1)
    log_critical("can't connect to 'desktop_visible' signal") ;
  if (not res2)
    log_critical("can't connect to 'init_done' signal") ;
}
Exemplo n.º 2
0
static bool init_act_dead_v2(bool use_status_files)
{
  string s_dsme_mode ;
  int dsme_mode = is_act_dead_by_dsme(s_dsme_mode) ;
  if (0<=dsme_mode) // got a valid answer: user or act_dead
    return dsme_mode ;

  if (use_status_files)
  {
    int sb_mode = is_act_dead_by_status_files() ;
    if (0<=sb_mode)
      return sb_mode ;
  }

  // oops, we don't know which mode we're running in; let's die

  // how to die? it depends on dsme mode

  log_critical("can't decide in which mode to run (dsme mode: '%s')", s_dsme_mode.c_str()) ;

  if (s_dsme_mode=="SHUTDOWN" or s_dsme_mode=="REBOOT")
  {
    log_critical("go to sleep, waiting to be killed, bye...") ;
    while(true) sleep(239239239) ;
  }

  log_critical("will be terminated in two seconds, bye...") ;

  sleep(2) ;
  log_abort("aborting") ;
}
Exemplo n.º 3
0
abstract_state_t *machine_t::state_by_name(const string &name)
{
  for (set<abstract_state_t*>::iterator it=states.begin(); it!=states.end(); ++it)
    if ((*it)->s_name==name)
      return *it ;
  log_abort("invalid state name '%s'", name.c_str()) ;
}
Exemplo n.º 4
0
gdk_return
log_abort_wrap(logger *L )
{
	logger *l = *(logger**)L;
	if (l && log_abort(l) == LOG_OK)
		return GDK_SUCCEED;
	return GDK_FAIL;
}
Exemplo n.º 5
0
/**
 * Log fata error.
 *
 * This routine does not return.
 */
void gl_error(const char *domain, const char *format, ...)
{
	va_list args;

	va_start(args, format);
	gl_logv(domain, G_LOG_LEVEL_ERROR | G_LOG_FLAG_FATAL, format, args);
	va_end(args);

	log_abort();
}
Exemplo n.º 6
0
static void os_restore(void)
{
#if defined(USE_KEYBOARD_SVGALIB) || defined(USE_KEYBOARD_SDL) || defined(USE_KEYBOARD_RAW) || defined(USE_KEYBOARD_EVENT)
	log_std(("os: keyb_abort\n"));
	{
		extern void keyb_abort(void);
		keyb_abort();
	}
#endif

#if defined(USE_MOUSE_SVGALIB) || defined(USE_MOUSE_SDL) || defined(USE_MOUSE_RAW) || defined(USE_MOUSE_EVENT)
	log_std(("os: mouseb_abort\n"));
	{
		extern void mouseb_abort(void);
		mouseb_abort();
	}
#endif

#if defined(USE_VIDEO_SVGALIB) || defined(USE_VIDEO_FB) || defined(USE_VIDEO_X) || defined(USE_VIDEO_SDL)
	log_std(("os: adv_video_abort\n"));
	{
		extern void adv_video_abort(void);
		adv_video_abort();
	}
#endif

#if defined(USE_SOUND_OSS) || defined(USE_SOUND_SDL) || defined(USE_SOUND_ALSA)
	log_std(("os: sound_abort\n"));
	{
		extern void soundb_abort(void);
		soundb_abort();
	}
#endif

	target_mode_reset();

	if (OS.term_active) {
		if (tcsetattr(fileno(stdin), TCSAFLUSH, &OS.term) != 0) {
			/* ignore error */
			log_std(("os: tcsetattr(TCSAFLUSH) failed\n"));
		}
	}

	log_std(("os: close log\n"));
	log_abort();
}