예제 #1
0
 public static void Serialize(Control c, AppWin_Si4460_CP_ProjectData data, string XmlFileName)
 {
     XmlTextWriter xmlSerialisedForm = new XmlTextWriter(XmlFileName, Encoding.Default) {
         Formatting = Formatting.Indented
     };
     xmlSerialisedForm.WriteStartDocument();
     xmlSerialisedForm.WriteStartElement("RCA_ProjectData");
     xmlSerialisedForm.WriteAttributeString("ProjectName", data.ProjectName);
     xmlSerialisedForm.WriteAttributeString("ChipType", data.ChipType);
     xmlSerialisedForm.WriteAttributeString("ChipRevision", data.ChipRevision);
     xmlSerialisedForm.WriteAttributeString("Version", data.Version);
     xmlSerialisedForm.WriteStartElement("DataItems");
     AddDataItems(xmlSerialisedForm, c);
     xmlSerialisedForm.WriteEndElement();
     xmlSerialisedForm.WriteEndElement();
     xmlSerialisedForm.WriteEndDocument();
     xmlSerialisedForm.Flush();
     xmlSerialisedForm.Close();
 }
예제 #2
0
 private void tbtOpenConfiguration_Click(object sender, EventArgs e)
 {
     Stream stream = null;
     OpenFileDialog dialog = new OpenFileDialog {
         InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Personal),
         Filter = "XML Files|*.xml"
     };
     if (dialog.ShowDialog() == DialogResult.OK)
     {
         try
         {
             stream = dialog.OpenFile();
             if (stream != null)
             {
                 using (stream)
                 {
                     AppWin_Si4460_CP_ProjectData projectData = new AppWin_Si4460_CP_ProjectData(_selectedProject.Name, _chipType, _chipRev, GlobalServices.appVersion);
                     ProjectDataSerializer.ValidateAndSelectProjectFile(dialog.FileName, lstSelectProject, projectData);
                     ProjectDataSerializer.Deserialize(tabMainConfiguration, dialog.FileName);
                     pccPacketHandlerConfigurator_ConfigurationSetupChanged(null, null);
                 }
             }
         }
         catch (Exception exception)
         {
             MessageBox.Show(string.Format("Error opening file {0}\nException: {1}\n", dialog.FileName, exception.Message));
         }
     }
 }
예제 #3
0
 private static AppWin_Si4460_CP_ProjectData ValidateProject(XmlDocument xmlSerialisedForm, string ChipType, string ChipRevision, string AppVersion)
 {
     XmlNode node = xmlSerialisedForm.GetElementsByTagName("RCA_ProjectData")[0];
     if (((node.Attributes.GetNamedItem("ProjectName") == null) || (node.Attributes.GetNamedItem("ChipType") == null)) || ((node.Attributes.GetNamedItem("ChipRevision") == null) || (node.Attributes.GetNamedItem("Version") == null)))
     {
         throw new Exception("Invalid element data for ProjectName");
     }
     AppWin_Si4460_CP_ProjectData data = new AppWin_Si4460_CP_ProjectData(node.Attributes.GetNamedItem("ProjectName").Value, node.Attributes.GetNamedItem("ChipType").Value, node.Attributes.GetNamedItem("ChipRevision").Value, node.Attributes.GetNamedItem("Version").Value);
     ValidateVersion(AppVersion, data.Version);
     if ((data.ChipType != ChipType) || (data.ChipRevision != ChipRevision))
     {
         MessageBox.Show("Warning: You are opening configuration saved for\n\n" + data.ChipType + " revision " + data.ChipRevision + "\n\nbut you started the Radio Configuration Application for\n\n " + ChipType + " revision " + ChipRevision + "\n\nSome loaded values might be coerced and/or most appropriate project will be selected");
     }
     return data;
 }
예제 #4
0
 private void CreateSaveData(string fileName)
 {
     AppWin_Si4460_CP_ProjectData data = new AppWin_Si4460_CP_ProjectData(_selectedProject.Name, _chipType, _chipRev, GlobalServices.appVersion);
     ProjectDataSerializer.Serialize(tabMainConfiguration, data, fileName);
 }
예제 #5
-1
 public static void ValidateAndSelectProjectFile(string XmlFileName, ListView lstSelectProject, AppWin_Si4460_CP_ProjectData projectData)
 {
     XmlDocument xmlSerialisedForm = new XmlDocument();
     xmlSerialisedForm.Load(XmlFileName);
     AppWin_Si4460_CP_ProjectData data = ValidateProject(xmlSerialisedForm, projectData.ChipType, projectData.ChipRevision, projectData.Version);
     SelectProject(lstSelectProject, data.ProjectName);
 }