IAppCache.cs
 1  // Copyright (c) Microsoft Corporation
 2  // The Microsoft Corporation licenses this file to you under the MIT license.
 3  // See the LICENSE file in the project root for more information.
 4  
 5  using System;
 6  using System.Collections.Generic;
 7  using Microsoft.CmdPal.Ext.Apps.Programs;
 8  
 9  namespace Microsoft.CmdPal.Ext.Apps;
10  
11  /// <summary>
12  /// Interface for application cache that provides access to Win32 and UWP applications.
13  /// </summary>
14  public interface IAppCache : IDisposable
15  {
16      /// <summary>
17      /// Gets the collection of Win32 programs.
18      /// </summary>
19      IList<Win32Program> Win32s { get; }
20  
21      /// <summary>
22      /// Gets the collection of UWP applications.
23      /// </summary>
24      IList<IUWPApplication> UWPs { get; }
25  
26      /// <summary>
27      /// Determines whether the cache should be reloaded.
28      /// </summary>
29      /// <returns>True if cache should be reloaded, false otherwise.</returns>
30      bool ShouldReload();
31  
32      /// <summary>
33      /// Resets the reload flag.
34      /// </summary>
35      void ResetReloadFlag();
36  }