Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
PackageSessionAnalysisBase.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;
4 
5 using SiliconStudio.Core.Diagnostics;
6 
7 namespace SiliconStudio.Assets.Analysis
8 {
9  /// <summary>
10  /// Base class for all <see cref="Session"/> and <see cref="Asset"/> integrity analysis.
11  /// </summary>
12  public abstract class PackageSessionAnalysisBase
13  {
14  private readonly PackageSession packageSession;
15 
16  /// <summary>
17  /// Initializes a new instance of the <see cref="PackageSessionAnalysis" /> class.
18  /// </summary>
19  /// <param name="packageSession">The package session.</param>
20  /// <exception cref="System.ArgumentNullException">packageSession</exception>
21  protected PackageSessionAnalysisBase(PackageSession packageSession)
22  {
23  if (packageSession == null) throw new ArgumentNullException("packageSession");
24  this.packageSession = packageSession;
25  }
26 
27  /// <summary>
28  /// Gets the session.
29  /// </summary>
30  /// <value>The session.</value>
31  public PackageSession Session
32  {
33  get
34  {
35  return packageSession;
36  }
37  }
38 
39  /// <summary>
40  /// Performs a wide package validation analysis.
41  /// </summary>
42  /// <returns>Result of the validation.</returns>
43  public LoggerResult Run()
44  {
45  var results = new LoggerResult();
46  Run(results);
47  return results;
48  }
49 
50  /// <summary>
51  /// Performs a wide package validation analysis.
52  /// </summary>
53  /// <param name="log">The log to output the result of the validation.</param>
54  public abstract void Run(ILogger log);
55  }
56 }
SiliconStudio.Core.Diagnostics.LoggerResult LoggerResult
A logger that stores messages locally useful for internal log scenarios.
Definition: LoggerResult.cs:14
Base class for all Session and Asset integrity analysis.
LoggerResult Run()
Performs a wide package validation analysis.
A session for editing a package.
PackageSessionAnalysisBase(PackageSession packageSession)
Initializes a new instance of the PackageSessionAnalysis class.
Interface for logging.
Definition: ILogger.cs:8