ScanMaster.ProfileManager.LoadProfileSetFromXml C# (CSharp) Method

LoadProfileSetFromXml() public method

public LoadProfileSetFromXml ( FileStream stream ) : void
stream System.IO.FileStream
return void
        public void LoadProfileSetFromXml(FileStream stream)
        {
            // load the settings; xml format
            XmlSerializer s = new XmlSerializer(typeof(ProfileSet));
            ProfileSet ps = (ProfileSet)s.Deserialize(stream);
            profiles = ps.Profiles;
            currentProfile = null;
            // Xml serialization cannot handle circular referencing, so each of the plugins need to be
            // assigned their AquisitorConfigurations 'by hand'.
            foreach(Profile p in profiles)
            {
                p.AcquisitorConfig.outputPlugin.Config = p.AcquisitorConfig;
                p.AcquisitorConfig.switchPlugin.Config = p.AcquisitorConfig;
                p.AcquisitorConfig.shotGathererPlugin.Config = p.AcquisitorConfig;
                p.AcquisitorConfig.pgPlugin.Config = p.AcquisitorConfig;
                p.AcquisitorConfig.yagPlugin.Config = p.AcquisitorConfig;
                p.AcquisitorConfig.analogPlugin.Config = p.AcquisitorConfig;
            }
            window.UpdateUI();
        }

Usage Example

Example #1
0
        public void LoadProfileSet()
        {
            OpenFileDialog dialog = new OpenFileDialog();

            dialog.Filter           = "xml profile set|*.xml";
            dialog.Title            = "Open profile set";
            dialog.InitialDirectory = Environs.FileSystem.Paths["settingsPath"] + "ScanMaster";
            dialog.ShowDialog();
            if (dialog.FileName != "")
            {
                System.IO.FileStream fs =
                    (System.IO.FileStream)dialog.OpenFile();
                profileManager.LoadProfileSetFromXml(fs);
                fs.Close();
                lastProfileSetPath = dialog.FileName;
                UpdateWindowTitle(dialog.FileName);
            }
        }