Пример #1
0
 protected virtual void Dispose(bool disposing)
 {
     if (!disposedValue)
     {
         var _notDisposedCpm = OpeningDpmSet;
         OpeningDpmSet = null;
         if (disposing)
         {
             foreach (var cpm in _notDisposedCpm)
             {
                 try
                 {
                     cpm.Dispose();
                 }
                 catch (Exception e)
                 {
                     SLogger <StandardAdbManager> .CDebug("can not dispose", e);
                 }
             }
         }
         _notDisposedCpm !.Clear();
         KillServer();
         // TODO: 释放未托管的资源(未托管的对象)并在以下内容中替代终结器。
         // TODO: 将大型字段设置为 null。
         disposedValue = true;
         Disposed?.Invoke(this, new EventArgs());
     }
 }
Пример #2
0
        protected virtual void Dispose(bool disposing)
        {
            if (!DisposedValue)
            {
                if (disposing)
                {
                    handleDisposedEvent = false;
                    notDisposedSet.All((p) =>
                    {
                        try
                        {
                            p.Dispose();
                        }
                        catch (Exception e)
                        {
                            SLogger <CommandProcedure> .CDebug("can not dispose command procedure", e);
                        }
                        return(true);
                    });
                    this.notDisposedSet.Clear();
                    // TODO: 释放托管状态(托管对象)。
                }
                // TODO: 释放未托管的资源(未托管的对象)并在以下内容中替代终结器。
                // TODO: 将大型字段设置为 null。

                DisposedValue = true;
                Disposed?.Invoke(this, new EventArgs());
            }
        }
Пример #3
0
        protected virtual void Dispose(bool disposing)
        {
            if (!disposedValue)
            {
                if (disposing)
                {
                    // TODO: 释放托管状态(托管对象)。
                }
                var _notDisposedCpm = NotDisposedCpmSet;
                NotDisposedCpmSet = null;
                foreach (var cpm in _notDisposedCpm)
                {
                    try
                    {
                        SLogger <StandardAdbManager> .CDebug("disposing");

                        cpm.Dispose();
                        SLogger <StandardAdbManager> .CDebug("disposed");
                    }
                    catch (Exception e)
                    {
                        SLogger <StandardAdbManager> .CDebug("can not dispose", e);
                    }
                }
                _notDisposedCpm.Clear();

                KillServer();
                // TODO: 释放未托管的资源(未托管的对象)并在以下内容中替代终结器。
                // TODO: 将大型字段设置为 null。
                disposedValue = true;
            }
        }
Пример #4
0
        /// <summary>
        /// 根据id获取值
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public object GetComponent(string id)
        {
            SLogger <SunsetLake> .CDebug($"Getting {id}");

            if (factories.TryGetValue(id, out ComponentFactory factory))
            {
                return(factory());
            }
            else
            {
                throw new IdNotFoundException(id);
            }
        }
Пример #5
0
        public void LoadManager()
        {
            using var cpm = BasicBooter.CommandProcedureManager;
            using var cmd = cpm.OpenCommand("adb", "devices");
            cmd.Execute();
            if (cmd.Status == AutumnBox.Basic.ManagedAdb.CommandDriven.CommandStatus.InnerException)
            {
                Debug.WriteLine(cmd.Exception);
            }
            SLogger <BooterTest> .CDebug(cmd.Result.Output);

            Assert.AreEqual(0, cmd.Result.ExitCode);
            Assert.IsFalse(cmd.Result.Output.Contains("daemon not running"));
            Assert.IsTrue(cmd.Result.Output.Contains("List of devices attached"));
        }
Пример #6
0
        /// <summary>
        /// 注册
        /// </summary>
        /// <param name="id"></param>
        /// <param name="factory"></param>
        public void RegisterComponent(string id, ComponentFactory factory)
        {
            SLogger <SunsetLake> .CDebug($"Registering {id}");

            factories[id] = factory;
        }