/// <summary> /// Загрузка конфигурации /// </summary> private void LoadConfig() { string fileName = GetConfigPath(); if (!File.Exists(fileName)) { return; } try { XmlSerializer serializer = new XmlSerializer(typeof(PjsipConfig)); FileStream fs = new FileStream(fileName, FileMode.Open); PjsipConfig cfg = (PjsipConfig)serializer.Deserialize(fs); fs.Close(); if (cfg != null) { foreach (PjsipAccount acc in cfg.Accounts) { acc.SetConfig(); acc.OnAccountRegState = UpdateStatus; acc.OnAccountIncomingCall = IncomingCall; lbAccounts.Items.Add(acc); } } } catch (Exception ex) { MessageBox.Show(string.Format("Ошибка чтения файла конфигурации\r\n{0}", ex.Message)); } }
/// <summary> /// Сохранение конфигурации /// </summary> private void SaveConfig() { string fileName = GetConfigPath(); try { XmlSerializer serializer = new XmlSerializer(typeof(PjsipConfig)); TextWriter writer = new StreamWriter(fileName); PjsipConfig cfg = new PjsipConfig(); cfg.Accounts = GetAccounts(); serializer.Serialize(writer, cfg); writer.Close(); } catch (Exception ex) { MessageBox.Show(string.Format("Ошибка записи файла конфигурации\r\n{0}", ex.Message)); } }