private void UpdateSessionHelperConfig(SessionHelperInstance instance) { SessionHelperConfig config = instance.Config; config.DisplayNotifyIcon = true; if (controlTerminator) { bool displayWakeHosts = Component <S3Terminator>().IsNetworkConnected&& Component <S3Terminator>().Hosts.Count > 0; config.DisplayNotifyIcon = displayWakeHosts; if (displayWakeHosts) { SessionHelperWakeOptions options = new SessionHelperWakeOptions(); options.ResolveIP = Component <S3Terminator>().IsResolveIPAddress; options.WakeHosts = Component <S3Terminator>().Hosts.Values.ToArray(); config.WakeOptions = options; } else { config.WakeOptions = null; } } instance.Config = config; }
void HandleMessage(ConfigMessage message) { Config = message.Config; if (message is InitializeMessage) { SendMessage(new StartupMessage(Process.GetCurrentProcess().Id)); } }
private void SessionHelper_Connected(SessionHelperInstance helper) { int sid = helper.SID; string name = Component <TerminalServer>()[sid].UserName; users.Add(sid, new User(sid, name)); helper.MessageArrived += SessionHelper_MessageArrived; SessionHelperConfig config = helper.Config; config.MonitorIdleTime = true; helper.Config = config; }
internal void Finish() { if (helper != null) { helper.MessageArrived -= MessageArrived; // IdleTime-Monitor ggfs. ausschalten SessionHelperConfig c = helper.Config; c.MonitorIdleTime = previous.MonitorIdleTime; helper.Config = c; if (terminate) { helper.Terminate(SessionHelper.DEFAULT_TIMEOUT); } helper = null; } }
internal SessionHelperInvocation(SessionHelper sh, int?sid = null) { if ((helper = sh.InstanceBySID(sid)) == null) { helper = sh.LaunchHelper(sid); terminate = true; } previous = helper.Config; // IdleTime-Monitor einschalten SessionHelperConfig c = previous; c.MonitorIdleTime = true; helper.Config = c; helper.MessageArrived += MessageArrived; }