Ejemplo n.º 1
0
        public GUISettings(IObjectData data) : base(data)
        {
            // prepare settings
            bool start          = Defaults.Start;
            int  resumeTryCount = Defaults.ResumeTryCount;
            int  resumeDelay    = Defaults.ResumeDelay;
            int  resumeInterval = Defaults.ResumeInterval;

            if (data != null)
            {
                // get settings from data
                start          = data.GetBooleanValue(SettingNames.Start, start);
                resumeTryCount = data.GetInt32Value(SettingNames.ResumeTryCount, resumeTryCount);
                resumeDelay    = data.GetInt32Value(SettingNames.ResumeDelay, resumeDelay);
                resumeInterval = data.GetInt32Value(SettingNames.ResumeInterval, resumeInterval);
            }

            // set settings
            try {
                // may throw ArgumentException for an invalid value
                this.Start          = start;
                this.ResumeTryCount = resumeTryCount;
                this.ResumeDelay    = resumeDelay;
                this.ResumeInterval = resumeInterval;
            } catch (Exception exception) {
                throw new FormatException(exception.Message);
            }

            return;
        }
Ejemplo n.º 2
0
        public ListenerSettings(IObjectData data) : base(data)
        {
            // prepare settings
            IPAddress address = Defaults.Address;
            int       port    = Defaults.Port;
            int       backlog = Defaults.Backlog;

            if (data != null)
            {
                // get settings from data
                address = data.GetValue(SettingNames.Address, address, ExtractIPAddressValue);
                port    = data.GetInt32Value(SettingNames.Port, port);
                backlog = data.GetInt32Value(SettingNames.Backlog, backlog);
            }

            // set settings
            try {
                // may throw ArgumentException for an invalid value
                this.Address = address;
                this.Port    = port;
                this.Backlog = backlog;
            } catch (Exception exception) {
                throw new FormatException(exception.Message);
            }

            return;
        }
Ejemplo n.º 3
0
        private static NativeMethods.POINT CreatePOINT(IObjectData data)
        {
            // argument checks
            Debug.Assert(data != null);

            // create POINT value
            int x = data.GetInt32Value(SettingNames.X, Defaults.Point.X);
            int y = data.GetInt32Value(SettingNames.Y, Defaults.Point.Y);

            return(new NativeMethods.POINT(x, y));
        }
Ejemplo n.º 4
0
        private static NativeMethods.RECT CreateRECT(IObjectData data)
        {
            // argument checks
            Debug.Assert(data != null);

            // create RECT value
            int left   = data.GetInt32Value(SettingNames.Left, Defaults.Rect.Left);
            int top    = data.GetInt32Value(SettingNames.Top, Defaults.Rect.Top);
            int right  = data.GetInt32Value(SettingNames.Right, Defaults.Rect.Right);
            int bottom = data.GetInt32Value(SettingNames.Bottom, Defaults.Rect.Bottom);

            return(new NativeMethods.RECT(left, top, right, bottom));
        }
            public static Version Create(IObjectData data)
            {
                // argument checks
                if (data == null)
                {
                    return(null);
                }

                int major = data.GetInt32Value(Major, 0);
                int minor = data.GetInt32Value(Minor, 0);

                return(new Version(major, minor));
            }
            public static DateTime Create(IObjectData data)
            {
                // argument checks
                if (data == null)
                {
                    throw new FormatException("A null cannot be converted to DateTime.");
                }

                int year  = data.GetInt32Value(Year, 0);
                int month = data.GetInt32Value(Month, 0);
                int day   = data.GetInt32Value(Day, 0);

                return(new DateTime(year, month, day));
            }
Ejemplo n.º 7
0
        private static NativeMethods.WINDOWPLACEMENT CreateWINDOWPLACEMENT(IObjectData data)
        {
            // argument checks
            Debug.Assert(data != null);

            // create WINDOWPLACEMENT value
            NativeMethods.WINDOWPLACEMENT wp = new NativeMethods.WINDOWPLACEMENT();
            wp.Flags          = data.GetInt32Value(SettingNames.Flags, Defaults.Flags);
            wp.ShowCmd        = data.GetInt32Value(SettingNames.ShowCmd, Defaults.ShowCmd);
            wp.MinPosition    = data.GetObjectValue(SettingNames.MinPosition, Defaults.Point, CreatePOINT);
            wp.MaxPosition    = data.GetObjectValue(SettingNames.MaxPosition, Defaults.Point, CreatePOINT);
            wp.NormalPosition = data.GetObjectValue(SettingNames.NormalPosition, Defaults.Rect, CreateRECT);

            return(wp);
        }
Ejemplo n.º 8
0
        public ProxySettings(IObjectData data) : base(data)
        {
            // prepare settings
            ListenerSettings mainListener = null;
            IEnumerable <ListenerSettings> additionalListeners = null;
            int retryCount = Defaults.RetryCount;

            if (data != null)
            {
                // get settings from data
                mainListener        = data.GetObjectValue(SettingNames.MainListener, mainListener, CreateListenerSettings);
                additionalListeners = data.GetObjectArrayValue(SettingNames.AdditionalListeners, additionalListeners, CreateListenerSettings);
                retryCount          = data.GetInt32Value(SettingNames.RetryCount, retryCount);
            }
            if (mainListener == null)
            {
                mainListener = Defaults.CreateDefaultMainListener();
            }

            // set settings
            try {
                // may throw ArgumentException for an invalid value
                this.MainListener        = mainListener;
                this.AdditionalListeners = additionalListeners;
                this.RetryCount          = retryCount;
            } catch (Exception exception) {
                throw new FormatException(exception.Message);
            }

            return;
        }
Ejemplo n.º 9
0
        public CommandSettings(IObjectData data) : base(data)
        {
            // prepare settings
            int         initialSetupLevel = Defaults.InitialSetupLevel;
            TraceLevel  logLevel          = Defaults.LogLevel;
            CultureInfo culture           = null;
            bool        noLogo            = Defaults.NoLogo;

            CredentialSettings[]           credentials            = null;
            SystemSettingsSwitcherSettings systemSettingsSwitcher = null;
            GUISettings   gui   = null;
            ProxySettings proxy = null;

            if (data != null)
            {
                // get settings from data
                initialSetupLevel      = data.GetInt32Value(SettingNames.InitialSetupLevel, Defaults.InitialSetupLevel);
                logLevel               = (TraceLevel)data.GetEnumValue(SettingNames.LogLevel, logLevel, typeof(TraceLevel));
                culture                = data.GetValue(SettingNames.Culture, culture, ExtractCultureInfoValue);
                noLogo                 = data.GetBooleanValue(SettingNames.NoLogo, noLogo);
                credentials            = data.GetObjectArrayValue(SettingNames.Credentials, credentials, CreateCredentialSettings);
                systemSettingsSwitcher = data.GetObjectValue(SettingNames.SystemSettingsSwitcher, systemSettingsSwitcher, this.CreateSystemSettingsSwitcherSettings);
                proxy = data.GetObjectValue(SettingNames.Proxy, proxy, this.CreateProxySettings);
                gui   = data.GetObjectValue(SettingNames.GUI, gui, this.CreateGUISettings);
            }
            if (systemSettingsSwitcher == null)
            {
                // SystemSettingsSwitcher cannot be null
                systemSettingsSwitcher = CreateSystemSettingsSwitcherSettings(null);
            }
            if (proxy == null)
            {
                // Proxy cannot be null
                proxy = CreateProxySettings(null);
            }
            if (gui == null)
            {
                // GUI cannot be null
                gui = CreateGUISettings(null);
            }

            // set settings
            try {
                // may throw ArgumentException for an invalid value
                this.InitialSetupLevel      = initialSetupLevel;
                this.LogLevel               = logLevel;
                this.Culture                = culture;
                this.NoLogo                 = noLogo;
                this.Credentials            = credentials;
                this.SystemSettingsSwitcher = systemSettingsSwitcher;
                this.Proxy = proxy;
                this.GUI   = gui;
            } catch (Exception exception) {
                throw new FormatException(exception.Message);
            }

            return;
        }
Ejemplo n.º 10
0
        public ActualProxySettings(IObjectData data) : base(data)
        {
            // prepare settings
            string host = Defaults.Host;
            int    port = Defaults.Port;
            string configurationScript = Defaults.ConfigurationScript;

            if (data != null)
            {
                // get settings from data
                configurationScript = data.GetStringValue(SettingNames.ConfigurationScript, configurationScript);
                host = data.GetStringValue(SettingNames.Host, string.IsNullOrEmpty(configurationScript)? host: null);
                port = data.GetInt32Value(SettingNames.Port, port);
            }

            // set settings
            try {
                // may throw ArgumentException for an invalid value

                // Note that non-empty value should be set first,
                // because an ArgumentNullException will be thrown
                // if both this.Host and this.this.ConfigurationScript are null.
                if (string.IsNullOrEmpty(configurationScript))
                {
                    this.Host = host;
                    this.ConfigurationScript = configurationScript;
                }
                else
                {
                    this.ConfigurationScript = configurationScript;
                    this.Host = host;
                }
                this.Port = port;
            } catch (Exception exception) {
                throw new FormatException(exception.Message);
            }

            return;
        }