using System; using System.Collections.Generic; using System.Linq; using System.Text; using XUnity.AutoTranslator.Plugin.Core.Configuration; using XUnity.AutoTranslator.Plugin.Core.Extensions; using XUnity.AutoTranslator.Plugin.Core.Web; namespace XUnity.AutoTranslator.Plugin.Core.Endpoints { internal class InitializationContext : IInitializationContext { private HttpSecurity _security; internal InitializationContext( HttpSecurity httpSecurity, string sourceLanguage, string destinationLanguage ) { _security = httpSecurity; SourceLanguage = sourceLanguage; DestinationLanguage = destinationLanguage; } /// /// Gets the source language. /// public string SourceLanguage { get; } /// /// Gets the destination language. /// public string DestinationLanguage { get; } public string PluginDirectory => Config.Current.DataPath; public void EnableSslFor( params string[] hosts ) { _security.EnableSslFor( hosts ); } public T GetOrCreateSetting( string section, string key, T defaultValue ) { return Config.Current.Preferences[ section ][ key ].GetOrDefault( defaultValue ); } public T GetOrCreateSetting( string section, string key ) { return Config.Current.Preferences[ section ][ key ].GetOrDefault( default( T ) ); } } }