// commence runtime state
void Controller::setRunning(bool running) {
  if (running) {
    dev_fgcolor = -DEFAULT_FOREGROUND;
    dev_bgcolor = -DEFAULT_BACKGROUND;
    os_graf_mx = _output->getWidth();
    os_graf_my = _output->getHeight();

    os_ver = 1;
    os_color = 1;
    os_color_depth = 16;
    setsysvar_str(SYSVAR_OSNAME, "MoSync");

    dev_clrkb();
    ui_reset();

    _runMode = run_state;
    _loadPath.empty();
    _output->reset();

    _lastEventTime = maGetMilliSecondCount();
    _eventTicks = 0;
    _drainError = false;
  } else {
    _runMode = init_state;
  }
}
Example #2
0
/**
 * Close all active User-Agents
 */
void ua_close(void)
{
	cmd_unregister(cmdv);
	net_close();
	play_close();
	ui_reset();

	uag.evsock   = mem_deref(uag.evsock);
	uag.sock     = mem_deref(uag.sock);
	uag.lsnr     = mem_deref(uag.lsnr);
	uag.sip      = mem_deref(uag.sip);

#ifdef USE_TLS
	uag.tls = mem_deref(uag.tls);
#endif

	list_flush(&uag.ual);
	list_flush(&uag.ehl);
}
Example #3
0
void after_reset_ack() {
    resetSignaled = false;
    log_reset();
    ui_reset();
}
Example #4
0
static gboolean on_greeter_input(GIOChannel *source, GIOCondition condition, gpointer data)
{
	GIOStatus ret;
	char *str;

	if( !(G_IO_IN & condition) )
		return FALSE;
	ret = g_io_channel_read_line(source, &str, NULL, NULL, NULL);
	if( ret != G_IO_STATUS_NORMAL )
		return FALSE;

	if( !strncmp(str, "reboot", 6) )
		lxdm_do_reboot();
	else if( !strncmp(str, "shutdown", 6) )
		lxdm_do_shutdown();
	else if( !strncmp(str, "log ", 4) )
		g_message("%s",str + 4);
	else if( !strncmp(str, "login ", 6) )
	{
		char *user = greeter_param(str, "user");
		char *pass = greeter_param(str, "pass");
		char *session = greeter_param(str, "session");
		char *lang = greeter_param(str, "lang");
		if( user/* && pass */)
		{
			struct passwd *pw;
			int ret = lxdm_auth_user(AUTH_TYPE_NORMAL, user, pass, &pw);
			if( AUTH_SUCCESS == ret && pw != NULL )
			{
				ui_drop();
				lxdm_do_login(pw, session, lang,NULL);
			}
			else
			{
				if(pass!=NULL)
					xwrite(greeter_pipe[0], "reset\n", 6);
				else
					xwrite(greeter_pipe[0], "password\n", 9);
			}
		}
		g_free(user);
		g_free(pass);
		g_free(session);
		g_free(lang);
	}
	else if(!strncmp(str, "autologin ", 10))
	{
		char *user=g_key_file_get_string(config,"base","autologin",NULL);
		char *pass=g_key_file_get_string(config,"base","password",NULL);
		char *session = greeter_param(str, "session");
		char *lang = greeter_param(str, "lang");

		if(user)
		{
			struct passwd *pw;
			int ret = lxdm_auth_user(AUTH_TYPE_AUTO_LOGIN, user, pass, &pw);
			if( AUTH_SUCCESS == ret && pw != NULL )
			{
				ui_drop();
				lxdm_do_login(pw, session, lang,NULL);
			}
			else
			{
				ui_reset();
			}
		}
		else
		{
			ui_reset();
		}
			
		g_free(user);
		g_free(pass);
		g_free(session);
		g_free(lang);
	}
	g_free(str);
	return TRUE;
}