Add API for extensions to get data protocol providers (#1518)

This commit is contained in:
Matt Irvine
2018-05-30 16:37:11 -07:00
committed by GitHub
parent edc60e0ad1
commit 14a7a5534f
5 changed files with 139 additions and 109 deletions

View File

@@ -697,4 +697,35 @@ declare module 'sqlops' {
*/
readonly retainContextWhenHidden?: boolean;
}
export enum DataProviderType {
ConnectionProvider = 'ConnectionProvider',
BackupProvider = 'BackupProvider',
RestoreProvider = 'RestoreProvider',
ScriptingProvider = 'ScriptingProvider',
ObjectExplorerProvider = 'ObjectExplorerProvider',
TaskServicesProvider = 'TaskServicesProvider',
FileBrowserProvider = 'FileBrowserProvider',
ProfilerProvider = 'ProfilerProvider',
MetadataProvider = 'MetadataProvider',
QueryProvider = 'QueryProvider',
AdminServicesProvider = 'AdminServicesProvider',
AgentServicesProvider = 'AgentServicesProvider',
CapabilitiesProvider = 'CapabilitiesProvider'
}
export namespace dataprotocol {
/**
* Get the provider corresponding to the given provider ID and type
* @param providerId The ID that the provider was registered with
* @param providerType The type of the provider
*/
export function getProvider<T extends DataProvider>(providerId: string, providerType: DataProviderType): T;
/**
* Get all registered providers of the given type
* @param providerType The type of the providers
*/
export function getProvidersByType<T extends DataProvider>(providerType: DataProviderType): T[];
}
}