示例#1
0
        public static HostDataModel Load()
        {
            if (_data != null)
            {
                return(_data);
            }
            HostDataModel model = null;

            if (File.Exists(SaltPath) && File.Exists(ConfigPath))
            {
                try
                {
                    _salt = File.ReadAllBytes(SaltPath);
                    byte[] file = File.ReadAllBytes(ConfigPath);
                    file = Unprotect(file);
                    using (var ms = new MemoryStream(file))
                    {
                        var bf = new BinaryFormatter();
                        model = (HostDataModel)bf.Deserialize(ms);
                    }
                }
                catch (Exception e)
                {
                    Util.TraceException("Error loading HostData, restoring defaults ...", e);
                }
            }
            _data = model ?? new HostDataModel();
            return(_data);
        }
示例#2
0
 public void SaveToDataModel(HostDataModel dataModel)
 {
     dataModel.Autostart     = _autostart;
     dataModel.ServerAddress = _serverAddress;
     if (_ownName != HostModel.Instance.OwnName)
     {
         HostModel.Instance.RenameSelf(_ownName);
     }
     ConfigHandler.Save();
 }
示例#3
0
        public SettingsViewModel()
        {
            HostDataModel mdl = ConfigHandler.Load();

            HostModel.Instance.PropertyChanged += Instance_PropertyChanged;
            _autostart     = mdl.Autostart;
            _serverAddress = mdl.ServerAddress;
            _ownName       = HostModel.Instance.OwnName;

            CommandResetServer = new WpfUtil.RelayCommand((o) => ServerAddress = HostModel.DefaultServer);
        }
示例#4
0
 public static void Save(HostDataModel dataModel)
 {
     try
     {
         byte[] data;
         CreateNewSalt();
         using (var ms = new MemoryStream())
         {
             var bf = new BinaryFormatter();
             bf.Serialize(ms, dataModel);
             data = ms.ToArray();
         }
         data = Protect(data);
         File.WriteAllBytes(ConfigPath, data);
     }
     catch (Exception e)
     {
         Util.TraceException("Error while saving data", e);
     }
 }