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 ) );
}
}
}