This repository was archived by the owner on Apr 14, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 132
Expand file tree
/
Copy pathIModuleDatabaseService.cs
More file actions
40 lines (37 loc) · 1.74 KB
/
IModuleDatabaseService.cs
File metadata and controls
40 lines (37 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// Copyright(c) Microsoft Corporation
// All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the License); you may not use
// this file except in compliance with the License. You may obtain a copy of the
// License at http://www.apache.org/licenses/LICENSE-2.0
//
// THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS
// OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY
// IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
// MERCHANTABILITY OR NON-INFRINGEMENT.
//
// See the Apache Version 2.0 License for specific language governing
// permissions and limitations under the License.
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Python.Analysis.Analyzer;
using Microsoft.Python.Analysis.Modules;
using Microsoft.Python.Analysis.Types;
namespace Microsoft.Python.Analysis.Caching {
internal interface IModuleDatabaseService: IModuleDatabaseCache {
/// <summary>
/// Restores module from database.
/// </summary>
IPythonModule RestoreModule(string moduleName, string modulePath, ModuleType moduleType);
/// <summary>
/// Writes module data to the database.
/// </summary>
/// <param name="analysis">Document analysis</param>
/// <param name="immediate">
/// True if database should be written to disk immediately
/// as opposed to delaying writing until complete analysis event from the <see cref="IPythonAnalyzer"/>
/// </param>
/// <param name="cancellationToken">Cancellation token</param>
Task StoreModuleAnalysisAsync(IDocumentAnalysis analysis, bool immediate = false, CancellationToken cancellationToken = default);
}
}