Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
ICommandContext.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.Tasks;
5 using SiliconStudio.Core.Storage;
6 using SiliconStudio.Core.Diagnostics;
7 using SiliconStudio.Core.Serialization.Assets;
8 
9 namespace SiliconStudio.BuildEngine
10 {
11  public interface ICommandContext
12  {
13  Command CurrentCommand { get; }
14  Logger Logger { get; }
15  BuildParameterCollection BuildParameters { get; }
16 
17  IMetadataProvider MetadataProvider { get; }
18 
19  Task<ResultStatus> ScheduleAndExecuteCommand(Command command);
20 
21  IEnumerable<IDictionary<ObjectUrl, OutputObject>> GetOutputObjectsGroups();
22 
23  void RegisterInputDependency(ObjectUrl url);
24  void RegisterOutput(ObjectUrl url, ObjectId hash);
25 
26  void AddTag(ObjectUrl url, TagSymbol tagSymbol);
27 
28  void RegisterSpawnedCommandWithoutScheduling(Command command);
29  }
30 }
Base implementation for ILogger.
Definition: Logger.cs:10
A hash to uniquely identify data.
Definition: ObjectId.cs:13