#region Using Statements using System; using System.Collections.Generic; using System.Linq; using System.Text; using ANX.Framework.Graphics; using ANX.Framework.NonXNA.Development; #endregion // This file is part of the ANX.Framework created by the // "ANX.Framework developer group" and released under the Ms-PL license. // For details see: http://anxframework.codeplex.com/license namespace ANX.Framework.Content.Pipeline { public abstract class ContentProcessorContext { public ContentProcessorContext() { } public abstract string BuildConfiguration { get; } public abstract string IntermediateDirectory { get; } public abstract ContentBuildLogger Logger { get; } public abstract string OutputDirectory { get; } public abstract string OutputFilename { get; } public abstract OpaqueDataDictionary Parameters { get; } public abstract TargetPlatform TargetPlatform { get; } public abstract GraphicsProfile TargetProfile { get; } public abstract void AddDependency(string filename); public abstract void AddOutputFile(string filename); public TOutput BuildAndLoadAsset(ExternalReference sourceAsset, string processorName) { return this.BuildAndLoadAsset(sourceAsset, processorName, null, null); } public abstract TOutput BuildAndLoadAsset(ExternalReference sourceAsset, string processorName, OpaqueDataDictionary processorParameters, string importerName); public ExternalReference BuildAsset(ExternalReference sourceAsset, string processorName) { return this.BuildAsset(sourceAsset, processorName, null, null, null); } public abstract ExternalReference BuildAsset(ExternalReference sourceAsset, string processorName, OpaqueDataDictionary processorParameters, string importerName, string assetName); /// /// Converts a content item object using the specified content processor. /// /// Type of the input content. /// Type of the converted output. /// Source content to be converted. /// Optional processor for this content. /// Reference of the final converted content. public TOutput Convert(TInput input, string processorName) { return this.Convert(input, processorName, null); } /// /// Converts a content item object using the specified content processor. /// /// Type of the input content. /// Type of the converted output. /// Source content to be converted. /// Optional processor for this content. /// Optional paramters for the processor. /// Reference of the final converted content. public abstract TOutput Convert(TInput input, string processorName, OpaqueDataDictionary processorParameters); } }