private void SessionHelper_MessageArrived(SessionHelperInstance helper, Message message) { if (message is IdleTimeMessage) { users[helper.SID].IdleTime = (message as IdleTimeMessage).Time; } }
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; }
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; }
private void MessageArrived(SessionHelperInstance helper, Message message) { if (message is IdleTimeMessage) { IdleTimeMessage itm = (IdleTimeMessage)message; if (idleTime != null && idleTime > itm.Time) { UserDetected?.Invoke(this, EventArgs.Empty); } idleTime = itm.Time; } }
private void SessionHelperMessageArrived(SessionHelperInstance instance, Message message) { if (message is ConfigureWakeHostMessage) { ConfigureWakeHostMessage whMessage = (ConfigureWakeHostMessage)message; Component <S3Terminator>().ConfigureWake(whMessage.Name, whMessage.Wake); } else if (message is ConfigureWakeOptionsMessage) { ConfigureWakeOptionsMessage woMessage = (ConfigureWakeOptionsMessage)message; Component <S3Terminator>().IsResolveIPAddress = woMessage.ResolveIP; } }
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; }
private void SessionHelper_Disconnected(SessionHelperInstance helper) { helper.MessageArrived -= SessionHelper_MessageArrived; users.Remove(helper.SID); }
private void ConfigureSessionHelper(SessionHelperInstance instance) { instance.MessageArrived += SessionHelperMessageArrived; UpdateSessionHelperConfig(instance); }