Exemple #1
0
        async Task OpenResource(ResourceNode node, Task canStart)
        {
            await canStart;

            foreach (var dep in node.StrongDependencies)
            {
                await openTasks[dep];
            }

            Stopwatch swatch = Stopwatch.StartNew();

            // start a new thread to do synchronous work
            await Task.Factory.StartNew(node.Resource.Open);

            var reslog = GetLogSource(node.Resource);

            reslog.Info(swatch, "Resource \"{0}\" opened.", node.Resource);

            foreach (var dep in node.WeakDependencies)
            {
                await openTasks[dep];
            }

            ResourceOpened?.Invoke(node.Resource);
        }
 protected virtual void OnResourceOpened(ResourceOpenedEventArgs e)
 {
     ResourceOpened?.Invoke(this, e);
 }
Exemple #3
0
 void ResourceOpenedCallback(IResource resource)
 {
     ResourceOpened?.Invoke(resource);
 }