Begin defining Extension-based Notebook Provider (#3172)

Implements provider contribution in the MainThreadNotebook, with matching function calls in the ExtHostNotebook class. This will allow us to proxy through notebook providers (specifically, creation of a notebook manager with required content, server managers) from an extension up through to the main process.

Implemented in this PR:
- Callthroughs for content and server manager APIs
- Very basic unit tests covering provider & manager registration

Not implemented:
- Fuller unit tests on the specific callthrough methods for content & server manager.
- Contribution point needed to test this (so we can actually pass through the extension's existing Notebook implementation)
This commit is contained in:
Kevin Cunnane
2018-11-08 13:06:40 -08:00
committed by GitHub
parent 71c14a0837
commit 9765269d27
14 changed files with 597 additions and 49 deletions

View File

@@ -21,7 +21,7 @@ import { NotebookConnection } from 'sql/parts/notebook/models/notebookConnection
import { IConnectionManagementService } from 'sql/parts/connection/common/connectionManagement';
export interface IClientSessionOptions {
path: string;
notebookUri: URI;
notebookManager: INotebookManager;
notificationService: INotificationService;
}
@@ -73,7 +73,7 @@ export interface IClientSession extends IDisposable {
/**
* The current path associated with the client session.
*/
readonly path: string;
readonly notebookUri: URI;
/**
* The current name associated with the client session.
@@ -354,7 +354,7 @@ export interface INotebookModelOptions {
/**
* Path to the local or remote notebook
*/
path: string;
notebookUri: URI;
/**
* Factory for creating cells and client sessions