@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
96 lines (95 loc) • 3.15 kB
TypeScript
import { Observable } from 'rxjs';
import { Rpc } from '../rpc/rpc';
import { ExtensionUpdateStatus, RpcSmeExtensionConfiguration, SmeExtensionEntries, SmeExtensions, SmeExtensionSearchOptions } from '../rpc/sme-extension/rpc-sme-extension-model';
/**
* Sme Extension Module Side Service.
*/
export declare class SmeExtension {
private rpc;
/**
* Subject for tracking RPC responses from the extension host.
*/
private watcher;
/**
* The source name to use when logging about this service.
*/
private get logSourceName();
/**
* Initializes a new instance of the Extension Manager class.
*
* @param rpc the rpc to forward auth requests to a parent window.
*/
constructor(rpc: Rpc);
/**
* Get available extension request.
*
* @returns an observable for the response message from the extension host.
*/
getAvailableExtensions(): Observable<SmeExtensions>;
/**
* Get installed extension request.
*
* @returns an observable for the response message from the extension host.
*/
getInstalledExtensions(): Observable<SmeExtensions>;
/**
* Get all extensions (available + installed) request.
*
* @returns an observable for the response message from the extension host.
*/
getAllExtensions(): Observable<SmeExtensions>;
/**
* Install the extension.
*
* @param config the configuration.
* @returns an observable for installed result of extension.
*/
installExtension(config: RpcSmeExtensionConfiguration): Observable<SmeExtensions>;
/**
* Gets the update status of extensions.
*
* @returns An observable for update status of extension availability.
*/
getUpdateStatus(): Observable<ExtensionUpdateStatus>;
/**
* Search the entry points that meet the search options.
*
* @param searchOptions the search options
*/
searchEntriesByCondition(searchOptions: SmeExtensionSearchOptions): Observable<SmeExtensionEntries>;
/**
* Internal method handles rpc request.
*
* @param request the result object
* @returns an observable for installed and available extensions.
*/
private handleRpcRequest;
/**
* Handles the installation request of extension.
*
* @param request the request object.
* @returns an observable for installed result.
*/
private handleRpcExtensionWriteRequest;
/**
* Handles rpc request of extension update status.
*
* @param request the result object
* @returns an observable for update status of extension availability.
*/
private handleRpcUpdateStatusRequest;
/**
* Handles rpc request of extension search entry points.
*
* @param request the result object
* @returns an observable for extension entries.
*/
private handleRpcSearchEntryPointsRequest;
/**
* Handles rpc response messages from the extension host.
*
* @param data the result of the extension host request.
* @returns the promise of RPC response.
*/
private onRpcResponse;
}