Пример #1
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;
        }
Пример #2
0
        void HandleMessage(ConfigMessage message)
        {
            Config = message.Config;

            if (message is InitializeMessage)
            {
                SendMessage(new StartupMessage(Process.GetCurrentProcess().Id));
            }
        }
Пример #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;
        }
Пример #4
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;
                }
            }
Пример #5
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;
            }