in src/main.ts [1004:1079]
protected registerProvider(options: undefined): Disposable {
const client = this._client;
let createNewSession = (connInfo: azdata.ConnectionInfo): Thenable<azdata.ObjectExplorerSessionResponse> => {
return client.sendRequest(protocol.ObjectExplorerCreateSessionRequest.type, connInfo).then(
r => r,
e => {
client.logFailedRequest(protocol.ObjectExplorerCreateSessionRequest.type, e);
return Promise.resolve(undefined);
}
);
};
let expandNode = (nodeInfo: azdata.ExpandNodeInfo): Thenable<boolean> => {
return client.sendRequest(protocol.ObjectExplorerExpandRequest.type, nodeInfo).then(
r => r,
e => {
client.logFailedRequest(protocol.ObjectExplorerExpandRequest.type, e);
return Promise.resolve(undefined);
}
);
};
let refreshNode = (nodeInfo: azdata.ExpandNodeInfo): Thenable<boolean> => {
return client.sendRequest(protocol.ObjectExplorerRefreshRequest.type, nodeInfo).then(
r => r,
e => {
client.logFailedRequest(protocol.ObjectExplorerRefreshRequest.type, e);
return Promise.resolve(undefined);
}
);
};
let closeSession = (closeSessionInfo: azdata.ObjectExplorerCloseSessionInfo): Thenable<any> => {
return client.sendRequest(protocol.ObjectExplorerCloseSessionRequest.type, closeSessionInfo).then(
r => r,
e => {
client.logFailedRequest(protocol.ObjectExplorerCloseSessionRequest.type, e);
return Promise.resolve(undefined);
}
);
};
let findNodes = (findNodesInfo: azdata.FindNodesInfo): Thenable<any> => {
return client.sendRequest(protocol.ObjectExplorerFindNodesRequest.type, findNodesInfo).then(
r => r,
e => {
client.logFailedRequest(protocol.ObjectExplorerFindNodesRequest.type, e);
return Promise.resolve(undefined);
}
);
};
let registerOnSessionCreated = (handler: (response: azdata.ObjectExplorerSession) => any): void => {
client.onNotification(protocol.ObjectExplorerCreateSessionCompleteNotification.type, handler);
};
let registerOnSessionDisconnected = (handler: (response: azdata.ObjectExplorerSession) => any): void => {
client.onNotification(protocol.ObjectExplorerSessionDisconnectedNotification.type, handler);
};
let registerOnExpandCompleted = (handler: (response: azdata.ObjectExplorerExpandInfo) => any): void => {
client.onNotification(protocol.ObjectExplorerExpandCompleteNotification.type, handler);
};
return azdata.dataprotocol.registerObjectExplorerProvider({
providerId: client.providerId,
closeSession,
createNewSession,
expandNode,
refreshNode,
findNodes,
registerOnExpandCompleted,
registerOnSessionCreated,
registerOnSessionDisconnected
});
}