/* eslint-disable */ import { ListAllMovesResponse, ListAllSequencesResponse, UploadChoreographyResponse, UploadAnimatedMoveResponse, ExecuteChoreographyResponse, StartRecordingStateResponse, StopRecordingStateResponse, DownloadRobotStateLogResponse, ListAllMovesRequest, ListAllSequencesRequest, UploadChoreographyRequest, UploadAnimatedMoveRequest, ExecuteChoreographyRequest, StartRecordingStateRequest, StopRecordingStateRequest, DownloadRobotStateLogRequest, } from "./choreography_sequence"; import { Observable } from "rxjs"; import { map } from "rxjs/operators"; import _m0 from "protobufjs/minimal"; export const protobufPackage = "bosdyn.api.spot"; export interface ChoreographyService { /** List the available dance moves and their parameter information. */ ListAllMoves(request: ListAllMovesRequest): Promise; /** List the available choreography sequences currently on the robot. */ ListAllSequences( request: ListAllSequencesRequest ): Promise; /** Upload a dance to the robot. */ UploadChoreography( request: UploadChoreographyRequest ): Promise; /** Upload an animation to the robot. */ UploadAnimatedMove( request: UploadAnimatedMoveRequest ): Promise; /** Execute the uploaded dance. */ ExecuteChoreography( request: ExecuteChoreographyRequest ): Promise; /** Manually start (or continue) recording the robot state. */ StartRecordingState( request: StartRecordingStateRequest ): Promise; /** Manually stop recording the robot state. */ StopRecordingState( request: StopRecordingStateRequest ): Promise; /** Download log of the latest recorded robot state information. */ DownloadRobotStateLog( request: DownloadRobotStateLogRequest ): Observable; } export class ChoreographyServiceClientImpl implements ChoreographyService { private readonly rpc: Rpc; constructor(rpc: Rpc) { this.rpc = rpc; this.ListAllMoves = this.ListAllMoves.bind(this); this.ListAllSequences = this.ListAllSequences.bind(this); this.UploadChoreography = this.UploadChoreography.bind(this); this.UploadAnimatedMove = this.UploadAnimatedMove.bind(this); this.ExecuteChoreography = this.ExecuteChoreography.bind(this); this.StartRecordingState = this.StartRecordingState.bind(this); this.StopRecordingState = this.StopRecordingState.bind(this); this.DownloadRobotStateLog = this.DownloadRobotStateLog.bind(this); } ListAllMoves(request: ListAllMovesRequest): Promise { const data = ListAllMovesRequest.encode(request).finish(); const promise = this.rpc.request( "bosdyn.api.spot.ChoreographyService", "ListAllMoves", data ); return promise.then((data) => ListAllMovesResponse.decode(new _m0.Reader(data)) ); } ListAllSequences( request: ListAllSequencesRequest ): Promise { const data = ListAllSequencesRequest.encode(request).finish(); const promise = this.rpc.request( "bosdyn.api.spot.ChoreographyService", "ListAllSequences", data ); return promise.then((data) => ListAllSequencesResponse.decode(new _m0.Reader(data)) ); } UploadChoreography( request: UploadChoreographyRequest ): Promise { const data = UploadChoreographyRequest.encode(request).finish(); const promise = this.rpc.request( "bosdyn.api.spot.ChoreographyService", "UploadChoreography", data ); return promise.then((data) => UploadChoreographyResponse.decode(new _m0.Reader(data)) ); } UploadAnimatedMove( request: UploadAnimatedMoveRequest ): Promise { const data = UploadAnimatedMoveRequest.encode(request).finish(); const promise = this.rpc.request( "bosdyn.api.spot.ChoreographyService", "UploadAnimatedMove", data ); return promise.then((data) => UploadAnimatedMoveResponse.decode(new _m0.Reader(data)) ); } ExecuteChoreography( request: ExecuteChoreographyRequest ): Promise { const data = ExecuteChoreographyRequest.encode(request).finish(); const promise = this.rpc.request( "bosdyn.api.spot.ChoreographyService", "ExecuteChoreography", data ); return promise.then((data) => ExecuteChoreographyResponse.decode(new _m0.Reader(data)) ); } StartRecordingState( request: StartRecordingStateRequest ): Promise { const data = StartRecordingStateRequest.encode(request).finish(); const promise = this.rpc.request( "bosdyn.api.spot.ChoreographyService", "StartRecordingState", data ); return promise.then((data) => StartRecordingStateResponse.decode(new _m0.Reader(data)) ); } StopRecordingState( request: StopRecordingStateRequest ): Promise { const data = StopRecordingStateRequest.encode(request).finish(); const promise = this.rpc.request( "bosdyn.api.spot.ChoreographyService", "StopRecordingState", data ); return promise.then((data) => StopRecordingStateResponse.decode(new _m0.Reader(data)) ); } DownloadRobotStateLog( request: DownloadRobotStateLogRequest ): Observable { const data = DownloadRobotStateLogRequest.encode(request).finish(); const result = this.rpc.serverStreamingRequest( "bosdyn.api.spot.ChoreographyService", "DownloadRobotStateLog", data ); return result.pipe( map((data) => DownloadRobotStateLogResponse.decode(new _m0.Reader(data))) ); } } interface Rpc { request( service: string, method: string, data: Uint8Array ): Promise; clientStreamingRequest( service: string, method: string, data: Observable ): Promise; serverStreamingRequest( service: string, method: string, data: Uint8Array ): Observable; bidirectionalStreamingRequest( service: string, method: string, data: Observable ): Observable; }