ATL-750: Handle board name change after install.

Signed-off-by: Akos Kitta <kittaakos@typefox.io>
This commit is contained in:
Akos Kitta 2020-12-02 09:03:04 +01:00 committed by Akos Kitta
parent 7696e2c4c9
commit c024a8d3d1
26 changed files with 674 additions and 79 deletions

2
.vscode/launch.json vendored
View File

@ -34,6 +34,7 @@
"args": [
"--log-level=debug",
"--hostname=localhost",
"--no-cluster",
"--remote-debugging-port=9222",
"--no-app-auto-install",
"--plugins=local-dir:plugins"
@ -60,6 +61,7 @@
"args": [
"--hostname=0.0.0.0",
"--port=3000",
"--no-cluster",
"--no-app-auto-install",
"--plugins=local-dir:plugins"
],

View File

@ -120,7 +120,7 @@
],
"arduino": {
"cli": {
"version": "20201112"
"version": "20201201"
}
}
}

View File

@ -272,8 +272,8 @@ export class ArduinoFrontendContribution implements FrontendApplicationContribut
}
});
registry.registerCommand(ArduinoCommands.OPEN_BOARDS_DIALOG, {
execute: async () => {
const boardsConfig = await this.boardsConfigDialog.open();
execute: async (query?: string | undefined) => {
const boardsConfig = await this.boardsConfigDialog.open(query);
if (boardsConfig) {
this.boardsServiceClientImpl.boardsConfig = boardsConfig;
}

View File

@ -19,6 +19,7 @@ export class BoardsConfigDialogWidget extends ReactWidget {
@inject(NotificationCenter)
protected readonly notificationCenter: NotificationCenter;
protected readonly onFilterTextDidChangeEmitter = new Emitter<string>();
protected readonly onBoardConfigChangedEmitter = new Emitter<BoardsConfig.Config>();
readonly onBoardConfigChanged = this.onBoardConfigChangedEmitter.event;
@ -27,6 +28,14 @@ export class BoardsConfigDialogWidget extends ReactWidget {
constructor() {
super();
this.id = 'select-board-dialog';
this.toDispose.pushAll([
this.onBoardConfigChangedEmitter,
this.onFilterTextDidChangeEmitter
]);
}
search(query: string): void {
this.onFilterTextDidChangeEmitter.fire(query);
}
protected fireConfigChanged = (config: BoardsConfig.Config) => {
@ -43,7 +52,8 @@ export class BoardsConfigDialogWidget extends ReactWidget {
boardsServiceProvider={this.boardsServiceClient}
notificationCenter={this.notificationCenter}
onConfigChange={this.fireConfigChanged}
onFocusNodeSet={this.setFocusNode} />
onFocusNodeSet={this.setFocusNode}
onFilteredTextDidChangeEvent={this.onFilterTextDidChangeEmitter.event} />
</div>;
}

View File

@ -1,10 +1,10 @@
import { injectable, inject, postConstruct } from 'inversify';
import { Message } from '@phosphor/messaging';
import { AbstractDialog, DialogProps, Widget, DialogError } from '@theia/core/lib/browser';
import { BoardsService } from '../../common/protocol/boards-service';
import { BoardsConfig } from './boards-config';
import { BoardsConfigDialogWidget } from './boards-config-dialog-widget';
import { BoardsService } from '../../common/protocol/boards-service';
import { BoardsServiceProvider } from './boards-service-provider';
import { BoardsConfigDialogWidget } from './boards-config-dialog-widget';
@injectable()
export class BoardsConfigDialogProps extends DialogProps {
@ -42,6 +42,16 @@ export class BoardsConfigDialog extends AbstractDialog<BoardsConfig.Config> {
}));
}
/**
* Pass in an empty string if you want to reset the search term. Using `undefined` has no effect.
*/
async open(query: string | undefined = undefined): Promise<BoardsConfig.Config | undefined> {
if (typeof query === 'string') {
this.widget.search(query);
}
return super.open();
}
protected createDescription(): HTMLElement {
const head = document.createElement('div');
head.classList.add('head');

View File

@ -1,10 +1,11 @@
import * as React from 'react';
import { Event } from '@theia/core/lib/common/event';
import { notEmpty } from '@theia/core/lib/common/objects';
import { MaybePromise } from '@theia/core/lib/common/types';
import { DisposableCollection } from '@theia/core/lib/common/disposable';
import { Board, Port, AttachedBoardsChangeEvent } from '../../common/protocol/boards-service';
import { BoardsServiceProvider } from './boards-service-provider';
import { Board, Port, AttachedBoardsChangeEvent, BoardWithPackage } from '../../common/protocol/boards-service';
import { NotificationCenter } from '../notification-center';
import { MaybePromise } from '@theia/core';
import { BoardsServiceProvider } from './boards-service-provider';
export namespace BoardsConfig {
@ -18,10 +19,11 @@ export namespace BoardsConfig {
readonly notificationCenter: NotificationCenter;
readonly onConfigChange: (config: Config) => void;
readonly onFocusNodeSet: (element: HTMLElement | undefined) => void;
readonly onFilteredTextDidChangeEvent: Event<string>;
}
export interface State extends Config {
searchResults: Array<Board & { packageName: string }>;
searchResults: Array<BoardWithPackage>;
knownPorts: Port[];
showAllPorts: boolean;
query: string;
@ -91,7 +93,8 @@ export class BoardsConfig extends React.Component<BoardsConfig.Props, BoardsConf
this.props.notificationCenter.onPlatformUninstalled(() => this.updateBoards(this.state.query)),
this.props.notificationCenter.onIndexUpdated(() => this.updateBoards(this.state.query)),
this.props.notificationCenter.onDaemonStarted(() => this.updateBoards(this.state.query)),
this.props.notificationCenter.onDaemonStopped(() => this.setState({ searchResults: [] }))
this.props.notificationCenter.onDaemonStopped(() => this.setState({ searchResults: [] })),
this.props.onFilteredTextDidChangeEvent(query => this.setState({ query }, () => this.updateBoards(this.state.query)))
]);
}
@ -105,10 +108,9 @@ export class BoardsConfig extends React.Component<BoardsConfig.Props, BoardsConf
}
protected updateBoards = (eventOrQuery: React.ChangeEvent<HTMLInputElement> | string = '') => {
const query = (typeof eventOrQuery === 'string'
const query = typeof eventOrQuery === 'string'
? eventOrQuery
: eventOrQuery.target.value.toLowerCase()
).trim();
: eventOrQuery.target.value.toLowerCase();
this.setState({ query });
this.queryBoards({ query }).then(searchResults => this.setState({ searchResults }));
}
@ -124,7 +126,7 @@ export class BoardsConfig extends React.Component<BoardsConfig.Props, BoardsConf
});
}
protected queryBoards = (options: { query?: string } = {}): Promise<Array<Board & { packageName: string }>> => {
protected queryBoards = (options: { query?: string } = {}): Promise<Array<BoardWithPackage>> => {
return this.props.boardsServiceProvider.searchBoards(options);
}
@ -145,7 +147,7 @@ export class BoardsConfig extends React.Component<BoardsConfig.Props, BoardsConf
this.setState({ selectedPort }, () => this.fireConfigChanged());
}
protected selectBoard = (selectedBoard: Board & { packageName: string } | undefined) => {
protected selectBoard = (selectedBoard: BoardWithPackage | undefined) => {
this.setState({ selectedBoard }, () => this.fireConfigChanged());
}
@ -175,7 +177,7 @@ export class BoardsConfig extends React.Component<BoardsConfig.Props, BoardsConf
}
protected renderBoards(): React.ReactNode {
const { selectedBoard, searchResults } = this.state;
const { selectedBoard, searchResults, query } = this.state;
// Board names are not unique per core https://github.com/arduino/arduino-pro-ide/issues/262#issuecomment-661019560
// It is tricky when the core is not yet installed, no FQBNs are available.
const distinctBoards = new Map<string, Board.Detailed>();
@ -189,11 +191,18 @@ export class BoardsConfig extends React.Component<BoardsConfig.Props, BoardsConf
return <React.Fragment>
<div className='search'>
<input type='search' className='theia-input' placeholder='SEARCH BOARD' onChange={this.updateBoards} ref={this.focusNodeSet} />
<input
type='search'
value={query}
className='theia-input'
placeholder='SEARCH BOARD'
onChange={this.updateBoards}
ref={this.focusNodeSet}
/>
<i className='fa fa-search'></i>
</div>
<div className='boards list'>
{Array.from(distinctBoards.values()).map(board => <Item<Board & { packageName: string }>
{Array.from(distinctBoards.values()).map(board => <Item<BoardWithPackage>
key={`${board.name}-${board.packageName}`}
item={board}
label={board.name}

View File

@ -83,7 +83,7 @@ export class BoardsDataStore implements FrontendApplicationContribution {
}
const key = this.getStorageKey(fqbn, version);
let data = await this.storageService.getData<BoardsDataStore.Data | undefined>(key, undefined);
if (data) {
if (BoardsDataStore.Data.is(data)) {
return data;
}
@ -202,5 +202,10 @@ export namespace BoardsDataStore {
configOptions: [],
programmers: []
};
export function is(arg: any): arg is Data {
return !!arg
&& 'configOptions' in arg && Array.isArray(arg['configOptions'])
&& 'programmers' in arg && Array.isArray(arg['programmers'])
}
}
}

View File

@ -10,15 +10,18 @@ import {
Board,
BoardsService,
BoardsPackage,
AttachedBoardsChangeEvent
AttachedBoardsChangeEvent,
BoardWithPackage
} from '../../common/protocol';
import { BoardsConfig } from './boards-config';
import { naturalCompare } from '../../common/utils';
import { compareAnything } from '../theia/monaco/comparers';
import { NotificationCenter } from '../notification-center';
import { CommandService } from '@theia/core';
import { ArduinoCommands } from '../arduino-commands';
interface BoardMatch {
readonly board: Board & Readonly<{ packageName: string }>;
readonly board: BoardWithPackage;
readonly matches: monaco.filters.IMatch[] | undefined;
}
@ -37,6 +40,9 @@ export class BoardsServiceProvider implements FrontendApplicationContribution {
@inject(BoardsService)
protected boardsService: BoardsService;
@inject(CommandService)
protected commandService: CommandService;
@inject(NotificationCenter)
protected notificationCenter: NotificationCenter;
@ -107,6 +113,19 @@ export class BoardsServiceProvider implements FrontendApplicationContribution {
};
return;
}
// The board name can change after install.
// This logic handles it "gracefully" by unselecting the board, so that we can avoid no FQBN is set error.
// https://github.com/arduino/arduino-cli/issues/620
// https://github.com/arduino/arduino-pro-ide/issues/374
if (BoardWithPackage.is(selectedBoard) && selectedBoard.packageId === event.item.id && !installedBoard) {
this.messageService.warn(`Could not find previously selected board '${selectedBoard.name}' in installed platform '${event.item.name}'. Please manually reselect the board you want to use. Do you want to reselect it now?`, 'Reselect later', 'Yes').then(async answer => {
if (answer === 'Yes') {
this.commandService.executeCommand(ArduinoCommands.OPEN_BOARDS_DIALOG.id, selectedBoard.name);
}
});
this.boardsConfig = {}
return;
}
// Trigger a board re-set. See: https://github.com/arduino/arduino-cli/issues/954
// E.g: install `adafruit:avr`, then select `adafruit:avr:adafruit32u4` board, and finally install the required `arduino:avr`
this.boardsConfig = this.boardsConfig;
@ -173,15 +192,15 @@ export class BoardsServiceProvider implements FrontendApplicationContribution {
}
}
async searchBoards({ query, cores }: { query?: string, cores?: string[] }): Promise<Array<Board & { packageName: string }>> {
async searchBoards({ query, cores }: { query?: string, cores?: string[] }): Promise<Array<BoardWithPackage>> {
const boards = await this.boardsService.allBoards({});
const coresFilter = !!cores && cores.length
? ((toFilter: { packageName: string }) => cores.some(core => core === toFilter.packageName))
? ((toFilter: BoardWithPackage) => cores.some(core => core === toFilter.packageName || core === toFilter.packageId))
: () => true;
if (!query) {
return boards.filter(coresFilter).sort(Board.compare);
}
const toMatch = ((toFilter: Board & { packageName: string }) => (({ board: toFilter, matches: monaco.filters.matchesFuzzy(query, toFilter.name, true) })));
const toMatch = ((toFilter: BoardWithPackage) => (({ board: toFilter, matches: monaco.filters.matchesFuzzy(query, toFilter.name, true) })));
const compareEntries = (left: BoardMatch, right: BoardMatch, lookFor: string) => {
const leftMatches = left.matches || [];
const rightMatches = right.matches || [];

View File

@ -104,7 +104,7 @@ export interface BoardsService extends Installable<BoardsPackage>, Searchable<Bo
getContainerBoardPackage(options: { fqbn: string }): Promise<BoardsPackage | undefined>;
// The CLI cannot do fuzzy search. This method provides all boards and we do the fuzzy search (with monaco) on the frontend.
// https://github.com/arduino/arduino-cli/issues/629
allBoards(options: {}): Promise<Array<Board & { packageName: string }>>;
allBoards(options: {}): Promise<Array<BoardWithPackage>>;
}
export interface Port {
@ -255,6 +255,18 @@ export interface Board {
readonly port?: Port;
}
export interface BoardWithPackage extends Board {
readonly packageName: string;
readonly packageId: string;
}
export namespace BoardWithPackage {
export function is(board: Board & Partial<{ packageName: string, packageId: string }>): board is BoardWithPackage {
return !!board.packageId && !!board.packageName;
}
}
export interface BoardDetails {
readonly fqbn: string;
readonly requiredTools: Tool[];
@ -381,10 +393,10 @@ export namespace Board {
return `${board.name}${fqbn}`;
}
export type Detailed = Board & Readonly<{ selected: boolean, missing: boolean, packageName: string, details?: string }>;
export type Detailed = Board & Readonly<{ selected: boolean, missing: boolean, packageName: string, packageId: string, details?: string }>;
export function decorateBoards(
selectedBoard: Board | undefined,
boards: Array<Board & { packageName: string }>): Array<Detailed> {
boards: Array<BoardWithPackage>): Array<Detailed> {
// Board names are not unique. We show the corresponding core name as a detail.
// https://github.com/arduino/arduino-cli/pull/294#issuecomment-513764948
const distinctBoardNames = new Map<string, number>();
@ -394,12 +406,15 @@ export namespace Board {
}
// Due to the non-unique board names, we have to check the package name as well.
const selected = (board: Board & { packageName: string }) => {
const selected = (board: BoardWithPackage) => {
if (!!selectedBoard) {
if (Board.equals(board, selectedBoard)) {
if ('packageName' in selectedBoard) {
return board.packageName === (selectedBoard as any).packageName;
}
if ('packageId' in selectedBoard) {
return board.packageId === (selectedBoard as any).packageId;
}
return true;
}
}

View File

@ -3,7 +3,7 @@ import { ILogger } from '@theia/core/lib/common/logger';
import {
BoardsService,
Installable,
BoardsPackage, Board, Port, BoardDetails, Tool, ConfigOption, ConfigValue, Programmer, OutputService, NotificationServiceServer, AvailablePorts
BoardsPackage, Board, Port, BoardDetails, Tool, ConfigOption, ConfigValue, Programmer, OutputService, NotificationServiceServer, AvailablePorts, BoardWithPackage
} from '../common/protocol';
import {
PlatformSearchReq, PlatformSearchResp, PlatformInstallReq, PlatformInstallResp, PlatformListReq,
@ -155,9 +155,9 @@ export class BoardsServiceImpl implements BoardsService {
return packages.find(({ boards }) => boards.some(({ fqbn }) => fqbn === expectedFqbn));
}
async allBoards(options: {}): Promise<Array<Board & { packageName: string }>> {
async allBoards(options: {}): Promise<Array<BoardWithPackage>> {
const results = await this.search(options);
return results.map(item => item.boards.map(board => ({ ...board, packageName: item.name })))
return results.map(item => item.boards.map(board => ({ ...board, packageName: item.name, packageId: item.id })))
.reduce((acc, curr) => acc.concat(curr), []);
}

View File

@ -89,6 +89,9 @@ export class BoardDetailsResp extends jspb.Message {
setProgrammersList(value: Array<commands_common_pb.Programmer>): BoardDetailsResp;
addProgrammers(value?: commands_common_pb.Programmer, index?: number): commands_common_pb.Programmer;
getDebuggingSupported(): boolean;
setDebuggingSupported(value: boolean): BoardDetailsResp;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): BoardDetailsResp.AsObject;
@ -115,6 +118,7 @@ export namespace BoardDetailsResp {
configOptionsList: Array<ConfigOption.AsObject>,
identificationPrefList: Array<IdentificationPref.AsObject>,
programmersList: Array<commands_common_pb.Programmer.AsObject>,
debuggingSupported: boolean,
}
}
@ -678,6 +682,12 @@ export class BoardListItem extends jspb.Message {
getIsHidden(): boolean;
setIsHidden(value: boolean): BoardListItem;
getVid(): string;
setVid(value: string): BoardListItem;
getPid(): string;
setPid(value: string): BoardListItem;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): BoardListItem.AsObject;
@ -694,5 +704,7 @@ export namespace BoardListItem {
name: string,
fqbn: string,
isHidden: boolean,
vid: string,
pid: string,
}
}

View File

@ -7,6 +7,8 @@
* @public
*/
// GENERATED CODE -- DO NOT EDIT!
/* eslint-disable */
// @ts-nocheck
var jspb = require('google-protobuf');
var goog = jspb;
@ -712,7 +714,8 @@ proto.cc.arduino.cli.commands.BoardDetailsResp.toObject = function(includeInstan
identificationPrefList: jspb.Message.toObjectList(msg.getIdentificationPrefList(),
proto.cc.arduino.cli.commands.IdentificationPref.toObject, includeInstance),
programmersList: jspb.Message.toObjectList(msg.getProgrammersList(),
commands_common_pb.Programmer.toObject, includeInstance)
commands_common_pb.Programmer.toObject, includeInstance),
debuggingSupported: jspb.Message.getBooleanFieldWithDefault(msg, 14, false)
};
if (includeInstance) {
@ -807,6 +810,10 @@ proto.cc.arduino.cli.commands.BoardDetailsResp.deserializeBinaryFromReader = fun
reader.readMessage(value,commands_common_pb.Programmer.deserializeBinaryFromReader);
msg.addProgrammers(value);
break;
case 14:
var value = /** @type {boolean} */ (reader.readBool());
msg.setDebuggingSupported(value);
break;
default:
reader.skipField();
break;
@ -933,6 +940,13 @@ proto.cc.arduino.cli.commands.BoardDetailsResp.serializeBinaryToWriter = functio
commands_common_pb.Programmer.serializeBinaryToWriter
);
}
f = message.getDebuggingSupported();
if (f) {
writer.writeBool(
14,
f
);
}
};
@ -1288,6 +1302,24 @@ proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.clearProgrammersList =
};
/**
* optional bool debugging_supported = 14;
* @return {boolean}
*/
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.getDebuggingSupported = function() {
return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 14, false));
};
/**
* @param {boolean} value
* @return {!proto.cc.arduino.cli.commands.BoardDetailsResp} returns this
*/
proto.cc.arduino.cli.commands.BoardDetailsResp.prototype.setDebuggingSupported = function(value) {
return jspb.Message.setProto3BooleanField(this, 14, value);
};
@ -5026,7 +5058,9 @@ proto.cc.arduino.cli.commands.BoardListItem.toObject = function(includeInstance,
var f, obj = {
name: jspb.Message.getFieldWithDefault(msg, 1, ""),
fqbn: jspb.Message.getFieldWithDefault(msg, 2, ""),
isHidden: jspb.Message.getBooleanFieldWithDefault(msg, 3, false)
isHidden: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),
vid: jspb.Message.getFieldWithDefault(msg, 4, ""),
pid: jspb.Message.getFieldWithDefault(msg, 5, "")
};
if (includeInstance) {
@ -5075,6 +5109,14 @@ proto.cc.arduino.cli.commands.BoardListItem.deserializeBinaryFromReader = functi
var value = /** @type {boolean} */ (reader.readBool());
msg.setIsHidden(value);
break;
case 4:
var value = /** @type {string} */ (reader.readString());
msg.setVid(value);
break;
case 5:
var value = /** @type {string} */ (reader.readString());
msg.setPid(value);
break;
default:
reader.skipField();
break;
@ -5125,6 +5167,20 @@ proto.cc.arduino.cli.commands.BoardListItem.serializeBinaryToWriter = function(m
f
);
}
f = message.getVid();
if (f.length > 0) {
writer.writeString(
4,
f
);
}
f = message.getPid();
if (f.length > 0) {
writer.writeString(
5,
f
);
}
};
@ -5182,4 +5238,40 @@ proto.cc.arduino.cli.commands.BoardListItem.prototype.setIsHidden = function(val
};
/**
* optional string VID = 4;
* @return {string}
*/
proto.cc.arduino.cli.commands.BoardListItem.prototype.getVid = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};
/**
* @param {string} value
* @return {!proto.cc.arduino.cli.commands.BoardListItem} returns this
*/
proto.cc.arduino.cli.commands.BoardListItem.prototype.setVid = function(value) {
return jspb.Message.setProto3StringField(this, 4, value);
};
/**
* optional string PID = 5;
* @return {string}
*/
proto.cc.arduino.cli.commands.BoardListItem.prototype.getPid = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};
/**
* @param {string} value
* @return {!proto.cc.arduino.cli.commands.BoardListItem} returns this
*/
proto.cc.arduino.cli.commands.BoardListItem.prototype.setPid = function(value) {
return jspb.Message.setProto3StringField(this, 5, value);
};
goog.object.extend(exports, proto.cc.arduino.cli.commands);

View File

@ -54,7 +54,7 @@ interface IArduinoCoreService extends grpc.ServiceDefinition<grpc.UntypedService
}
interface IArduinoCoreService_IInit extends grpc.MethodDefinition<commands_commands_pb.InitReq, commands_commands_pb.InitResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/Init"
path: "/cc.arduino.cli.commands.ArduinoCore/Init";
requestStream: false;
responseStream: true;
requestSerialize: grpc.serialize<commands_commands_pb.InitReq>;
@ -63,7 +63,7 @@ interface IArduinoCoreService_IInit extends grpc.MethodDefinition<commands_comma
responseDeserialize: grpc.deserialize<commands_commands_pb.InitResp>;
}
interface IArduinoCoreService_IDestroy extends grpc.MethodDefinition<commands_commands_pb.DestroyReq, commands_commands_pb.DestroyResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/Destroy"
path: "/cc.arduino.cli.commands.ArduinoCore/Destroy";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<commands_commands_pb.DestroyReq>;
@ -72,7 +72,7 @@ interface IArduinoCoreService_IDestroy extends grpc.MethodDefinition<commands_co
responseDeserialize: grpc.deserialize<commands_commands_pb.DestroyResp>;
}
interface IArduinoCoreService_IRescan extends grpc.MethodDefinition<commands_commands_pb.RescanReq, commands_commands_pb.RescanResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/Rescan"
path: "/cc.arduino.cli.commands.ArduinoCore/Rescan";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<commands_commands_pb.RescanReq>;
@ -81,7 +81,7 @@ interface IArduinoCoreService_IRescan extends grpc.MethodDefinition<commands_com
responseDeserialize: grpc.deserialize<commands_commands_pb.RescanResp>;
}
interface IArduinoCoreService_IUpdateIndex extends grpc.MethodDefinition<commands_commands_pb.UpdateIndexReq, commands_commands_pb.UpdateIndexResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/UpdateIndex"
path: "/cc.arduino.cli.commands.ArduinoCore/UpdateIndex";
requestStream: false;
responseStream: true;
requestSerialize: grpc.serialize<commands_commands_pb.UpdateIndexReq>;
@ -90,7 +90,7 @@ interface IArduinoCoreService_IUpdateIndex extends grpc.MethodDefinition<command
responseDeserialize: grpc.deserialize<commands_commands_pb.UpdateIndexResp>;
}
interface IArduinoCoreService_IUpdateLibrariesIndex extends grpc.MethodDefinition<commands_commands_pb.UpdateLibrariesIndexReq, commands_commands_pb.UpdateLibrariesIndexResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/UpdateLibrariesIndex"
path: "/cc.arduino.cli.commands.ArduinoCore/UpdateLibrariesIndex";
requestStream: false;
responseStream: true;
requestSerialize: grpc.serialize<commands_commands_pb.UpdateLibrariesIndexReq>;
@ -99,7 +99,7 @@ interface IArduinoCoreService_IUpdateLibrariesIndex extends grpc.MethodDefinitio
responseDeserialize: grpc.deserialize<commands_commands_pb.UpdateLibrariesIndexResp>;
}
interface IArduinoCoreService_IUpdateCoreLibrariesIndex extends grpc.MethodDefinition<commands_commands_pb.UpdateCoreLibrariesIndexReq, commands_commands_pb.UpdateCoreLibrariesIndexResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/UpdateCoreLibrariesIndex"
path: "/cc.arduino.cli.commands.ArduinoCore/UpdateCoreLibrariesIndex";
requestStream: false;
responseStream: true;
requestSerialize: grpc.serialize<commands_commands_pb.UpdateCoreLibrariesIndexReq>;
@ -108,7 +108,7 @@ interface IArduinoCoreService_IUpdateCoreLibrariesIndex extends grpc.MethodDefin
responseDeserialize: grpc.deserialize<commands_commands_pb.UpdateCoreLibrariesIndexResp>;
}
interface IArduinoCoreService_IOutdated extends grpc.MethodDefinition<commands_commands_pb.OutdatedReq, commands_commands_pb.OutdatedResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/Outdated"
path: "/cc.arduino.cli.commands.ArduinoCore/Outdated";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<commands_commands_pb.OutdatedReq>;
@ -117,7 +117,7 @@ interface IArduinoCoreService_IOutdated extends grpc.MethodDefinition<commands_c
responseDeserialize: grpc.deserialize<commands_commands_pb.OutdatedResp>;
}
interface IArduinoCoreService_IUpgrade extends grpc.MethodDefinition<commands_commands_pb.UpgradeReq, commands_commands_pb.UpgradeResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/Upgrade"
path: "/cc.arduino.cli.commands.ArduinoCore/Upgrade";
requestStream: false;
responseStream: true;
requestSerialize: grpc.serialize<commands_commands_pb.UpgradeReq>;
@ -126,7 +126,7 @@ interface IArduinoCoreService_IUpgrade extends grpc.MethodDefinition<commands_co
responseDeserialize: grpc.deserialize<commands_commands_pb.UpgradeResp>;
}
interface IArduinoCoreService_IVersion extends grpc.MethodDefinition<commands_commands_pb.VersionReq, commands_commands_pb.VersionResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/Version"
path: "/cc.arduino.cli.commands.ArduinoCore/Version";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<commands_commands_pb.VersionReq>;
@ -135,7 +135,7 @@ interface IArduinoCoreService_IVersion extends grpc.MethodDefinition<commands_co
responseDeserialize: grpc.deserialize<commands_commands_pb.VersionResp>;
}
interface IArduinoCoreService_ILoadSketch extends grpc.MethodDefinition<commands_commands_pb.LoadSketchReq, commands_commands_pb.LoadSketchResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/LoadSketch"
path: "/cc.arduino.cli.commands.ArduinoCore/LoadSketch";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<commands_commands_pb.LoadSketchReq>;
@ -144,7 +144,7 @@ interface IArduinoCoreService_ILoadSketch extends grpc.MethodDefinition<commands
responseDeserialize: grpc.deserialize<commands_commands_pb.LoadSketchResp>;
}
interface IArduinoCoreService_IArchiveSketch extends grpc.MethodDefinition<commands_commands_pb.ArchiveSketchReq, commands_commands_pb.ArchiveSketchResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/ArchiveSketch"
path: "/cc.arduino.cli.commands.ArduinoCore/ArchiveSketch";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<commands_commands_pb.ArchiveSketchReq>;
@ -153,7 +153,7 @@ interface IArduinoCoreService_IArchiveSketch extends grpc.MethodDefinition<comma
responseDeserialize: grpc.deserialize<commands_commands_pb.ArchiveSketchResp>;
}
interface IArduinoCoreService_IBoardDetails extends grpc.MethodDefinition<commands_board_pb.BoardDetailsReq, commands_board_pb.BoardDetailsResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/BoardDetails"
path: "/cc.arduino.cli.commands.ArduinoCore/BoardDetails";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<commands_board_pb.BoardDetailsReq>;
@ -162,7 +162,7 @@ interface IArduinoCoreService_IBoardDetails extends grpc.MethodDefinition<comman
responseDeserialize: grpc.deserialize<commands_board_pb.BoardDetailsResp>;
}
interface IArduinoCoreService_IBoardAttach extends grpc.MethodDefinition<commands_board_pb.BoardAttachReq, commands_board_pb.BoardAttachResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/BoardAttach"
path: "/cc.arduino.cli.commands.ArduinoCore/BoardAttach";
requestStream: false;
responseStream: true;
requestSerialize: grpc.serialize<commands_board_pb.BoardAttachReq>;
@ -171,7 +171,7 @@ interface IArduinoCoreService_IBoardAttach extends grpc.MethodDefinition<command
responseDeserialize: grpc.deserialize<commands_board_pb.BoardAttachResp>;
}
interface IArduinoCoreService_IBoardList extends grpc.MethodDefinition<commands_board_pb.BoardListReq, commands_board_pb.BoardListResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/BoardList"
path: "/cc.arduino.cli.commands.ArduinoCore/BoardList";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<commands_board_pb.BoardListReq>;
@ -180,7 +180,7 @@ interface IArduinoCoreService_IBoardList extends grpc.MethodDefinition<commands_
responseDeserialize: grpc.deserialize<commands_board_pb.BoardListResp>;
}
interface IArduinoCoreService_IBoardListAll extends grpc.MethodDefinition<commands_board_pb.BoardListAllReq, commands_board_pb.BoardListAllResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/BoardListAll"
path: "/cc.arduino.cli.commands.ArduinoCore/BoardListAll";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<commands_board_pb.BoardListAllReq>;
@ -189,7 +189,7 @@ interface IArduinoCoreService_IBoardListAll extends grpc.MethodDefinition<comman
responseDeserialize: grpc.deserialize<commands_board_pb.BoardListAllResp>;
}
interface IArduinoCoreService_IBoardListWatch extends grpc.MethodDefinition<commands_board_pb.BoardListWatchReq, commands_board_pb.BoardListWatchResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/BoardListWatch"
path: "/cc.arduino.cli.commands.ArduinoCore/BoardListWatch";
requestStream: true;
responseStream: true;
requestSerialize: grpc.serialize<commands_board_pb.BoardListWatchReq>;
@ -198,7 +198,7 @@ interface IArduinoCoreService_IBoardListWatch extends grpc.MethodDefinition<comm
responseDeserialize: grpc.deserialize<commands_board_pb.BoardListWatchResp>;
}
interface IArduinoCoreService_ICompile extends grpc.MethodDefinition<commands_compile_pb.CompileReq, commands_compile_pb.CompileResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/Compile"
path: "/cc.arduino.cli.commands.ArduinoCore/Compile";
requestStream: false;
responseStream: true;
requestSerialize: grpc.serialize<commands_compile_pb.CompileReq>;
@ -207,7 +207,7 @@ interface IArduinoCoreService_ICompile extends grpc.MethodDefinition<commands_co
responseDeserialize: grpc.deserialize<commands_compile_pb.CompileResp>;
}
interface IArduinoCoreService_IPlatformInstall extends grpc.MethodDefinition<commands_core_pb.PlatformInstallReq, commands_core_pb.PlatformInstallResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/PlatformInstall"
path: "/cc.arduino.cli.commands.ArduinoCore/PlatformInstall";
requestStream: false;
responseStream: true;
requestSerialize: grpc.serialize<commands_core_pb.PlatformInstallReq>;
@ -216,7 +216,7 @@ interface IArduinoCoreService_IPlatformInstall extends grpc.MethodDefinition<com
responseDeserialize: grpc.deserialize<commands_core_pb.PlatformInstallResp>;
}
interface IArduinoCoreService_IPlatformDownload extends grpc.MethodDefinition<commands_core_pb.PlatformDownloadReq, commands_core_pb.PlatformDownloadResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/PlatformDownload"
path: "/cc.arduino.cli.commands.ArduinoCore/PlatformDownload";
requestStream: false;
responseStream: true;
requestSerialize: grpc.serialize<commands_core_pb.PlatformDownloadReq>;
@ -225,7 +225,7 @@ interface IArduinoCoreService_IPlatformDownload extends grpc.MethodDefinition<co
responseDeserialize: grpc.deserialize<commands_core_pb.PlatformDownloadResp>;
}
interface IArduinoCoreService_IPlatformUninstall extends grpc.MethodDefinition<commands_core_pb.PlatformUninstallReq, commands_core_pb.PlatformUninstallResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/PlatformUninstall"
path: "/cc.arduino.cli.commands.ArduinoCore/PlatformUninstall";
requestStream: false;
responseStream: true;
requestSerialize: grpc.serialize<commands_core_pb.PlatformUninstallReq>;
@ -234,7 +234,7 @@ interface IArduinoCoreService_IPlatformUninstall extends grpc.MethodDefinition<c
responseDeserialize: grpc.deserialize<commands_core_pb.PlatformUninstallResp>;
}
interface IArduinoCoreService_IPlatformUpgrade extends grpc.MethodDefinition<commands_core_pb.PlatformUpgradeReq, commands_core_pb.PlatformUpgradeResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/PlatformUpgrade"
path: "/cc.arduino.cli.commands.ArduinoCore/PlatformUpgrade";
requestStream: false;
responseStream: true;
requestSerialize: grpc.serialize<commands_core_pb.PlatformUpgradeReq>;
@ -243,7 +243,7 @@ interface IArduinoCoreService_IPlatformUpgrade extends grpc.MethodDefinition<com
responseDeserialize: grpc.deserialize<commands_core_pb.PlatformUpgradeResp>;
}
interface IArduinoCoreService_IUpload extends grpc.MethodDefinition<commands_upload_pb.UploadReq, commands_upload_pb.UploadResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/Upload"
path: "/cc.arduino.cli.commands.ArduinoCore/Upload";
requestStream: false;
responseStream: true;
requestSerialize: grpc.serialize<commands_upload_pb.UploadReq>;
@ -252,7 +252,7 @@ interface IArduinoCoreService_IUpload extends grpc.MethodDefinition<commands_upl
responseDeserialize: grpc.deserialize<commands_upload_pb.UploadResp>;
}
interface IArduinoCoreService_IUploadUsingProgrammer extends grpc.MethodDefinition<commands_upload_pb.UploadUsingProgrammerReq, commands_upload_pb.UploadUsingProgrammerResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/UploadUsingProgrammer"
path: "/cc.arduino.cli.commands.ArduinoCore/UploadUsingProgrammer";
requestStream: false;
responseStream: true;
requestSerialize: grpc.serialize<commands_upload_pb.UploadUsingProgrammerReq>;
@ -261,7 +261,7 @@ interface IArduinoCoreService_IUploadUsingProgrammer extends grpc.MethodDefiniti
responseDeserialize: grpc.deserialize<commands_upload_pb.UploadUsingProgrammerResp>;
}
interface IArduinoCoreService_IListProgrammersAvailableForUpload extends grpc.MethodDefinition<commands_upload_pb.ListProgrammersAvailableForUploadReq, commands_upload_pb.ListProgrammersAvailableForUploadResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/ListProgrammersAvailableForUpload"
path: "/cc.arduino.cli.commands.ArduinoCore/ListProgrammersAvailableForUpload";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<commands_upload_pb.ListProgrammersAvailableForUploadReq>;
@ -270,7 +270,7 @@ interface IArduinoCoreService_IListProgrammersAvailableForUpload extends grpc.Me
responseDeserialize: grpc.deserialize<commands_upload_pb.ListProgrammersAvailableForUploadResp>;
}
interface IArduinoCoreService_IBurnBootloader extends grpc.MethodDefinition<commands_upload_pb.BurnBootloaderReq, commands_upload_pb.BurnBootloaderResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/BurnBootloader"
path: "/cc.arduino.cli.commands.ArduinoCore/BurnBootloader";
requestStream: false;
responseStream: true;
requestSerialize: grpc.serialize<commands_upload_pb.BurnBootloaderReq>;
@ -279,7 +279,7 @@ interface IArduinoCoreService_IBurnBootloader extends grpc.MethodDefinition<comm
responseDeserialize: grpc.deserialize<commands_upload_pb.BurnBootloaderResp>;
}
interface IArduinoCoreService_IPlatformSearch extends grpc.MethodDefinition<commands_core_pb.PlatformSearchReq, commands_core_pb.PlatformSearchResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/PlatformSearch"
path: "/cc.arduino.cli.commands.ArduinoCore/PlatformSearch";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<commands_core_pb.PlatformSearchReq>;
@ -288,7 +288,7 @@ interface IArduinoCoreService_IPlatformSearch extends grpc.MethodDefinition<comm
responseDeserialize: grpc.deserialize<commands_core_pb.PlatformSearchResp>;
}
interface IArduinoCoreService_IPlatformList extends grpc.MethodDefinition<commands_core_pb.PlatformListReq, commands_core_pb.PlatformListResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/PlatformList"
path: "/cc.arduino.cli.commands.ArduinoCore/PlatformList";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<commands_core_pb.PlatformListReq>;
@ -297,7 +297,7 @@ interface IArduinoCoreService_IPlatformList extends grpc.MethodDefinition<comman
responseDeserialize: grpc.deserialize<commands_core_pb.PlatformListResp>;
}
interface IArduinoCoreService_ILibraryDownload extends grpc.MethodDefinition<commands_lib_pb.LibraryDownloadReq, commands_lib_pb.LibraryDownloadResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/LibraryDownload"
path: "/cc.arduino.cli.commands.ArduinoCore/LibraryDownload";
requestStream: false;
responseStream: true;
requestSerialize: grpc.serialize<commands_lib_pb.LibraryDownloadReq>;
@ -306,7 +306,7 @@ interface IArduinoCoreService_ILibraryDownload extends grpc.MethodDefinition<com
responseDeserialize: grpc.deserialize<commands_lib_pb.LibraryDownloadResp>;
}
interface IArduinoCoreService_ILibraryInstall extends grpc.MethodDefinition<commands_lib_pb.LibraryInstallReq, commands_lib_pb.LibraryInstallResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/LibraryInstall"
path: "/cc.arduino.cli.commands.ArduinoCore/LibraryInstall";
requestStream: false;
responseStream: true;
requestSerialize: grpc.serialize<commands_lib_pb.LibraryInstallReq>;
@ -315,7 +315,7 @@ interface IArduinoCoreService_ILibraryInstall extends grpc.MethodDefinition<comm
responseDeserialize: grpc.deserialize<commands_lib_pb.LibraryInstallResp>;
}
interface IArduinoCoreService_IZipLibraryInstall extends grpc.MethodDefinition<commands_lib_pb.ZipLibraryInstallReq, commands_lib_pb.ZipLibraryInstallResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/ZipLibraryInstall"
path: "/cc.arduino.cli.commands.ArduinoCore/ZipLibraryInstall";
requestStream: false;
responseStream: true;
requestSerialize: grpc.serialize<commands_lib_pb.ZipLibraryInstallReq>;
@ -324,7 +324,7 @@ interface IArduinoCoreService_IZipLibraryInstall extends grpc.MethodDefinition<c
responseDeserialize: grpc.deserialize<commands_lib_pb.ZipLibraryInstallResp>;
}
interface IArduinoCoreService_IGitLibraryInstall extends grpc.MethodDefinition<commands_lib_pb.GitLibraryInstallReq, commands_lib_pb.GitLibraryInstallResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/GitLibraryInstall"
path: "/cc.arduino.cli.commands.ArduinoCore/GitLibraryInstall";
requestStream: false;
responseStream: true;
requestSerialize: grpc.serialize<commands_lib_pb.GitLibraryInstallReq>;
@ -333,7 +333,7 @@ interface IArduinoCoreService_IGitLibraryInstall extends grpc.MethodDefinition<c
responseDeserialize: grpc.deserialize<commands_lib_pb.GitLibraryInstallResp>;
}
interface IArduinoCoreService_ILibraryUninstall extends grpc.MethodDefinition<commands_lib_pb.LibraryUninstallReq, commands_lib_pb.LibraryUninstallResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/LibraryUninstall"
path: "/cc.arduino.cli.commands.ArduinoCore/LibraryUninstall";
requestStream: false;
responseStream: true;
requestSerialize: grpc.serialize<commands_lib_pb.LibraryUninstallReq>;
@ -342,7 +342,7 @@ interface IArduinoCoreService_ILibraryUninstall extends grpc.MethodDefinition<co
responseDeserialize: grpc.deserialize<commands_lib_pb.LibraryUninstallResp>;
}
interface IArduinoCoreService_ILibraryUpgradeAll extends grpc.MethodDefinition<commands_lib_pb.LibraryUpgradeAllReq, commands_lib_pb.LibraryUpgradeAllResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/LibraryUpgradeAll"
path: "/cc.arduino.cli.commands.ArduinoCore/LibraryUpgradeAll";
requestStream: false;
responseStream: true;
requestSerialize: grpc.serialize<commands_lib_pb.LibraryUpgradeAllReq>;
@ -351,7 +351,7 @@ interface IArduinoCoreService_ILibraryUpgradeAll extends grpc.MethodDefinition<c
responseDeserialize: grpc.deserialize<commands_lib_pb.LibraryUpgradeAllResp>;
}
interface IArduinoCoreService_ILibraryResolveDependencies extends grpc.MethodDefinition<commands_lib_pb.LibraryResolveDependenciesReq, commands_lib_pb.LibraryResolveDependenciesResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/LibraryResolveDependencies"
path: "/cc.arduino.cli.commands.ArduinoCore/LibraryResolveDependencies";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<commands_lib_pb.LibraryResolveDependenciesReq>;
@ -360,7 +360,7 @@ interface IArduinoCoreService_ILibraryResolveDependencies extends grpc.MethodDef
responseDeserialize: grpc.deserialize<commands_lib_pb.LibraryResolveDependenciesResp>;
}
interface IArduinoCoreService_ILibrarySearch extends grpc.MethodDefinition<commands_lib_pb.LibrarySearchReq, commands_lib_pb.LibrarySearchResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/LibrarySearch"
path: "/cc.arduino.cli.commands.ArduinoCore/LibrarySearch";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<commands_lib_pb.LibrarySearchReq>;
@ -369,7 +369,7 @@ interface IArduinoCoreService_ILibrarySearch extends grpc.MethodDefinition<comma
responseDeserialize: grpc.deserialize<commands_lib_pb.LibrarySearchResp>;
}
interface IArduinoCoreService_ILibraryList extends grpc.MethodDefinition<commands_lib_pb.LibraryListReq, commands_lib_pb.LibraryListResp> {
path: string; // "/cc.arduino.cli.commands.ArduinoCore/LibraryList"
path: "/cc.arduino.cli.commands.ArduinoCore/LibraryList";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<commands_lib_pb.LibraryListReq>;

View File

@ -7,6 +7,8 @@
* @public
*/
// GENERATED CODE -- DO NOT EDIT!
/* eslint-disable */
// @ts-nocheck
var jspb = require('google-protobuf');
var goog = jspb;

View File

@ -7,6 +7,8 @@
* @public
*/
// GENERATED CODE -- DO NOT EDIT!
/* eslint-disable */
// @ts-nocheck
var jspb = require('google-protobuf');
var goog = jspb;

View File

@ -6,6 +6,7 @@
import * as jspb from "google-protobuf";
import * as commands_common_pb from "../commands/common_pb";
import * as commands_lib_pb from "../commands/lib_pb";
export class CompileReq extends jspb.Message {
@ -114,6 +115,19 @@ export class CompileResp extends jspb.Message {
getErrStream_asB64(): string;
setErrStream(value: Uint8Array | string): CompileResp;
getBuildPath(): string;
setBuildPath(value: string): CompileResp;
clearUsedLibrariesList(): void;
getUsedLibrariesList(): Array<commands_lib_pb.Library>;
setUsedLibrariesList(value: Array<commands_lib_pb.Library>): CompileResp;
addUsedLibraries(value?: commands_lib_pb.Library, index?: number): commands_lib_pb.Library;
clearExecutableSectionsSizeList(): void;
getExecutableSectionsSizeList(): Array<ExecutableSectionSize>;
setExecutableSectionsSizeList(value: Array<ExecutableSectionSize>): CompileResp;
addExecutableSectionsSize(value?: ExecutableSectionSize, index?: number): ExecutableSectionSize;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): CompileResp.AsObject;
@ -129,5 +143,37 @@ export namespace CompileResp {
export type AsObject = {
outStream: Uint8Array | string,
errStream: Uint8Array | string,
buildPath: string,
usedLibrariesList: Array<commands_lib_pb.Library.AsObject>,
executableSectionsSizeList: Array<ExecutableSectionSize.AsObject>,
}
}
export class ExecutableSectionSize extends jspb.Message {
getName(): string;
setName(value: string): ExecutableSectionSize;
getSize(): number;
setSize(value: number): ExecutableSectionSize;
getMaxsize(): number;
setMaxsize(value: number): ExecutableSectionSize;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): ExecutableSectionSize.AsObject;
static toObject(includeInstance: boolean, msg: ExecutableSectionSize): ExecutableSectionSize.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: ExecutableSectionSize, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): ExecutableSectionSize;
static deserializeBinaryFromReader(message: ExecutableSectionSize, reader: jspb.BinaryReader): ExecutableSectionSize;
}
export namespace ExecutableSectionSize {
export type AsObject = {
name: string,
size: number,
maxsize: number,
}
}

View File

@ -7,6 +7,8 @@
* @public
*/
// GENERATED CODE -- DO NOT EDIT!
/* eslint-disable */
// @ts-nocheck
var jspb = require('google-protobuf');
var goog = jspb;
@ -14,8 +16,11 @@ var global = Function('return this')();
var commands_common_pb = require('../commands/common_pb.js');
goog.object.extend(proto, commands_common_pb);
var commands_lib_pb = require('../commands/lib_pb.js');
goog.object.extend(proto, commands_lib_pb);
goog.exportSymbol('proto.cc.arduino.cli.commands.CompileReq', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.CompileResp', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.ExecutableSectionSize', null, global);
/**
* Generated by JsPbCodeGenerator.
* @param {Array=} opt_data Optional initial data array, typically from a
@ -48,7 +53,7 @@ if (goog.DEBUG && !COMPILED) {
* @constructor
*/
proto.cc.arduino.cli.commands.CompileResp = function(opt_data) {
jspb.Message.initialize(this, opt_data, 0, -1, null, null);
jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.CompileResp.repeatedFields_, null);
};
goog.inherits(proto.cc.arduino.cli.commands.CompileResp, jspb.Message);
if (goog.DEBUG && !COMPILED) {
@ -58,6 +63,27 @@ if (goog.DEBUG && !COMPILED) {
*/
proto.cc.arduino.cli.commands.CompileResp.displayName = 'proto.cc.arduino.cli.commands.CompileResp';
}
/**
* Generated by JsPbCodeGenerator.
* @param {Array=} opt_data Optional initial data array, typically from a
* server response, or constructed directly in Javascript. The array is used
* in place and becomes part of the constructed object. It is not cloned.
* If no data is provided, the constructed object will be empty, but still
* valid.
* @extends {jspb.Message}
* @constructor
*/
proto.cc.arduino.cli.commands.ExecutableSectionSize = function(opt_data) {
jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.ExecutableSectionSize, jspb.Message);
if (goog.DEBUG && !COMPILED) {
/**
* @public
* @override
*/
proto.cc.arduino.cli.commands.ExecutableSectionSize.displayName = 'proto.cc.arduino.cli.commands.ExecutableSectionSize';
}
/**
* List of repeated fields within this message type.
@ -765,6 +791,13 @@ proto.cc.arduino.cli.commands.CompileReq.prototype.setExportBinaries = function(
/**
* List of repeated fields within this message type.
* @private {!Array<number>}
* @const
*/
proto.cc.arduino.cli.commands.CompileResp.repeatedFields_ = [4,5];
if (jspb.Message.GENERATE_TO_OBJECT) {
@ -797,7 +830,12 @@ proto.cc.arduino.cli.commands.CompileResp.prototype.toObject = function(opt_incl
proto.cc.arduino.cli.commands.CompileResp.toObject = function(includeInstance, msg) {
var f, obj = {
outStream: msg.getOutStream_asB64(),
errStream: msg.getErrStream_asB64()
errStream: msg.getErrStream_asB64(),
buildPath: jspb.Message.getFieldWithDefault(msg, 3, ""),
usedLibrariesList: jspb.Message.toObjectList(msg.getUsedLibrariesList(),
commands_lib_pb.Library.toObject, includeInstance),
executableSectionsSizeList: jspb.Message.toObjectList(msg.getExecutableSectionsSizeList(),
proto.cc.arduino.cli.commands.ExecutableSectionSize.toObject, includeInstance)
};
if (includeInstance) {
@ -842,6 +880,20 @@ proto.cc.arduino.cli.commands.CompileResp.deserializeBinaryFromReader = function
var value = /** @type {!Uint8Array} */ (reader.readBytes());
msg.setErrStream(value);
break;
case 3:
var value = /** @type {string} */ (reader.readString());
msg.setBuildPath(value);
break;
case 4:
var value = new commands_lib_pb.Library;
reader.readMessage(value,commands_lib_pb.Library.deserializeBinaryFromReader);
msg.addUsedLibraries(value);
break;
case 5:
var value = new proto.cc.arduino.cli.commands.ExecutableSectionSize;
reader.readMessage(value,proto.cc.arduino.cli.commands.ExecutableSectionSize.deserializeBinaryFromReader);
msg.addExecutableSectionsSize(value);
break;
default:
reader.skipField();
break;
@ -885,6 +937,29 @@ proto.cc.arduino.cli.commands.CompileResp.serializeBinaryToWriter = function(mes
f
);
}
f = message.getBuildPath();
if (f.length > 0) {
writer.writeString(
3,
f
);
}
f = message.getUsedLibrariesList();
if (f.length > 0) {
writer.writeRepeatedMessage(
4,
f,
commands_lib_pb.Library.serializeBinaryToWriter
);
}
f = message.getExecutableSectionsSizeList();
if (f.length > 0) {
writer.writeRepeatedMessage(
5,
f,
proto.cc.arduino.cli.commands.ExecutableSectionSize.serializeBinaryToWriter
);
}
};
@ -972,4 +1047,288 @@ proto.cc.arduino.cli.commands.CompileResp.prototype.setErrStream = function(valu
};
/**
* optional string build_path = 3;
* @return {string}
*/
proto.cc.arduino.cli.commands.CompileResp.prototype.getBuildPath = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};
/**
* @param {string} value
* @return {!proto.cc.arduino.cli.commands.CompileResp} returns this
*/
proto.cc.arduino.cli.commands.CompileResp.prototype.setBuildPath = function(value) {
return jspb.Message.setProto3StringField(this, 3, value);
};
/**
* repeated Library used_libraries = 4;
* @return {!Array<!proto.cc.arduino.cli.commands.Library>}
*/
proto.cc.arduino.cli.commands.CompileResp.prototype.getUsedLibrariesList = function() {
return /** @type{!Array<!proto.cc.arduino.cli.commands.Library>} */ (
jspb.Message.getRepeatedWrapperField(this, commands_lib_pb.Library, 4));
};
/**
* @param {!Array<!proto.cc.arduino.cli.commands.Library>} value
* @return {!proto.cc.arduino.cli.commands.CompileResp} returns this
*/
proto.cc.arduino.cli.commands.CompileResp.prototype.setUsedLibrariesList = function(value) {
return jspb.Message.setRepeatedWrapperField(this, 4, value);
};
/**
* @param {!proto.cc.arduino.cli.commands.Library=} opt_value
* @param {number=} opt_index
* @return {!proto.cc.arduino.cli.commands.Library}
*/
proto.cc.arduino.cli.commands.CompileResp.prototype.addUsedLibraries = function(opt_value, opt_index) {
return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.cc.arduino.cli.commands.Library, opt_index);
};
/**
* Clears the list making it empty but non-null.
* @return {!proto.cc.arduino.cli.commands.CompileResp} returns this
*/
proto.cc.arduino.cli.commands.CompileResp.prototype.clearUsedLibrariesList = function() {
return this.setUsedLibrariesList([]);
};
/**
* repeated ExecutableSectionSize executable_sections_size = 5;
* @return {!Array<!proto.cc.arduino.cli.commands.ExecutableSectionSize>}
*/
proto.cc.arduino.cli.commands.CompileResp.prototype.getExecutableSectionsSizeList = function() {
return /** @type{!Array<!proto.cc.arduino.cli.commands.ExecutableSectionSize>} */ (
jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.ExecutableSectionSize, 5));
};
/**
* @param {!Array<!proto.cc.arduino.cli.commands.ExecutableSectionSize>} value
* @return {!proto.cc.arduino.cli.commands.CompileResp} returns this
*/
proto.cc.arduino.cli.commands.CompileResp.prototype.setExecutableSectionsSizeList = function(value) {
return jspb.Message.setRepeatedWrapperField(this, 5, value);
};
/**
* @param {!proto.cc.arduino.cli.commands.ExecutableSectionSize=} opt_value
* @param {number=} opt_index
* @return {!proto.cc.arduino.cli.commands.ExecutableSectionSize}
*/
proto.cc.arduino.cli.commands.CompileResp.prototype.addExecutableSectionsSize = function(opt_value, opt_index) {
return jspb.Message.addToRepeatedWrapperField(this, 5, opt_value, proto.cc.arduino.cli.commands.ExecutableSectionSize, opt_index);
};
/**
* Clears the list making it empty but non-null.
* @return {!proto.cc.arduino.cli.commands.CompileResp} returns this
*/
proto.cc.arduino.cli.commands.CompileResp.prototype.clearExecutableSectionsSizeList = function() {
return this.setExecutableSectionsSizeList([]);
};
if (jspb.Message.GENERATE_TO_OBJECT) {
/**
* Creates an object representation of this proto.
* Field names that are reserved in JavaScript and will be renamed to pb_name.
* Optional fields that are not set will be set to undefined.
* To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
* For the list of reserved names please see:
* net/proto2/compiler/js/internal/generator.cc#kKeyword.
* @param {boolean=} opt_includeInstance Deprecated. whether to include the
* JSPB instance for transitional soy proto support:
* http://goto/soy-param-migration
* @return {!Object}
*/
proto.cc.arduino.cli.commands.ExecutableSectionSize.prototype.toObject = function(opt_includeInstance) {
return proto.cc.arduino.cli.commands.ExecutableSectionSize.toObject(opt_includeInstance, this);
};
/**
* Static version of the {@see toObject} method.
* @param {boolean|undefined} includeInstance Deprecated. Whether to include
* the JSPB instance for transitional soy proto support:
* http://goto/soy-param-migration
* @param {!proto.cc.arduino.cli.commands.ExecutableSectionSize} msg The msg instance to transform.
* @return {!Object}
* @suppress {unusedLocalVariables} f is only used for nested messages
*/
proto.cc.arduino.cli.commands.ExecutableSectionSize.toObject = function(includeInstance, msg) {
var f, obj = {
name: jspb.Message.getFieldWithDefault(msg, 1, ""),
size: jspb.Message.getFieldWithDefault(msg, 2, 0),
maxsize: jspb.Message.getFieldWithDefault(msg, 3, 0)
};
if (includeInstance) {
obj.$jspbMessageInstance = msg;
}
return obj;
};
}
/**
* Deserializes binary data (in protobuf wire format).
* @param {jspb.ByteSource} bytes The bytes to deserialize.
* @return {!proto.cc.arduino.cli.commands.ExecutableSectionSize}
*/
proto.cc.arduino.cli.commands.ExecutableSectionSize.deserializeBinary = function(bytes) {
var reader = new jspb.BinaryReader(bytes);
var msg = new proto.cc.arduino.cli.commands.ExecutableSectionSize;
return proto.cc.arduino.cli.commands.ExecutableSectionSize.deserializeBinaryFromReader(msg, reader);
};
/**
* Deserializes binary data (in protobuf wire format) from the
* given reader into the given message object.
* @param {!proto.cc.arduino.cli.commands.ExecutableSectionSize} msg The message object to deserialize into.
* @param {!jspb.BinaryReader} reader The BinaryReader to use.
* @return {!proto.cc.arduino.cli.commands.ExecutableSectionSize}
*/
proto.cc.arduino.cli.commands.ExecutableSectionSize.deserializeBinaryFromReader = function(msg, reader) {
while (reader.nextField()) {
if (reader.isEndGroup()) {
break;
}
var field = reader.getFieldNumber();
switch (field) {
case 1:
var value = /** @type {string} */ (reader.readString());
msg.setName(value);
break;
case 2:
var value = /** @type {number} */ (reader.readInt64());
msg.setSize(value);
break;
case 3:
var value = /** @type {number} */ (reader.readInt64());
msg.setMaxsize(value);
break;
default:
reader.skipField();
break;
}
}
return msg;
};
/**
* Serializes the message to binary data (in protobuf wire format).
* @return {!Uint8Array}
*/
proto.cc.arduino.cli.commands.ExecutableSectionSize.prototype.serializeBinary = function() {
var writer = new jspb.BinaryWriter();
proto.cc.arduino.cli.commands.ExecutableSectionSize.serializeBinaryToWriter(this, writer);
return writer.getResultBuffer();
};
/**
* Serializes the given message to binary data (in protobuf wire
* format), writing to the given BinaryWriter.
* @param {!proto.cc.arduino.cli.commands.ExecutableSectionSize} message
* @param {!jspb.BinaryWriter} writer
* @suppress {unusedLocalVariables} f is only used for nested messages
*/
proto.cc.arduino.cli.commands.ExecutableSectionSize.serializeBinaryToWriter = function(message, writer) {
var f = undefined;
f = message.getName();
if (f.length > 0) {
writer.writeString(
1,
f
);
}
f = message.getSize();
if (f !== 0) {
writer.writeInt64(
2,
f
);
}
f = message.getMaxsize();
if (f !== 0) {
writer.writeInt64(
3,
f
);
}
};
/**
* optional string name = 1;
* @return {string}
*/
proto.cc.arduino.cli.commands.ExecutableSectionSize.prototype.getName = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};
/**
* @param {string} value
* @return {!proto.cc.arduino.cli.commands.ExecutableSectionSize} returns this
*/
proto.cc.arduino.cli.commands.ExecutableSectionSize.prototype.setName = function(value) {
return jspb.Message.setProto3StringField(this, 1, value);
};
/**
* optional int64 size = 2;
* @return {number}
*/
proto.cc.arduino.cli.commands.ExecutableSectionSize.prototype.getSize = function() {
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};
/**
* @param {number} value
* @return {!proto.cc.arduino.cli.commands.ExecutableSectionSize} returns this
*/
proto.cc.arduino.cli.commands.ExecutableSectionSize.prototype.setSize = function(value) {
return jspb.Message.setProto3IntField(this, 2, value);
};
/**
* optional int64 maxSize = 3;
* @return {number}
*/
proto.cc.arduino.cli.commands.ExecutableSectionSize.prototype.getMaxsize = function() {
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};
/**
* @param {number} value
* @return {!proto.cc.arduino.cli.commands.ExecutableSectionSize} returns this
*/
proto.cc.arduino.cli.commands.ExecutableSectionSize.prototype.setMaxsize = function(value) {
return jspb.Message.setProto3IntField(this, 3, value);
};
goog.object.extend(exports, proto.cc.arduino.cli.commands);

View File

@ -7,6 +7,8 @@
* @public
*/
// GENERATED CODE -- DO NOT EDIT!
/* eslint-disable */
// @ts-nocheck
var jspb = require('google-protobuf');
var goog = jspb;

View File

@ -7,6 +7,8 @@
* @public
*/
// GENERATED CODE -- DO NOT EDIT!
/* eslint-disable */
// @ts-nocheck
var jspb = require('google-protobuf');
var goog = jspb;

View File

@ -7,6 +7,8 @@
* @public
*/
// GENERATED CODE -- DO NOT EDIT!
/* eslint-disable */
// @ts-nocheck
var jspb = require('google-protobuf');
var goog = jspb;

View File

@ -15,7 +15,7 @@ interface IDebugService extends grpc.ServiceDefinition<grpc.UntypedServiceImplem
}
interface IDebugService_IDebug extends grpc.MethodDefinition<debug_debug_pb.DebugReq, debug_debug_pb.DebugResp> {
path: string; // "/cc.arduino.cli.debug.Debug/Debug"
path: "/cc.arduino.cli.debug.Debug/Debug";
requestStream: true;
responseStream: true;
requestSerialize: grpc.serialize<debug_debug_pb.DebugReq>;
@ -24,7 +24,7 @@ interface IDebugService_IDebug extends grpc.MethodDefinition<debug_debug_pb.Debu
responseDeserialize: grpc.deserialize<debug_debug_pb.DebugResp>;
}
interface IDebugService_IGetDebugConfig extends grpc.MethodDefinition<debug_debug_pb.DebugConfigReq, debug_debug_pb.GetDebugConfigResp> {
path: string; // "/cc.arduino.cli.debug.Debug/GetDebugConfig"
path: "/cc.arduino.cli.debug.Debug/GetDebugConfig";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<debug_debug_pb.DebugConfigReq>;

View File

@ -7,6 +7,8 @@
* @public
*/
// GENERATED CODE -- DO NOT EDIT!
/* eslint-disable */
// @ts-nocheck
var jspb = require('google-protobuf');
var goog = jspb;

View File

@ -14,7 +14,7 @@ interface IMonitorService extends grpc.ServiceDefinition<grpc.UntypedServiceImpl
}
interface IMonitorService_IStreamingOpen extends grpc.MethodDefinition<monitor_monitor_pb.StreamingOpenReq, monitor_monitor_pb.StreamingOpenResp> {
path: string; // "/cc.arduino.cli.monitor.Monitor/StreamingOpen"
path: "/cc.arduino.cli.monitor.Monitor/StreamingOpen";
requestStream: true;
responseStream: true;
requestSerialize: grpc.serialize<monitor_monitor_pb.StreamingOpenReq>;

View File

@ -7,6 +7,8 @@
* @public
*/
// GENERATED CODE -- DO NOT EDIT!
/* eslint-disable */
// @ts-nocheck
var jspb = require('google-protobuf');
var goog = jspb;

View File

@ -16,7 +16,7 @@ interface ISettingsService extends grpc.ServiceDefinition<grpc.UntypedServiceImp
}
interface ISettingsService_IGetAll extends grpc.MethodDefinition<settings_settings_pb.GetAllRequest, settings_settings_pb.RawData> {
path: string; // "/cc.arduino.cli.settings.Settings/GetAll"
path: "/cc.arduino.cli.settings.Settings/GetAll";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<settings_settings_pb.GetAllRequest>;
@ -25,7 +25,7 @@ interface ISettingsService_IGetAll extends grpc.MethodDefinition<settings_settin
responseDeserialize: grpc.deserialize<settings_settings_pb.RawData>;
}
interface ISettingsService_IMerge extends grpc.MethodDefinition<settings_settings_pb.RawData, settings_settings_pb.MergeResponse> {
path: string; // "/cc.arduino.cli.settings.Settings/Merge"
path: "/cc.arduino.cli.settings.Settings/Merge";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<settings_settings_pb.RawData>;
@ -34,7 +34,7 @@ interface ISettingsService_IMerge extends grpc.MethodDefinition<settings_setting
responseDeserialize: grpc.deserialize<settings_settings_pb.MergeResponse>;
}
interface ISettingsService_IGetValue extends grpc.MethodDefinition<settings_settings_pb.GetValueRequest, settings_settings_pb.Value> {
path: string; // "/cc.arduino.cli.settings.Settings/GetValue"
path: "/cc.arduino.cli.settings.Settings/GetValue";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<settings_settings_pb.GetValueRequest>;
@ -43,7 +43,7 @@ interface ISettingsService_IGetValue extends grpc.MethodDefinition<settings_sett
responseDeserialize: grpc.deserialize<settings_settings_pb.Value>;
}
interface ISettingsService_ISetValue extends grpc.MethodDefinition<settings_settings_pb.Value, settings_settings_pb.SetValueResponse> {
path: string; // "/cc.arduino.cli.settings.Settings/SetValue"
path: "/cc.arduino.cli.settings.Settings/SetValue";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<settings_settings_pb.Value>;

View File

@ -7,6 +7,8 @@
* @public
*/
// GENERATED CODE -- DO NOT EDIT!
/* eslint-disable */
// @ts-nocheck
var jspb = require('google-protobuf');
var goog = jspb;