using CloudBuilder.Core.DependencyInjection.Request;
using CloudBuilder.Core.Policy;
using CloudBuilder.Gui.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;

namespace CloudBuilder.Gui.Policy
{
    public class GeneralToolkitStringsPolicy : AbstractPolicy
    {
        public const string GUI_CAPTION_ERROR = "gui_caption_error";
        public const string GUI_CAPTION_INFORMATION = "gui_caption_information";

        public const string OK = "OK";
        public const string CANCEL = "Cancel";
        public const string YES = "Yes";
        public const string NO = "No";
        public const string RETRY = "Retry";
        public const string ABORT = "Abort";
        public const string IGNORE = "Ignore";
        public const string TRYAGAIN = "TryAgain";
        public const string CONTINUE = "Continue";

        public static GeneralToolkitStringsPolicy instance = null;
        private readonly IContext context;

        public GeneralToolkitStringsPolicy(IContext context):base(context) 
        {
            this.context = context;
        }

        public static GeneralToolkitStringsPolicy GetInstance()
        {
            instance = ServiceHelper.GetTypeService<GeneralToolkitStringsPolicy>();
            instance.values = new string[] { OK, CANCEL, YES, NO, RETRY, ABORT, IGNORE, TRYAGAIN, CONTINUE };
            return instance;
        }
    }
}
