/// <summary> /// Called when update data is available in order to get the /// engine to refresh it's internal data structures. /// This overload is used when the data is presented as a /// <see cref="Stream"/>, usually a <see cref="MemoryStream"/>. /// </summary> /// <param name="dataFileIdentifier"> /// The identifier of the data file to update. /// This engine only uses one data file so this parameter is ignored. /// </param> /// <param name="stream"> /// The <see cref="Stream"/> containing the data to refresh the /// engine with. /// </param> public override void RefreshData(string dataFileIdentifier, Stream stream) { var data = ReadBytesFromStream(stream); if (_engine == null) { _engine = _swigFactory.CreateEngine(data, data.Length, _config, _propertiesConfigSwig); } else { _engine.refreshData(data, data.Length); } GetEngineMetaData(); RefreshCompleted?.Invoke(this, null); }
/// <summary> /// Called when update data is available in order to get the /// engine to refresh it's internal data structures. /// This overload is used if the data is a physical file on disk. /// </summary> /// <param name="dataFileIdentifier"> /// The identifier of the data file to update. /// This engine only uses one data file so this parameter is ignored. /// </param> public override void RefreshData(string dataFileIdentifier) { var dataFile = DataFiles.Single(); if (_engine == null) { _engine = _swigFactory.CreateEngine(dataFile.DataFilePath, _config, _propertiesConfigSwig); } else { _engine.refreshData(); } GetEngineMetaData(); RefreshCompleted?.Invoke(this, null); }