Exemplo n.º 1
0
 private void SessionHelper_MessageArrived(SessionHelperInstance helper, Message message)
 {
     if (message is IdleTimeMessage)
     {
         users[helper.SID].IdleTime = (message as IdleTimeMessage).Time;
     }
 }
Exemplo n.º 2
0
        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;
        }
Exemplo n.º 3
0
        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;
        }
Exemplo n.º 4
0
            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;
                }
            }
Exemplo n.º 5
0
        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;
            }
        }
Exemplo n.º 6
0
            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;
                }
            }
Exemplo n.º 7
0
            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;
            }
Exemplo n.º 8
0
        private void SessionHelper_Disconnected(SessionHelperInstance helper)
        {
            helper.MessageArrived -= SessionHelper_MessageArrived;

            users.Remove(helper.SID);
        }
Exemplo n.º 9
0
        private void ConfigureSessionHelper(SessionHelperInstance instance)
        {
            instance.MessageArrived += SessionHelperMessageArrived;

            UpdateSessionHelperConfig(instance);
        }