private void Load() { if (_isLoaded) { return; } _smtModel = _smtModelFactory.Create(this); _smtEngine = _smtModel.CreateInteractiveEngine(); _ruleEngine = _ruleEngineFactory.Create(this); _hybridEngine = new HybridTranslationEngine(_smtEngine, _ruleEngine); _isLoaded = true; }
private void Unload() { if (!_isLoaded) { return; } Save(); _hybridEngine.Dispose(); _hybridEngine = null; if (_ruleEngine != null) { _ruleEngine.Dispose(); _ruleEngine = null; } _smtEngine.Dispose(); _smtEngine = null; _smtModel.Dispose(); _smtModel = null; _isLoaded = false; }