UNPKG

@itwin/core-common

Version:

iTwin.js components common to frontend and backend

76 lines 4.5 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Bentley Systems, Incorporated. All rights reserved. * See LICENSE.md in the project root for license terms and full copyright notice. *--------------------------------------------------------------------------------------------*/ /** @packageDocumentation * @module RpcInterface */ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; import { RpcResponseCacheControl } from "./core/RpcConstants"; import { RpcOperation } from "./core/RpcOperation"; import { RpcInterface } from "../RpcInterface"; import { RpcManager } from "../RpcManager"; /** @public */ export class IModelTileRpcInterface extends RpcInterface { static getClient() { return RpcManager.getClientForInterface(IModelTileRpcInterface); } /** The immutable name of the interface. */ static interfaceName = "IModelTileRpcInterface"; /** The semantic version of the interface. */ static interfaceVersion = "3.2.0"; /*=========================================================================================== NOTE: Any add/remove/change to the methods below requires an update of the interface version. NOTE: Please consult the README in this folder for the semantic versioning rules. ===========================================================================================*/ /** Get storage config required to download tiles from the tile cache. * @returns undefined if the backend does not support caching. In that case, tiles must be requested using [[generateTileContent]]. * @beta */ async getTileCacheConfig(_tokenProps) { const response = await this.forward(arguments); return response && { ...response, expiration: new Date(response.expiration) }; } /** @internal */ async requestTileTreeProps(_tokenProps, _id) { return this.forward(arguments); } /** Ask the backend to generate content for the specified tile. This function, unlike the deprecated `requestTileContent`, does not check the cloud storage tile cache - * Use `CloudStorageTileCache.retrieve` for that. * @returns TileContentSource - if Backend, use retrieveTileContent. If ExternalCache, use TileAdmin.requestCachedTileContent * @internal */ async generateTileContent(_rpcProps, _treeId, _contentId, _guid) { return this.forward(arguments); } /** Retrieves tile content from the backend once it's generated by generateTileContent. * @internal */ async retrieveTileContent(_rpcProps, _key) { return this.forward(arguments); } /** @internal */ async queryVersionInfo() { return this.forward(arguments); } /** This is a temporary workaround for folks developing authoring applications, to be removed when proper support for such applications is introduced. * Given a set of model Ids, it purges any associated tile tree state on the back-end so that the next request for the tile tree or content will recreate that state. * Invoked after a modification is made to the model(s). * If no array of model Ids is supplied, it purges *all* tile trees, which can be quite inefficient. * @internal */ async purgeTileTrees(_tokenProps, _modelIds) { return this.forward(arguments); } /** Requests graphics for a single element in "iMdl" format. * @returns graphics in iMdl format, or `undefined` if the element's geometry produced no graphics or the request was canceled before completion. * @throws IModelError on bad request (nonexistent element, duplicate request Id, etc). * @internal */ async requestElementGraphics(_rpcProps, _request) { return this.forward(arguments); } } __decorate([ RpcOperation.allowResponseCaching(RpcResponseCacheControl.Immutable) ], IModelTileRpcInterface.prototype, "requestTileTreeProps", null); //# sourceMappingURL=IModelTileRpcInterface.js.map