using System; using System.Collections; using System.IO; using XUnity.AutoTranslator.Plugin.Core.Configuration; using XUnity.AutoTranslator.Plugin.Core.Extensions; using XUnity.AutoTranslator.Plugin.Core.Web; namespace XUnity.AutoTranslator.Plugin.Core.Endpoints { public interface ITranslateEndpoint { /// /// Gets the id of the IKnownEndpoint that is used as a configuration parameter. /// string Id { get; } /// /// Gets a friendly name that can be displayed to the user representing the plugin. /// string FriendlyName { get; } /// /// Gets the maximum concurrency for the endpoint. This specifies how many times "Translate" /// can be called before it returns. /// int MaxConcurrency { get; } /// /// Called during initialization. Use this to initialize plugin or throw exception if impossible. /// void Initialize( IInitializationContext context ); /// /// Attempt to translated the provided untranslated text. Will be used in a "coroutine", so it can be implemented /// in an async fashion. /// IEnumerator Translate( ITranslationContext context ); } }