mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-23 01:25:38 -05:00
Differentiated server icons by server type: box, big data cluster, cloud... (#5241)
This commit is contained in:
@@ -136,6 +136,12 @@ export class ExtHostDataProtocol extends ExtHostDataProtocolShape {
|
||||
return rt;
|
||||
}
|
||||
|
||||
$registerIconProvider(provider: azdata.IconProvider): vscode.Disposable {
|
||||
let rt = this.registerProvider(provider, DataProviderType.IconProvider);
|
||||
this._proxy.$registerIconProvider(provider.providerId, provider.handle);
|
||||
return rt;
|
||||
}
|
||||
|
||||
$registerProfilerProvider(provider: azdata.ProfilerProvider): vscode.Disposable {
|
||||
let rt = this.registerProvider(provider, DataProviderType.ProfilerProvider);
|
||||
this._proxy.$registerProfilerProvider(provider.providerId, provider.handle);
|
||||
@@ -330,6 +336,10 @@ export class ExtHostDataProtocol extends ExtHostDataProtocolShape {
|
||||
this._proxy.$onEditSessionReady(handle, ownerUri, success, message);
|
||||
}
|
||||
|
||||
public $getConnectionIconId(handle: number, connection: azdata.IConnectionProfile, serverInfo: azdata.ServerInfo): Thenable<string> {
|
||||
return this._resolveProvider<azdata.IconProvider>(handle).getConnectionIconId(connection, serverInfo);
|
||||
}
|
||||
|
||||
// Metadata handlers
|
||||
public $getMetadata(handle: number, connectionUri: string): Thenable<azdata.ProviderMetadata> {
|
||||
return this._resolveProvider<azdata.MetadataProvider>(handle).getMetadata(connectionUri);
|
||||
|
||||
@@ -278,6 +278,16 @@ export class MainThreadDataProtocol implements MainThreadDataProtocolShape {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
public $registerIconProvider(providerId: string, handle: number): Promise<any> {
|
||||
const self = this;
|
||||
this._connectionManagementService.registerIconProvider(providerId, <azdata.IconProvider>{
|
||||
getConnectionIconId(connection: azdata.IConnectionProfile, serverInfo: azdata.ServerInfo): Thenable<string> {
|
||||
return self._proxy.$getConnectionIconId(handle, connection, serverInfo);
|
||||
}
|
||||
});
|
||||
return undefined;
|
||||
}
|
||||
|
||||
public $registerTaskServicesProvider(providerId: string, handle: number): Promise<any> {
|
||||
const self = this;
|
||||
this._taskService.registerProvider(providerId, <azdata.TaskServicesProvider>{
|
||||
|
||||
@@ -269,6 +269,10 @@ export function createApiFactory(
|
||||
return extHostDataProvider.$registerObjectExplorerNodeProvider(provider);
|
||||
};
|
||||
|
||||
let registerIconProvider = (provider: azdata.IconProvider): vscode.Disposable => {
|
||||
return extHostDataProvider.$registerIconProvider(provider);
|
||||
};
|
||||
|
||||
let registerTaskServicesProvider = (provider: azdata.TaskServicesProvider): vscode.Disposable => {
|
||||
provider.registerOnTaskCreated((response: azdata.TaskInfo) => {
|
||||
extHostDataProvider.$onTaskCreated(provider.handle, response);
|
||||
@@ -365,6 +369,7 @@ export function createApiFactory(
|
||||
registerMetadataProvider,
|
||||
registerObjectExplorerProvider,
|
||||
registerObjectExplorerNodeProvider,
|
||||
registerIconProvider,
|
||||
registerProfilerProvider,
|
||||
registerRestoreProvider,
|
||||
registerScriptingProvider,
|
||||
|
||||
@@ -102,6 +102,8 @@ export abstract class ExtHostDataProtocolShape {
|
||||
|
||||
$getServerCapabilities(handle: number, client: azdata.DataProtocolClientCapabilities): Thenable<azdata.DataProtocolServerCapabilities> { throw ni(); }
|
||||
|
||||
$getConnectionIconId(handle: number, connection: azdata.IConnectionProfile, serverInfo: azdata.ServerInfo): Thenable<string> { throw ni(); }
|
||||
|
||||
/**
|
||||
* Metadata service methods
|
||||
*
|
||||
@@ -541,6 +543,7 @@ export interface MainThreadDataProtocolShape extends IDisposable {
|
||||
$registerProfilerProvider(providerId: string, handle: number): Promise<any>;
|
||||
$registerObjectExplorerProvider(providerId: string, handle: number): Promise<any>;
|
||||
$registerObjectExplorerNodeProvider(providerId: string, supportedProviderId: string, group: string, handle: number): Promise<any>;
|
||||
$registerIconProvider(providerId: string, handle: number): Promise<any>;
|
||||
$registerMetadataProvider(providerId: string, handle: number): Promise<any>;
|
||||
$registerTaskServicesProvider(providerId: string, handle: number): Promise<any>;
|
||||
$registerFileBrowserProvider(providerId: string, handle: number): Promise<any>;
|
||||
|
||||
Reference in New Issue
Block a user