protected registerProvider()

in src/main.ts [1156:1195]


	protected registerProvider(options: undefined): Disposable {
		const client = this._client;

		let getAllTasks = (listTasksParams: azdata.ListTasksParams): Thenable<azdata.ListTasksResponse> => {
			return client.sendRequest(protocol.ListTasksRequest.type, listTasksParams).then(
				r => r,
				e => {
					client.logFailedRequest(protocol.ListTasksRequest.type, e);
					return Promise.resolve(undefined);
				}
			);

		};

		let cancelTask = (cancelTaskParams: azdata.CancelTaskParams): Thenable<boolean> => {
			return client.sendRequest(protocol.CancelTaskRequest.type, cancelTaskParams).then(
				r => r,
				e => {
					client.logFailedRequest(protocol.CancelTaskRequest.type, e);
					return Promise.resolve(undefined);
				}
			);
		};

		let registerOnTaskCreated = (handler: (response: azdata.TaskInfo) => any): void => {
			client.onNotification(protocol.TaskCreatedNotification.type, handler);
		};

		let registerOnTaskStatusChanged = (handler: (response: azdata.TaskProgressInfo) => any): void => {
			client.onNotification(protocol.TaskStatusChangedNotification.type, handler);
		};

		return azdata.dataprotocol.registerTaskServicesProvider({
			providerId: client.providerId,
			cancelTask,
			getAllTasks,
			registerOnTaskCreated,
			registerOnTaskStatusChanged
		});
	}