AvalonStudio.Debugging.GDB.OpenOCD.OpenOCDDebugAdaptor.GetSettings C# (CSharp) Method

GetSettings() public static method

public static GetSettings ( IProject project ) : OpenOCDSettings
project IProject
return OpenOCDSettings
		public static OpenOCDSettings GetSettings(IProject project)
		{
			OpenOCDSettings result = null;

			try
			{
				if (project.DebugSettings.OpenOCDSettings is ExpandoObject)
				{
					result = (project.DebugSettings.OpenOCDSettings as ExpandoObject).GetConcreteType<OpenOCDSettings>();
				}
				else
				{
					result = project.DebugSettings.OpenOCDSettings;
				}
			}
			catch (Exception)
			{
				result = project.DebugSettings.OpenOCDSettings = new OpenOCDSettings();
			}

			return result;
		}

Usage Example

        public OpenOCDSettingsFormViewModel(IProject model) : base(model)
        {
            settings            = OpenOCDDebugAdaptor.GetSettings(model);
            interfaceConfigFile = settings.InterfaceConfigFile;
            targetConfigFile    = settings.TargetConfigFile;

            BrowseInterfaceConfigFileCommand = ReactiveCommand.Create();
            BrowseInterfaceConfigFileCommand.Subscribe(async _ =>
            {
                var ofd = new OpenFileDialog();
                ofd.InitialDirectory = Path.Combine(OpenOCDDebugAdaptor.BaseDirectory, "scripts", "interface");
                ofd.Filters.Add(new FileDialogFilter {
                    Name = "OpenOCD Config File", Extensions = new List <string> {
                        "cfg"
                    }
                });
                ofd.AllowMultiple = false;
                ofd.Title         = "Open OpenOCD Interface Config File";

                var result = await ofd.ShowAsync();

                if (result != null && !string.IsNullOrEmpty(result.First()))
                {
                    InterfaceConfigFile = OpenOCDDebugAdaptor.BaseDirectory.MakeRelativePath(result.First());
                }
            });

            BrowseTargetConfigFileCommand = ReactiveCommand.Create();
            BrowseTargetConfigFileCommand.Subscribe(async _ =>
            {
                var ofd = new OpenFileDialog();
                ofd.InitialDirectory = Path.Combine(OpenOCDDebugAdaptor.BaseDirectory, "scripts", "target");
                ofd.Filters.Add(new FileDialogFilter {
                    Name = "OpenOCD Config File", Extensions = new List <string> {
                        "cfg"
                    }
                });
                ofd.AllowMultiple = false;
                ofd.Title         = "Open OpenOCD Target Config File";

                var result = await ofd.ShowAsync();

                if (result != null && !string.IsNullOrEmpty(result.First()))
                {
                    TargetConfigFile = OpenOCDDebugAdaptor.BaseDirectory.MakeRelativePath(result.First());
                }
            });
        }