예제 #1
0
        public void RemoveDriver(IDriver driver)
        {
            _store.Remove(driver);

            foreach (var child in driver.Children)
            {
                RemoveNode(child);
            }
        }
예제 #2
0
        public async Task NotifyDeleted(NodeInstance node)
        {
            await ExecuteAction(node, _ => _?.OnDelete(node));

            var driverNode = _mapper.Get(node.ObjId);

            if (driverNode == null)
            {
                return;
            }
            foreach (var child in driverNode.Children)
            {
                await NotifyDeleted(child.DriverContext.NodeInstance);
            }

            await driverNode.Stop();

            _mapper.Remove(driverNode);
        }