public ClassExtensionProcess(IExtensionWrapper wrapper, Type extType, IDevice targetDevice = null)
 {
     this.ctx           = (Context)wrapper;
     this.wrapper       = wrapper;
     this.extensionType = extType;
     this.targetDevice  = targetDevice;
 }
Exemple #2
0
 private bool IsOk(IExtensionWrapper Wrapper, IWrapperFilter[] filters)
 {
     foreach (var filter in filters)
     {
         if (!filter.Do(Wrapper))
         {
             return(false);
         }
     }
     return(true);
 }
Exemple #3
0
 private static bool RegionOK(this IExtensionWrapper wrapper, string region)
 {
     if (wrapper.Info.Regions == null)
     {
         return(true);
     }
     return(wrapper.Info.Regions.Where((str) =>
     {
         return str.ToLower() == region;
     }).Count() > 0);
 }
Exemple #4
0
 private static bool IsHide(this IExtensionWrapper wrapper)
 {
     if (wrapper.Info.TryGetValueType(ExtensionInformationKeys.IS_HIDDEN, out bool result))
     {
         return(!result);
     }
     else
     {
         return(true);
     }
 }
        /// <summary>
        /// DO!
        /// </summary>
        /// <param name="wrapper"></param>
        /// <returns></returns>
        public bool Do(IExtensionWrapper wrapper)
        {
            var crtLanCode = App.CurrentLanguageCode.ToLower();

            if (wrapper.Info.Regions == null)
            {
                return(true);
            }
            return(wrapper.Info.Regions.Where((str) =>
            {
                return str.ToLower() == crtLanCode;
            }).Count() > 0);
        }
        public IExtensionThread Allocate(IExtensionWrapper wrapper, Type typeOfExtension)
        {
            var thread = new ExtensionThread(this, typeOfExtension, wrapper)
            {
                Id = AlllocatePID()
            };

            readys.Add(thread);
            thread.Started += (s, e) =>
            {
                readys.Remove(thread);
                runnings.Add(thread);
            };
            return(thread);
        }
Exemple #7
0
 private static bool IsPassedDevCheck(this IExtensionWrapper wrapper, bool nowIsDevMode)
 {
     if (wrapper.Info.TryGetValueType(ExtensionInformationKeys.IS_DEVELOPING, out bool isDevExt))
     {
         if (isDevExt)
         {
             return(nowIsDevMode);
         }
         else
         {
             return(true);
         }
     }
     else
     {
         return(true);
     }
 }
 public bool Do(IExtensionWrapper Wrapper)
 {
     try
     {
         if (Wrapper.Info[ExtensionInformationKeys.IS_DEVELOPING] as bool? == true)
         {
             return(((Context)Wrapper).BaseApi.IsDeveloperMode);
         }
         else
         {
             return(true);
         }
     }
     catch
     {
         return(false);
     }
 }
Exemple #9
0
        public ExtensionThread(ExtensionThreadManager threadManager, Type extensionType, IExtensionWrapper wrapper)
        {
            if (threadManager == null)
            {
                throw new ArgumentNullException(nameof(threadManager));
            }

            this.extensionType = extensionType;
            Wrapper            = wrapper ?? throw new ArgumentNullException(nameof(wrapper));
        }
Exemple #10
0
 /// <summary>
 /// 对比
 /// </summary>
 /// <param name="other"></param>
 /// <returns></returns>
 public bool Equals(IExtensionWrapper other)
 {
     return(other != null && other.GetHashCode() == GetHashCode());
 }
Exemple #11
0
 /// <summary>
 /// 构造
 /// </summary>
 /// <param name="currentThread"></param>
 /// <param name="wrapper"></param>
 public ExtensionArgs(IExtensionThread currentThread, IExtensionWrapper wrapper)
 {
     CurrentThread = currentThread ?? throw new ArgumentNullException(nameof(currentThread));
     Wrapper       = wrapper;
 }
 public OldExtensionSlice(IExtensionWrapper wrapper)
 {
     this.InitializeComponent();
     (this.DataContext as VMOldExtension).Wrapper = wrapper;
 }
 /// <summary>
 /// 执行
 /// </summary>
 /// <param name="Wrapper"></param>
 /// <returns></returns>
 public bool Do(IExtensionWrapper Wrapper)
 {
     return(Wrapper.Info.RequiredDeviceStates.HasFlag(state) ||
            Wrapper.Info.RequiredDeviceStates == state);
 }
 public void Remove(IExtensionWrapper wrapper)
 {
     runningWrappers.Remove(wrapper);
 }
 public void Add(IExtensionWrapper wrapper)
 {
     runningWrappers.Add(wrapper);
 }
 public ExtensionWrapperDock(IExtensionWrapper wrapper)
 {
     this.Wrapper = wrapper;
 }