E:\Devel\PlayniteDiagTool\PlayniteDiagTool\bin\Debug\temp\PlayniteSDK\IPlayniteAPI.cs e:\Devel\Playnite\source\PlayniteSDK\IPlayniteAPI.cs
using Playnite.SDK.Models; using Playnite.SDK.Models;
using Playnite.SDK.Plugins; using Playnite.SDK.Plugins;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
   
namespace Playnite.SDK namespace Playnite.SDK
{ {
   /// <summary>    /// <summary>
   /// Describes object providing Playnite API.    /// Describes object providing Playnite API.
   /// </summary>    /// </summary>
   public interface IPlayniteAPI    public interface IPlayniteAPI
   {    {
       /// <summary>        /// <summary>
       /// Gest main view API.        /// Gest main view API.
       /// </summary>        /// </summary>
       IMainViewAPI MainView { get; }        IMainViewAPI MainView { get; }
   
       /// <summary>        /// <summary>
       /// Gets database API.        /// Gets database API.
       /// </summary>        /// </summary>
       IGameDatabaseAPI Database { get; }        IGameDatabaseAPI Database { get; }
   
       /// <summary>        /// <summary>
       /// Gets dialog API.        /// Gets dialog API.
       /// </summary>        /// </summary>
       IDialogsFactory Dialogs { get; }        IDialogsFactory Dialogs { get; }
   
       /// <summary>        /// <summary>
       /// Gets paths API.        /// Gets paths API.
       /// </summary>        /// </summary>
       IPlaynitePathsAPI Paths { get; }        IPlaynitePathsAPI Paths { get; }
   
       /// <summary>        /// <summary>
       /// Gets notification API.        /// Gets notification API.
       /// </summary>        /// </summary>
       INotificationsAPI Notifications { get; }        INotificationsAPI Notifications { get; }
   
       /// <summary>        /// <summary>
       /// Gets application info API.        /// Gets application info API.
       /// </summary>        /// </summary>
       IPlayniteInfoAPI ApplicationInfo { get; }        IPlayniteInfoAPI ApplicationInfo { get; }
   
       /// <summary>        /// <summary>
       /// Gets web view API.        /// Gets web view API.
       /// </summary>        /// </summary>
       IWebViewFactory WebViews { get; }        IWebViewFactory WebViews { get; }
   
       /// <summary>        /// <summary>
       /// Gets resources API.        /// Gets resources API.
       /// </summary>        /// </summary>
       IResourceProvider Resources { get; }        IResourceProvider Resources { get; }
   
       /// <summary>        /// <summary>
       /// Gets URI handler API.        /// Gets URI handler API.
       /// </summary>        /// </summary>
       IUriHandlerAPI UriHandler { get; }        IUriHandlerAPI UriHandler { get; }
   
       /// <summary>        /// <summary>
       /// Get application settings API.        /// Get application settings API.
       /// </summary>        /// </summary>
       IPlayniteSettingsAPI ApplicationSettings { get; }        IPlayniteSettingsAPI ApplicationSettings { get; }
   
       /// <summary>        /// <summary>
.         /// Gets addons API.
         /// </summary>
         IAddons Addons { get; }
   
         /// <summary>
         /// Gets emulation API.
         /// </summary>
         IEmulationAPI Emulation { get; }
   
         /// <summary>
       /// Expands dynamic game variables in specified string.        /// Expands dynamic game variables in specified string.
       /// </summary>        /// </summary>
       /// <param name="game">Game to use dynamic variables from.</param>        /// <param name="game">Game to use dynamic variables from.</param>
       /// <param name="inputString">String containing dynamic variables.</param>        /// <param name="inputString">String containing dynamic variables.</param>
       /// <returns>String with replaces variables.</returns>        /// <returns>String with replaces variables.</returns>
       string ExpandGameVariables(Game game, string inputString);        string ExpandGameVariables(Game game, string inputString);
   
       /// <summary>        /// <summary>
       /// Expands dynamic game variables in specified game action.        /// Expands dynamic game variables in specified game action.
       /// </summary>        /// </summary>
       /// <param name="game">Game to use dynamic variables from.</param>        /// <param name="game">Game to use dynamic variables from.</param>
       /// <param name="action">Game action to expand variables to.</param>        /// <param name="action">Game action to expand variables to.</param>
       /// <returns>Game action with expanded variables.</returns>        /// <returns>Game action with expanded variables.</returns>
.        GameAction ExpandGameVariables(Game game, GameAction action);        Models.GameAction ExpandGameVariables(Game game, Models.GameAction action);
   
       /// <summary>        /// <summary>
.        /// Returns new instance of Playnite logger.        /// Starts game.
       /// </summary>        /// </summary>
.        /// <param name="name">Logger name.</param>        /// <param name="gameId">Game's database ID.</param>
       /// <returns>Logger object.</returns>         void StartGame(Guid gameId);
       ILogger CreateLogger(string name);  
   
       /// <summary>        /// <summary>
.        /// Creates new instance of Playnite logger with name of calling class.        /// Installs game.
       /// </summary>        /// </summary>
.        /// <returns>Logger object.</returns>        /// <param name="gameId">Game's database ID.</param>
       ILogger CreateLogger();        void InstallGame(Guid gameId);
   
       /// <summary>        /// <summary>
.        /// Starts game.        /// Uninstalls game.
       /// </summary>        /// </summary>
       /// <param name="gameId">Game's database ID.</param>        /// <param name="gameId">Game's database ID.</param>
.        void StartGame(Guid gameId);        void UninstallGame(Guid gameId);
   
         /// <summary> 
         /// 
         /// </summary> 
         /// <param name="source"></param> 
         /// <param name="args"></param> 
         void AddCustomElementSupport(Plugin source, AddCustomElementSupportArgs args); 
   
         /// <summary> 
         /// 
         /// </summary> 
         /// <param name="source"></param> 
         /// <param name="args"></param> 
         void AddSettingsSupport(Plugin source, AddSettingsSupportArgs args); 
     } 
   
     /// <summary> 
     /// Represents access class to API instances. 
     /// </summary> 
     public static class API 
     { 
         /// <summary> 
         /// Gets Playnite API. 
         /// </summary> 
         public static IPlayniteAPI Instance { get; internal set; } 
   }    }
} }