Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
IExecuteContext.cs
Go to the documentation of this file.
1 // Copyright (c) 2014 Silicon Studio Corp. (http://siliconstudio.co.jp)
2 // This file is distributed under GPL v3. See LICENSE.md for details.
3 using System.Collections.Generic;
4 using System.Threading;
5 
6 using SiliconStudio.Core.Storage;
7 using SiliconStudio.Core.Diagnostics;
8 using SiliconStudio.Core.Serialization.Assets;
9 
10 namespace SiliconStudio.BuildEngine
11 {
12  public interface IPrepareContext
13  {
14  Logger Logger { get; }
15  ObjectId ComputeInputHash(UrlType type, string filePath);
16  }
17 
18  public interface IExecuteContext : IPrepareContext
19  {
20  CancellationTokenSource CancellationTokenSource { get; }
21  ObjectDatabase ResultMap { get; }
22  Dictionary<string, string> Variables { get; }
23  IMetadataProvider MetadataProvider { get; }
24 
25  void ScheduleBuildStep(BuildStep step);
26 
27  IEnumerable<IDictionary<ObjectUrl, OutputObject>> GetOutputObjectsGroups();
28 
29  CommandBuildStep IsCommandCurrentlyRunning(ObjectId commandHash);
30  void NotifyCommandBuildStepStarted(CommandBuildStep commandBuildStep, ObjectId commandHash);
31  void NotifyCommandBuildStepFinished(CommandBuildStep commandBuildStep, ObjectId commandHash);
32  }
33 }
Gives access to the object database.
Base implementation for ILogger.
Definition: Logger.cs:10
A hash to uniquely identify data.
Definition: ObjectId.cs:13