Compare commits

..

6 Commits
2.3.3 ... 2.3.1

Author SHA1 Message Date
github-actions[bot]
c54fbc80e4 Updated translation files 2024-02-14 13:36:54 +01:00
Akos Kitta
bb1dc74e33 fix(security): update all vulnerable dependencies
Resolutions:
 - `nano@^10.1.3`,
 - `msgpackr@^1.10.1`,
 - `axios@^1.6.7`

Fixes:
 - [GHSA-wf5p-g6vw-rhxx](https://github.com/advisories/GHSA-wf5p-g6vw-rhxx) (`CVE-2023-45857`)
 - [GHSA-jchw-25xp-jwwc](https://github.com/advisories/GHSA-jchw-25xp-jwwc) (`CVE-2023-26159`)
 - [GHSA-7hpj-7hhx-2fgx](https://github.com/advisories/GHSA-7hpj-7hhx-2fgx) (`CVE-2023-52079`)

Ref: nrwl/nx#20493
Ref: eclipse-theia/theia#13365

Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
2024-02-14 13:32:04 +01:00
Akos Kitta
470db5606e fix: debug widget layout updates
Use customized `PanelLayout#removeWidget` and
`PanelLayout#insertWidget` logic for the layout
updates. The customized functions ensure no side
effect if adding/removing the widget to/from the
layout but it's already present/absent.

Unlike the default [`PanelLayout#removeWidget`](9f5e11025b/packages/widgets/src/panellayout.ts (L154-L156))
behavior, do not try to remove the widget if it's
not present (has a negative index). Otherwise,
required widgets might be removed based on the
default [`ArrayExt#removeAt`](9f5e11025b/packages/algorithm/src/array.ts (L1075-L1077))
behavior.

Closes: arduino/arduino-ide#2354

Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
2024-02-14 13:31:37 +01:00
per1234
8c1ffe9c5f Use arduino/setup-task@v1 action for Linux build job
Unfortunately the latest v2 version of the arduino/setup-task action used to install the Task task runner tool in the
runner machine has a dependency on a higher version of glibc than is provided by the Linux container. For this reason,
the workflow is configured to use arduino/setup-task@v1 for the Linux build job.

We will receive pull requests from Dependabot offering to update this outdated action dependency at each subsequent
major version release of the action (which are not terribly frequent). We must decline the bump of the action in that
specific step, but we can accept the bumps of all other usages of the action in the workflows. Dependabot remembers when
you decline a bump so this should not be too bothersome.
2024-02-14 13:31:27 +01:00
dependabot[bot]
958e1591cf build(deps): Bump arduino/setup-task from 1 to 2
Bumps [arduino/setup-task](https://github.com/arduino/setup-task) from 1 to 2.
- [Release notes](https://github.com/arduino/setup-task/releases)
- [Commits](https://github.com/arduino/setup-task/compare/v1...v2)

---
updated-dependencies:
- dependency-name: arduino/setup-task
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-14 13:31:18 +01:00
Akos Kitta
11da49ac18 chore: switch to version 2.3.1 after the release
To produce a correctly versioned nightly build.
See the [docs](1b9c7e93e0/docs/internal/release-procedure.md (7-%EF%B8%8F-bump-version-metadata-of-packages)) for more details.

Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
2024-02-14 13:31:11 +01:00
124 changed files with 5931 additions and 20245 deletions

View File

@@ -45,7 +45,7 @@ on:
env:
# See vars.GO_VERSION field of https://github.com/arduino/arduino-cli/blob/master/DistTasks.yml
GO_VERSION: '1.21'
GO_VERSION: '1.19'
# See: https://github.com/actions/setup-node/#readme
NODE_VERSION: '18.17'
JOB_TRANSFER_ARTIFACT: build-artifacts
@@ -55,28 +55,21 @@ env:
- config:
# Human identifier for the job.
name: Windows
runs-on: [self-hosted, windows-sign-pc]
runs-on: windows-2019
# The value is a string representing a JSON document.
# Setting this to null causes the job to run directly in the runner machine instead of in a container.
container: |
null
# Name of the secret that contains the certificate.
certificate-secret: INSTALLER_CERT_WINDOWS_CER
certificate-secret: WINDOWS_SIGNING_CERTIFICATE_PFX
# Name of the secret that contains the certificate password.
certificate-password-secret: INSTALLER_CERT_WINDOWS_PASSWORD
certificate-password-secret: WINDOWS_SIGNING_CERTIFICATE_PASSWORD
# File extension for the certificate.
certificate-extension: pfx
# Container for windows cert signing
certificate-container: INSTALLER_CERT_WINDOWS_CONTAINER
# Quoting on the value is required here to allow the same comparison expression syntax to be used for this
# and the companion needs.select-targets.outputs.merge-channel-files property (output values always have string
# type).
mergeable-channel-file: 'false'
# as this runs on a self hosted runner, we need to avoid building with the default working directory path,
# otherwise paths in the build job will be too long for `light.exe`
# we use the below as a Symbolic link (just changing the wd will break the checkout action)
# this is a work around (see: https://github.com/actions/checkout/issues/197).
working-directory: 'C:\a'
artifacts:
- path: '*Windows_64bit.exe'
name: Windows_X86-64_interactive_installer
@@ -99,7 +92,7 @@ env:
name: Linux_X86-64_app_image
- config:
name: macOS x86
runs-on: macos-13
runs-on: macos-latest
container: |
null
# APPLE_SIGNING_CERTIFICATE_P12 secret was produced by following the procedure from:
@@ -113,9 +106,10 @@ env:
name: macOS_X86-64_dmg
- path: '*macOS_64bit.zip'
name: macOS_X86-64_zip
PAID_RUNNER_BUILD_DATA: |
- config:
name: macOS ARM
runs-on: macos-latest
runs-on: macos-latest-xlarge
container: |
null
certificate-secret: APPLE_SIGNING_CERTIFICATE_P12
@@ -274,18 +268,8 @@ jobs:
- build-type-determination
- select-targets
env:
# https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
# Location of artifacts generated by build.
BUILD_ARTIFACTS_PATH: electron-app/dist/build-artifacts
# to skip passing signing credentials to electron-builder
IS_WINDOWS_CONFIG: ${{ matrix.config.name == 'Windows' }}
INSTALLER_CERT_WINDOWS_CER: "/tmp/cert.cer"
# We are hardcoding the path for signtool because is not present on the windows PATH env var by default.
# Keep in mind that this path could change when upgrading to a new runner version
SIGNTOOL_PATH: "C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x86/signtool.exe"
WIN_CERT_PASSWORD: ${{ secrets.INSTALLER_CERT_WINDOWS_PASSWORD }}
WIN_CERT_CONTAINER_NAME: ${{ secrets.INSTALLER_CERT_WINDOWS_CONTAINER }}
strategy:
matrix:
config: ${{ fromJson(needs.select-targets.outputs.build-matrix) }}
@@ -299,12 +283,6 @@ jobs:
timeout-minutes: 90
steps:
- name: Symlink custom working directory
shell: cmd
if: runner.os == 'Windows' && matrix.config.working-directory
run: |
if not exist "${{ matrix.config.working-directory }}" mklink /d "${{ matrix.config.working-directory }}" "C:\actions-runner\_work\arduino-ide\arduino-ide"
- name: Checkout
if: fromJSON(matrix.config.container) == null
uses: actions/checkout@v4
@@ -315,7 +293,7 @@ jobs:
uses: actions/checkout@v3
- name: Install Node.js
if: fromJSON(matrix.config.container) == null && runner.os != 'Windows'
if: fromJSON(matrix.config.container) == null
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
@@ -323,26 +301,26 @@ jobs:
cache: 'yarn'
- name: Install Python 3.x
if: fromJSON(matrix.config.container) == null && runner.os != 'Windows'
if: fromJSON(matrix.config.container) == null
uses: actions/setup-python@v5
with:
python-version: '3.11.x'
- name: Install Go
if: fromJSON(matrix.config.container) == null && runner.os != 'Windows'
if: fromJSON(matrix.config.container) == null
uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
- name: Install Go
# actions/setup-go@v5 has dependency on a higher version of glibc than available in the Linux container.
if: fromJSON(matrix.config.container) != null && runner.os != 'Windows'
if: fromJSON(matrix.config.container) != null
uses: actions/setup-go@v4
with:
go-version: ${{ env.GO_VERSION }}
- name: Install Taskfile
if: fromJSON(matrix.config.container) == null && runner.os != 'Windows'
if: fromJSON(matrix.config.container) == null
uses: arduino/setup-task@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
@@ -350,7 +328,7 @@ jobs:
- name: Install Taskfile
# actions/setup-task@v2 has dependency on a higher version of glibc than available in the Linux container.
if: fromJSON(matrix.config.container) != null && runner.os != 'Windows'
if: fromJSON(matrix.config.container) != null
uses: arduino/setup-task@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
@@ -372,10 +350,9 @@ jobs:
CREATE_USERNAME: ${{ secrets.CREATE_USERNAME }}
CREATE_PASSWORD: ${{ secrets.CREATE_PASSWORD }}
CREATE_CLIENT_SECRET: ${{ secrets.CREATE_CLIENT_SECRET }}
working-directory: ${{ runner.os == 'Windows' && matrix.config.working-directory || './' }}
run: |
# See: https://www.electron.build/code-signing
if [ $CAN_SIGN = false ] || [ $IS_WINDOWS_CONFIG = true ]; then
if [ $CAN_SIGN = false ]; then
echo "Skipping the app signing: certificate not provided."
else
export CSC_LINK="${{ runner.temp }}/signing_certificate.${{ matrix.config.certificate-extension }}"
@@ -395,14 +372,13 @@ jobs:
yarn --cwd electron-app rebuild
yarn --cwd electron-app build
yarn --cwd electron-app package
# Both macOS jobs generate a "channel update info file" with same path and name. The second job to complete would
# overwrite the file generated by the first in the workflow artifact.
- name: Stage channel file for merge
if: >
needs.select-targets.outputs.merge-channel-files == 'true' &&
matrix.config.mergeable-channel-file == 'true'
working-directory: ${{ runner.os == 'Windows' && matrix.config.working-directory || './' }}
run: |
staged_channel_files_path="${{ runner.temp }}/staged-channel-files"
mkdir "$staged_channel_files_path"
@@ -422,20 +398,13 @@ jobs:
with:
if-no-files-found: error
name: ${{ env.STAGED_CHANNEL_FILES_ARTIFACT }}
path: ${{ runner.os == 'Windows' && matrix.config.working-directory && format('{0}/{1}', matrix.config.working-directory, env.STAGED_CHANNEL_FILES_PATH) || env.STAGED_CHANNEL_FILES_PATH }}
path: ${{ env.STAGED_CHANNEL_FILES_PATH }}
- name: Upload [GitHub Actions]
uses: actions/upload-artifact@v3
with:
name: ${{ env.JOB_TRANSFER_ARTIFACT }}
path: ${{ runner.os == 'Windows' && matrix.config.working-directory && format('{0}/{1}', matrix.config.working-directory, env.BUILD_ARTIFACTS_PATH) || env.BUILD_ARTIFACTS_PATH }}
- name: Manual Clean up for self-hosted runners
if: runner.os == 'Windows' && matrix.config.working-directory
shell: cmd
run: |
rmdir /s /q "${{ matrix.config.working-directory }}\${{ env.BUILD_ARTIFACTS_PATH }}"
path: ${{ env.BUILD_ARTIFACTS_PATH }}
merge-channel-files:
needs:

View File

@@ -74,11 +74,9 @@ jobs:
- identifier: macOS signing certificate # Text used to identify certificate in notifications.
certificate-secret: APPLE_SIGNING_CERTIFICATE_P12 # Name of the secret that contains the certificate.
password-secret: KEYCHAIN_PASSWORD # Name of the secret that contains the certificate password.
type: pkcs12
- identifier: Windows signing certificate
certificate-secret: INSTALLER_CERT_WINDOWS_CER
# The password for the Windows certificate is not needed, because its not a container, but a single certificate.
type: x509
certificate-secret: WINDOWS_SIGNING_CERTIFICATE_PFX
password-secret: WINDOWS_SIGNING_CERTIFICATE_PASSWORD
steps:
- name: Set certificate path environment variable
@@ -97,7 +95,7 @@ jobs:
CERTIFICATE_PASSWORD: ${{ secrets[matrix.certificate.password-secret] }}
run: |
(
openssl ${{ matrix.certificate.type }} \
openssl pkcs12 \
-in "${{ env.CERTIFICATE_PATH }}" \
-legacy \
-noout \
@@ -124,43 +122,26 @@ jobs:
CERTIFICATE_PASSWORD: ${{ secrets[matrix.certificate.password-secret] }}
id: get-days-before-expiration
run: |
if [[ ${{ matrix.certificate.type }} == "pkcs12" ]]; then
EXPIRATION_DATE="$(
(
openssl pkcs12 \
-in "${{ env.CERTIFICATE_PATH }}" \
-clcerts \
-legacy \
-nodes \
-passin env:CERTIFICATE_PASSWORD
) | (
openssl x509 \
-noout \
-enddate
) | (
grep \
--max-count=1 \
--only-matching \
--perl-regexp \
'notAfter=(\K.*)'
)
)"
elif [[ ${{ matrix.certificate.type }} == "x509" ]]; then
EXPIRATION_DATE="$(
(
openssl x509 \
-in ${{ env.CERTIFICATE_PATH }} \
-noout \
-enddate
) | (
grep \
--max-count=1 \
--only-matching \
--perl-regexp \
'notAfter=(\K.*)'
)
)"
fi
EXPIRATION_DATE="$(
(
openssl pkcs12 \
-in "${{ env.CERTIFICATE_PATH }}" \
-clcerts \
-legacy \
-nodes \
-passin env:CERTIFICATE_PASSWORD
) | (
openssl x509 \
-noout \
-enddate
) | (
grep \
--max-count=1 \
--only-matching \
--perl-regexp \
'notAfter=(\K.*)'
)
)"
DAYS_BEFORE_EXPIRATION="$((($(date --utc --date="$EXPIRATION_DATE" +%s) - $(date --utc +%s)) / 60 / 60 / 24))"

View File

@@ -2,7 +2,7 @@ name: Check Internationalization
env:
# See vars.GO_VERSION field of https://github.com/arduino/arduino-cli/blob/master/DistTasks.yml
GO_VERSION: '1.21'
GO_VERSION: '1.19'
# See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows
on:

View File

@@ -2,7 +2,7 @@ name: i18n-nightly-push
env:
# See vars.GO_VERSION field of https://github.com/arduino/arduino-cli/blob/master/DistTasks.yml
GO_VERSION: '1.21'
GO_VERSION: '1.19'
on:
schedule:

View File

@@ -2,7 +2,7 @@ name: i18n-weekly-pull
env:
# See vars.GO_VERSION field of https://github.com/arduino/arduino-cli/blob/master/DistTasks.yml
GO_VERSION: '1.21'
GO_VERSION: '1.19'
on:
schedule:

View File

@@ -8,7 +8,7 @@ on:
env:
# See vars.GO_VERSION field of https://github.com/arduino/arduino-cli/blob/master/DistTasks.yml
GO_VERSION: '1.21'
GO_VERSION: '1.19'
NODE_VERSION: '18.17'
jobs:

View File

@@ -1,6 +1,6 @@
{
"name": "arduino-ide-extension",
"version": "2.3.3",
"version": "2.3.1",
"description": "An extension for Theia building the Arduino IDE",
"license": "AGPL-3.0-or-later",
"scripts": {
@@ -72,7 +72,6 @@
"fast-json-stable-stringify": "^2.1.0",
"fast-safe-stringify": "^2.1.1",
"filename-reserved-regex": "^2.0.0",
"fqbn": "^1.0.5",
"glob": "^7.1.6",
"google-protobuf": "^3.20.1",
"hash.js": "^1.1.7",
@@ -128,7 +127,7 @@
},
"optionalDependencies": {
"grpc-tools": "^1.12.4",
"@pingghost/protoc": "^1.0.2"
"protoc": "^1.0.4"
},
"mocha": {
"require": [
@@ -170,17 +169,13 @@
],
"arduino": {
"arduino-cli": {
"version": "1.0.4"
"version": "0.35.2"
},
"arduino-fwuploader": {
"version": "2.4.1"
},
"arduino-language-server": {
"version": {
"owner": "arduino",
"repo": "arduino-language-server",
"commitish": "05ec308"
}
"version": "0.7.6"
},
"clangd": {
"version": "14.0.0"

View File

@@ -3,13 +3,12 @@
(async () => {
const os = require('node:os');
const path = require('node:path');
const { mkdirSync, promises: fs, rmSync } = require('node:fs');
const { mkdirSync, promises: fs } = require('node:fs');
const { exec } = require('./utils');
const glob = require('glob');
const { SemVer, gte, valid: validSemVer } = require('semver');
// Use a node-protoc fork until apple arm32 is supported
// https://github.com/YePpHa/node-protoc/pull/10
const protoc = path.dirname(require('@pingghost/protoc/protoc'));
const protoc = path.dirname(require('protoc/protoc'));
const repository = await fs.mkdtemp(path.join(os.tmpdir(), 'arduino-cli-'));
const { owner, repo, commitish } = (() => {
@@ -141,10 +140,6 @@
const rpc = path.join(repository, 'rpc');
const out = path.join(__dirname, '..', 'src', 'node', 'cli-protocol');
// Must wipe the gen output folder. Otherwise, dangling service implementation remain in IDE2 code,
// although it has been removed from the proto file.
// For example, https://github.com/arduino/arduino-cli/commit/50a8bf5c3e61d5b661ccfcd6a055e82eeb510859.
rmSync(out, { recursive: true, maxRetries: 5, force: true });
mkdirSync(out, { recursive: true });
const protos = await new Promise((resolve) =>

View File

@@ -228,14 +228,6 @@ const properties: ArduinoPreferenceSchemaProperties = {
),
default: 'https://api2.arduino.cc/create',
},
'arduino.cloud.sharedSpaceID': {
type: 'string',
description: nls.localize(
'arduino/preferences/cloud.sharedSpaceId',
'The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.'
),
default: '',
},
'arduino.auth.clientID': {
type: 'string',
description: nls.localize(
@@ -337,7 +329,6 @@ export interface ArduinoConfiguration {
'arduino.cloud.push.warn': boolean;
'arduino.cloud.pushpublic.warn': boolean;
'arduino.cloud.sketchSyncEndpoint': string;
'arduino.cloud.sharedSpaceID': string;
'arduino.auth.clientID': string;
'arduino.auth.domain': string;
'arduino.auth.audience': string;

View File

@@ -12,7 +12,6 @@ import { ILogger } from '@theia/core/lib/common/logger';
import { deepClone, deepFreeze } from '@theia/core/lib/common/objects';
import type { Mutable } from '@theia/core/lib/common/types';
import { inject, injectable, named } from '@theia/core/shared/inversify';
import { FQBN } from 'fqbn';
import {
BoardDetails,
BoardsService,
@@ -21,7 +20,6 @@ import {
Programmer,
isBoardIdentifierChangeEvent,
isProgrammer,
sanitizeFqbn,
} from '../../common/protocol';
import { notEmpty } from '../../common/utils';
import type {
@@ -31,14 +29,6 @@ import type {
import { NotificationCenter } from '../notification-center';
import { BoardsServiceProvider } from './boards-service-provider';
export interface SelectConfigOptionParams {
readonly fqbn: string;
readonly optionsToUpdate: readonly Readonly<{
option: string;
selectedValue: string;
}>[];
}
@injectable()
export class BoardsDataStore
implements
@@ -74,12 +64,7 @@ export class BoardsDataStore
this.toDispose.pushAll([
this.boardsServiceProvider.onBoardsConfigDidChange((event) => {
if (isBoardIdentifierChangeEvent(event)) {
this.updateSelectedBoardData(
event.selectedBoard?.fqbn,
// If the change event comes from toolbar and the FQBN contains custom board options, change the currently selected options
// https://github.com/arduino/arduino-ide/issues/1588
event.reason === 'toolbar'
);
this.updateSelectedBoardData(event.selectedBoard?.fqbn);
}
}),
this.notificationCenter.onPlatformDidInstall(async ({ item }) => {
@@ -131,7 +116,7 @@ export class BoardsDataStore
if (!fqbn) {
return undefined;
} else {
const data = await this.getData(sanitizeFqbn(fqbn));
const data = await this.getData(fqbn);
if (data === BoardsDataStore.Data.EMPTY) {
return undefined;
}
@@ -140,22 +125,9 @@ export class BoardsDataStore
}
private async updateSelectedBoardData(
fqbn: string | undefined,
updateConfigOptions = false
fqbn: string | undefined
): Promise<void> {
this._selectedBoardData = await this.getSelectedBoardData(fqbn);
if (fqbn && updateConfigOptions) {
const { options } = new FQBN(fqbn);
if (options) {
const optionsToUpdate = Object.entries(options).map(([key, value]) => ({
option: key,
selectedValue: value,
}));
const params = { fqbn, optionsToUpdate };
await this.selectConfigOption(params);
this._selectedBoardData = await this.getSelectedBoardData(fqbn); // reload the updated data
}
}
}
onStop(): void {
@@ -196,7 +168,7 @@ export class BoardsDataStore
return undefined;
}
const { configOptions } = await this.getData(fqbn);
return new FQBN(fqbn).withConfigOptions(...configOptions).toString();
return ConfigOption.decorate(fqbn, configOptions);
}
async getData(fqbn: string | undefined): Promise<BoardsDataStore.Data> {
@@ -229,63 +201,48 @@ export class BoardsDataStore
fqbn: string;
selectedProgrammer: Programmer;
}): Promise<boolean> {
const sanitizedFQBN = sanitizeFqbn(fqbn);
const storedData = deepClone(await this.getData(sanitizedFQBN));
const storedData = deepClone(await this.getData(fqbn));
const { programmers } = storedData;
if (!programmers.find((p) => Programmer.equals(selectedProgrammer, p))) {
return false;
}
const change: BoardsDataStoreChange = {
fqbn: sanitizedFQBN,
data: { ...storedData, selectedProgrammer },
};
await this.setData(change);
this.fireChanged(change);
const data = { ...storedData, selectedProgrammer };
await this.setData({ fqbn, data });
this.fireChanged({ fqbn, data });
return true;
}
async selectConfigOption(params: SelectConfigOptionParams): Promise<boolean> {
const { fqbn, optionsToUpdate } = params;
if (!optionsToUpdate.length) {
async selectConfigOption({
fqbn,
option,
selectedValue,
}: {
fqbn: string;
option: string;
selectedValue: string;
}): Promise<boolean> {
const data = deepClone(await this.getData(fqbn));
const { configOptions } = data;
const configOption = configOptions.find((c) => c.option === option);
if (!configOption) {
return false;
}
const sanitizedFQBN = sanitizeFqbn(fqbn);
const mutableData = deepClone(await this.getData(sanitizedFQBN));
let didChange = false;
for (const { option, selectedValue } of optionsToUpdate) {
const { configOptions } = mutableData;
const configOption = configOptions.find((c) => c.option === option);
if (configOption) {
const configOptionValueIndex = configOption.values.findIndex(
(configOptionValue) => configOptionValue.value === selectedValue
);
if (configOptionValueIndex >= 0) {
// unselect all
configOption.values
.map((value) => value as Mutable<ConfigValue>)
.forEach((value) => (value.selected = false));
const mutableConfigValue: Mutable<ConfigValue> =
configOption.values[configOptionValueIndex];
// make the new value `selected`
mutableConfigValue.selected = true;
didChange = true;
}
let updated = false;
for (const value of configOption.values) {
const mutable: Mutable<ConfigValue> = value;
if (mutable.value === selectedValue) {
mutable.selected = true;
updated = true;
} else {
mutable.selected = false;
}
}
if (!didChange) {
if (!updated) {
return false;
}
const change: BoardsDataStoreChange = {
fqbn: sanitizedFQBN,
data: mutableData,
};
await this.setData(change);
this.fireChanged(change);
await this.setData({ fqbn, data });
this.fireChanged({ fqbn, data });
return true;
}

View File

@@ -12,7 +12,6 @@ import { Emitter } from '@theia/core/lib/common/event';
import { ILogger } from '@theia/core/lib/common/logger';
import { MessageService } from '@theia/core/lib/common/message-service';
import { nls } from '@theia/core/lib/common/nls';
import { deepClone } from '@theia/core/lib/common/objects';
import { Deferred } from '@theia/core/lib/common/promise-util';
import type { Mutable } from '@theia/core/lib/common/types';
import { inject, injectable, optional } from '@theia/core/shared/inversify';
@@ -22,32 +21,31 @@ import {
} from '@theia/output/lib/browser/output-channel';
import {
BoardIdentifier,
BoardUserField,
BoardWithPackage,
boardIdentifierEquals,
BoardsConfig,
BoardsConfigChangeEvent,
BoardsPackage,
BoardsService,
BoardUserField,
BoardWithPackage,
DetectedPorts,
Port,
PortIdentifier,
boardIdentifierEquals,
emptyBoardsConfig,
isBoardIdentifier,
isBoardIdentifierChangeEvent,
isPortIdentifier,
isPortIdentifierChangeEvent,
Port,
PortIdentifier,
portIdentifierEquals,
sanitizeFqbn,
serializePlatformIdentifier,
} from '../../common/protocol';
import {
BoardList,
BoardListHistory,
EditBoardsConfigActionParams,
SelectBoardsConfigActionParams,
createBoardList,
EditBoardsConfigActionParams,
isBoardListHistory,
SelectBoardsConfigActionParams,
} from '../../common/protocol/board-list';
import type { Defined } from '../../common/types';
import type {
@@ -106,21 +104,6 @@ type BoardListHistoryUpdateResult =
type BoardToSelect = BoardIdentifier | undefined | 'ignore-board';
type PortToSelect = PortIdentifier | undefined | 'ignore-port';
function sanitizeBoardToSelectFQBN(board: BoardToSelect): BoardToSelect {
if (isBoardIdentifier(board)) {
return sanitizeBoardIdentifierFQBN(board);
}
return board;
}
function sanitizeBoardIdentifierFQBN(board: BoardIdentifier): BoardIdentifier {
if (board.fqbn) {
const copy: Mutable<BoardIdentifier> = deepClone(board);
copy.fqbn = sanitizeFqbn(board.fqbn);
return copy;
}
return board;
}
interface UpdateBoardListHistoryParams {
readonly portToSelect: PortToSelect;
readonly boardToSelect: BoardToSelect;
@@ -153,9 +136,6 @@ export interface BoardListUIActions {
}
export type BoardListUI = BoardList & BoardListUIActions;
export type BoardsConfigChangeEventUI = BoardsConfigChangeEvent &
Readonly<{ reason?: UpdateBoardsConfigReason }>;
@injectable()
export class BoardListDumper implements Disposable {
@inject(OutputChannelManager)
@@ -210,7 +190,7 @@ export class BoardsServiceProvider
private _ready = new Deferred<void>();
private readonly boardsConfigDidChangeEmitter =
new Emitter<BoardsConfigChangeEventUI>();
new Emitter<BoardsConfigChangeEvent>();
readonly onBoardsConfigDidChange = this.boardsConfigDidChangeEmitter.event;
private readonly boardListDidChangeEmitter = new Emitter<BoardListUI>();
@@ -373,8 +353,7 @@ export class BoardsServiceProvider
portToSelect !== 'ignore-port' &&
!portIdentifierEquals(portToSelect, previousSelectedPort);
const boardDidChangeEvent = boardDidChange
? // The change event must always contain any custom board options. Hence the board to select is not sanitized.
{ selectedBoard: boardToSelect, previousSelectedBoard }
? { selectedBoard: boardToSelect, previousSelectedBoard }
: undefined;
const portDidChangeEvent = portDidChange
? { selectedPort: portToSelect, previousSelectedPort }
@@ -395,31 +374,16 @@ export class BoardsServiceProvider
return false;
}
// unlike for the board change event, every persistent state must not contain custom board config options in the FQBN
const sanitizedBoardToSelect = sanitizeBoardToSelectFQBN(boardToSelect);
this.maybeUpdateBoardListHistory({
portToSelect,
boardToSelect: sanitizedBoardToSelect,
});
this.maybeUpdateBoardsData({
boardToSelect: sanitizedBoardToSelect,
reason,
});
this.maybeUpdateBoardListHistory({ portToSelect, boardToSelect });
this.maybeUpdateBoardsData({ boardToSelect, reason });
if (isBoardIdentifierChangeEvent(event)) {
this._boardsConfig.selectedBoard = event.selectedBoard
? sanitizeBoardIdentifierFQBN(event.selectedBoard)
: event.selectedBoard;
this._boardsConfig.selectedBoard = event.selectedBoard;
}
if (isPortIdentifierChangeEvent(event)) {
this._boardsConfig.selectedPort = event.selectedPort;
}
if (reason) {
event = Object.assign(event, { reason });
}
this.boardsConfigDidChangeEmitter.fire(event);
this.refreshBoardList();
this.saveState();

View File

@@ -87,7 +87,8 @@ export class BoardsDataMenuUpdater extends Contribution {
execute: () =>
this.boardsDataStore.selectConfigOption({
fqbn,
optionsToUpdate: [{ option, selectedValue: value.value }],
option,
selectedValue: value.value,
}),
isToggled: () => value.selected,
};

View File

@@ -37,15 +37,11 @@ export class BurnBootloader extends CoreServiceContribution {
'arduino/bootloader/burningBootloader',
'Burning bootloader...'
),
task: (progressId, coreService, token) =>
coreService.burnBootloader(
{
...options,
progressId,
},
token
),
cancelable: true,
task: (progressId, coreService) =>
coreService.burnBootloader({
...options,
progressId,
}),
});
this.messageService.info(
nls.localize(

View File

@@ -1,89 +1,83 @@
import { ClipboardService } from '@theia/core/lib/browser/clipboard-service';
import {
FrontendApplication,
FrontendApplicationContribution,
} from '@theia/core/lib/browser/frontend-application';
import { FrontendApplicationStateService } from '@theia/core/lib/browser/frontend-application-state';
import {
KeybindingContribution,
KeybindingRegistry,
} from '@theia/core/lib/browser/keybinding';
import { LabelProvider } from '@theia/core/lib/browser/label-provider';
import { OpenerService, open } from '@theia/core/lib/browser/opener-service';
import { Saveable } from '@theia/core/lib/browser/saveable';
import { ApplicationShell } from '@theia/core/lib/browser/shell/application-shell';
import {
TabBarToolbarContribution,
TabBarToolbarRegistry,
} from '@theia/core/lib/browser/shell/tab-bar-toolbar';
import { CancellationToken } from '@theia/core/lib/common/cancellation';
import {
Command,
CommandContribution,
CommandRegistry,
CommandService,
} from '@theia/core/lib/common/command';
import {
Disposable,
DisposableCollection,
} from '@theia/core/lib/common/disposable';
import { EnvVariablesServer } from '@theia/core/lib/common/env-variables';
import { ILogger } from '@theia/core/lib/common/logger';
import {
MenuContribution,
MenuModelRegistry,
} from '@theia/core/lib/common/menu';
import { MessageService } from '@theia/core/lib/common/message-service';
import { MessageType } from '@theia/core/lib/common/message-service-protocol';
import { nls } from '@theia/core/lib/common/nls';
import { MaybePromise, isObject } from '@theia/core/lib/common/types';
import URI from '@theia/core/lib/common/uri';
import {
inject,
injectable,
interfaces,
postConstruct,
} from '@theia/core/shared/inversify';
import { EditorManager } from '@theia/editor/lib/browser/editor-manager';
import URI from '@theia/core/lib/common/uri';
import { ILogger } from '@theia/core/lib/common/logger';
import {
Disposable,
DisposableCollection,
} from '@theia/core/lib/common/disposable';
import { Saveable } from '@theia/core/lib/browser/saveable';
import { FileService } from '@theia/filesystem/lib/browser/file-service';
import { NotificationManager } from '@theia/messages/lib/browser/notifications-manager';
import { OutputChannelSeverity } from '@theia/output/lib/browser/output-channel';
import { MainMenuManager } from '../../common/main-menu-manager';
import { userAbort } from '../../common/nls';
import { MaybePromise } from '@theia/core/lib/common/types';
import { LabelProvider } from '@theia/core/lib/browser/label-provider';
import { EditorManager } from '@theia/editor/lib/browser/editor-manager';
import { MessageService } from '@theia/core/lib/common/message-service';
import { EnvVariablesServer } from '@theia/core/lib/common/env-variables';
import { open, OpenerService } from '@theia/core/lib/browser/opener-service';
import {
CoreError,
CoreService,
FileSystemExt,
ResponseServiceClient,
Sketch,
SketchesService,
} from '../../common/protocol';
MenuModelRegistry,
MenuContribution,
} from '@theia/core/lib/common/menu';
import {
ExecuteWithProgress,
UserAbortApplicationError,
} from '../../common/protocol/progressible';
import { ArduinoPreferences } from '../arduino-preferences';
import { BoardsDataStore } from '../boards/boards-data-store';
import { BoardsServiceProvider } from '../boards/boards-service-provider';
import { ConfigServiceClient } from '../config/config-service-client';
import { DialogService } from '../dialog-service';
KeybindingRegistry,
KeybindingContribution,
} from '@theia/core/lib/browser/keybinding';
import {
TabBarToolbarContribution,
TabBarToolbarRegistry,
} from '@theia/core/lib/browser/shell/tab-bar-toolbar';
import {
FrontendApplicationContribution,
FrontendApplication,
} from '@theia/core/lib/browser/frontend-application';
import {
Command,
CommandRegistry,
CommandContribution,
CommandService,
} from '@theia/core/lib/common/command';
import { SettingsService } from '../dialogs/settings/settings';
import {
CurrentSketch,
SketchesServiceClientImpl,
} from '../sketches-service-client-impl';
import { ApplicationConnectionStatusContribution } from '../theia/core/connection-status-service';
import {
SketchesService,
FileSystemExt,
Sketch,
CoreService,
CoreError,
ResponseServiceClient,
} from '../../common/protocol';
import { ArduinoPreferences } from '../arduino-preferences';
import { FrontendApplicationStateService } from '@theia/core/lib/browser/frontend-application-state';
import { nls } from '@theia/core';
import { OutputChannelManager } from '../theia/output/output-channel';
import { ClipboardService } from '@theia/core/lib/browser/clipboard-service';
import { ExecuteWithProgress } from '../../common/protocol/progressible';
import { BoardsServiceProvider } from '../boards/boards-service-provider';
import { BoardsDataStore } from '../boards/boards-data-store';
import { NotificationManager } from '@theia/messages/lib/browser/notifications-manager';
import { MessageType } from '@theia/core/lib/common/message-service-protocol';
import { WorkspaceService } from '../theia/workspace/workspace-service';
import { MainMenuManager } from '../../common/main-menu-manager';
import { ConfigServiceClient } from '../config/config-service-client';
import { ApplicationShell } from '@theia/core/lib/browser/shell/application-shell';
import { DialogService } from '../dialog-service';
import { ApplicationConnectionStatusContribution } from '../theia/core/connection-status-service';
export {
Command,
CommandRegistry,
KeybindingRegistry,
MenuModelRegistry,
Sketch,
KeybindingRegistry,
TabBarToolbarRegistry,
URI,
Sketch,
open,
};
@@ -253,12 +247,6 @@ export abstract class CoreServiceContribution extends SketchContribution {
}
protected handleError(error: unknown): void {
if (isObject(error) && UserAbortApplicationError.is(error)) {
this.outputChannelManager
.getChannel('Arduino')
.appendLine(userAbort, OutputChannelSeverity.Warning);
return;
}
this.tryToastErrorMessage(error);
}
@@ -305,13 +293,7 @@ export abstract class CoreServiceContribution extends SketchContribution {
protected async doWithProgress<T>(options: {
progressText: string;
keepOutput?: boolean;
task: (
progressId: string,
coreService: CoreService,
cancellationToken?: CancellationToken
) => Promise<T>;
// false by default
cancelable?: boolean;
task: (progressId: string, coreService: CoreService) => Promise<T>;
}): Promise<T> {
const toDisposeOnComplete = new DisposableCollection(
this.maybeActivateMonitorWidget()
@@ -324,10 +306,8 @@ export abstract class CoreServiceContribution extends SketchContribution {
messageService: this.messageService,
responseService: this.responseService,
progressText,
run: ({ progressId, cancellationToken }) =>
task(progressId, this.coreService, cancellationToken),
run: ({ progressId }) => task(progressId, this.coreService),
keepOutput,
cancelable: options.cancelable,
});
toDisposeOnComplete.dispose();
return result;

View File

@@ -398,9 +398,12 @@ export async function isDebugEnabled(
`Failed to append boards config to the FQBN. Original FQBN was: ${fqbn}`
);
}
if (!data.selectedProgrammer) {
throw new Error(noProgrammerSelectedFor(board.name));
}
const params = {
fqbn: fqbnWithConfig,
programmer: data.selectedProgrammer?.id,
programmer: data.selectedProgrammer.id,
};
try {
const debugFqbn = await checkDebugEnabled(params);
@@ -440,3 +443,13 @@ export function debuggingNotSupported(boardName: string): string {
boardName
);
}
/**
* (non-API)
*/
export function noProgrammerSelectedFor(boardName: string): string {
return nls.localize(
'arduino/debug/noProgrammerSelectedFor',
"No programmer selected for '{0}'",
boardName
);
}

View File

@@ -9,6 +9,7 @@ import {
BoardIdentifier,
BoardsService,
ExecutableService,
assertSanitizedFqbn,
isBoardIdentifierChangeEvent,
sanitizeFqbn,
} from '../../common/protocol';
@@ -158,11 +159,14 @@ export class InoLanguage extends SketchContribution {
this.notificationCenter.onDidReinitialize(() => forceRestart()),
this.boardDataStore.onDidChange((event) => {
if (this.languageServerFqbn) {
const sanitizedFQBN = sanitizeFqbn(this.languageServerFqbn);
// The incoming FQBNs might contain custom boards configs, sanitize them before the comparison.
// https://github.com/arduino/arduino-ide/pull/2113#pullrequestreview-1499998328
const sanitizedFqbn = sanitizeFqbn(this.languageServerFqbn);
if (!sanitizeFqbn) {
throw new Error(
`Failed to sanitize the FQBN of the running language server. FQBN with the board settings was: ${this.languageServerFqbn}`
);
}
const matchingChange = event.changes.find(
(change) => sanitizedFQBN === sanitizeFqbn(change.fqbn)
(change) => change.fqbn === sanitizedFqbn
);
const { boardsConfig } = this.boardsServiceProvider;
if (
@@ -192,7 +196,11 @@ export class InoLanguage extends SketchContribution {
forceStart = false
): Promise<void> {
const port = await this.daemon.tryGetPort();
if (typeof port !== 'number') {
if (!port) {
return;
}
const portNumber = Number.parseInt(port, 10); // TODO: IDE2 APIs should provide a number and not string
if (Number.isNaN(portNumber)) {
return;
}
const release = await this.languageServerStartMutex.acquire();
@@ -224,6 +232,7 @@ export class InoLanguage extends SketchContribution {
}
return;
}
assertSanitizedFqbn(fqbn);
const fqbnWithConfig = await this.boardDataStore.appendConfigToFqbn(fqbn);
if (!fqbnWithConfig) {
throw new Error(
@@ -271,7 +280,7 @@ export class InoLanguage extends SketchContribution {
lsPath,
daemonAddress: {
hostname: 'localhost',
port,
port: portNumber,
instance: 1, // TODO: get it from the backend
},
clangdPath,

View File

@@ -1,8 +1,7 @@
import { Emitter } from '@theia/core/lib/common/event';
import { nls } from '@theia/core/lib/common/nls';
import { inject, injectable } from '@theia/core/shared/inversify';
import { FQBN } from 'fqbn';
import { CoreService } from '../../common/protocol';
import { CoreService, sanitizeFqbn } from '../../common/protocol';
import { ArduinoMenus } from '../menu/arduino-menus';
import { CurrentSketch } from '../sketches-service-client-impl';
import { ArduinoToolbar } from '../toolbar/arduino-toolbar';
@@ -127,7 +126,6 @@ export class UploadSketch extends CoreServiceContribution {
usingProgrammer,
verifyOptions
);
if (!uploadOptions) {
return;
}
@@ -138,37 +136,10 @@ export class UploadSketch extends CoreServiceContribution {
const uploadResponse = await this.doWithProgress({
progressText: nls.localize('arduino/sketch/uploading', 'Uploading...'),
task: async (progressId, coreService, token) => {
try {
return await coreService.upload(
{ ...uploadOptions, progressId },
token
);
} catch (err) {
if (err.code === 4005) {
const uploadWithProgrammerOptions = await this.uploadOptions(
true,
verifyOptions
);
if (uploadWithProgrammerOptions) {
return coreService.upload(
{ ...uploadWithProgrammerOptions, progressId },
token
);
}
} else {
throw err;
}
}
},
task: (progressId, coreService) =>
coreService.upload({ ...uploadOptions, progressId }),
keepOutput: true,
cancelable: true,
});
if (!uploadResponse) {
return;
}
// the port update is NOOP if nothing has changed
this.boardsServiceProvider.updateConfig(uploadResponse.portAfterUpload);
@@ -201,11 +172,7 @@ export class UploadSketch extends CoreServiceContribution {
const [fqbn, { selectedProgrammer: programmer }, verify, verbose] =
await Promise.all([
verifyOptions.fqbn, // already decorated FQBN
this.boardsDataStore.getData(
verifyOptions.fqbn
? new FQBN(verifyOptions.fqbn).toString(true)
: undefined
),
this.boardsDataStore.getData(sanitizeFqbn(verifyOptions.fqbn)),
this.preferences.get('arduino.upload.verify'),
this.preferences.get('arduino.upload.verbose'),
]);

View File

@@ -1,18 +1,18 @@
import { Emitter } from '@theia/core/lib/common/event';
import { nls } from '@theia/core/lib/common/nls';
import { inject, injectable } from '@theia/core/shared/inversify';
import type { CoreService } from '../../common/protocol';
import { Emitter } from '@theia/core/lib/common/event';
import { ArduinoMenus } from '../menu/arduino-menus';
import { CurrentSketch } from '../sketches-service-client-impl';
import { ArduinoToolbar } from '../toolbar/arduino-toolbar';
import {
CoreServiceContribution,
Command,
CommandRegistry,
CoreServiceContribution,
KeybindingRegistry,
MenuModelRegistry,
KeybindingRegistry,
TabBarToolbarRegistry,
} from './contribution';
import { nls } from '@theia/core/lib/common';
import { CurrentSketch } from '../sketches-service-client-impl';
import { CoreService } from '../../common/protocol';
import { CoreErrorHandler } from './core-error-handler';
export interface VerifySketchParams {
@@ -131,15 +131,11 @@ export class VerifySketch extends CoreServiceContribution {
'arduino/sketch/compile',
'Compiling sketch...'
),
task: (progressId, coreService, token) =>
coreService.compile(
{
...options,
progressId,
},
token
),
cancelable: true,
task: (progressId, coreService) =>
coreService.compile({
...options,
progressId,
}),
});
this.messageService.info(
nls.localize('arduino/sketch/doneCompiling', 'Done compiling.'),

View File

@@ -509,19 +509,11 @@ export class CreateApi {
private async headers(): Promise<Record<string, string>> {
const token = await this.token();
const headers: Record<string, string> = {
return {
'content-type': 'application/json',
accept: 'application/json',
authorization: `Bearer ${token}`,
};
const sharedSpaceID =
this.arduinoPreferences['arduino.cloud.sharedSpaceID'];
if (sharedSpaceID) {
headers['x-organization'] = sharedSpaceID;
}
return headers;
}
private domain(apiVersion = 'v2'): string {

View File

@@ -12,13 +12,15 @@ import {
LibrarySearch,
LibraryService,
} from '../../common/protocol/library-service';
import { ListWidget } from '../widgets/component-list/list-widget';
import {
ListWidget,
UserAbortError,
} from '../widgets/component-list/list-widget';
import { Installable } from '../../common/protocol';
import { ListItemRenderer } from '../widgets/component-list/list-item-renderer';
import { nls } from '@theia/core/lib/common';
import { LibraryFilterRenderer } from '../widgets/component-list/filter-renderer';
import { findChildTheiaButton, splitByBoldTag } from '../utils/dom';
import { UserAbortError } from '../../common/protocol/progressible';
@injectable()
export class LibraryListWidget extends ListWidget<

View File

@@ -46,7 +46,7 @@ export class NotificationCenter
new Emitter<ProgressMessage>();
private readonly indexUpdateDidFailEmitter =
new Emitter<IndexUpdateDidFailParams>();
private readonly daemonDidStartEmitter = new Emitter<number>();
private readonly daemonDidStartEmitter = new Emitter<string>();
private readonly daemonDidStopEmitter = new Emitter<void>();
private readonly configDidChangeEmitter = new Emitter<ConfigState>();
private readonly platformDidInstallEmitter = new Emitter<{
@@ -136,7 +136,7 @@ export class NotificationCenter
this.indexUpdateDidFailEmitter.fire(params);
}
notifyDaemonDidStart(port: number): void {
notifyDaemonDidStart(port: string): void {
this.daemonDidStartEmitter.fire(port);
}

View File

@@ -74,8 +74,8 @@ export class DaemonPort implements FrontendApplicationContribution {
@inject(NotificationCenter)
private readonly notificationCenter: NotificationCenter;
private readonly onPortDidChangeEmitter = new Emitter<number | undefined>();
private _port: number | undefined;
private readonly onPortDidChangeEmitter = new Emitter<string | undefined>();
private _port: string | undefined;
onStart(): void {
this.daemon.tryGetPort().then(
@@ -91,15 +91,15 @@ export class DaemonPort implements FrontendApplicationContribution {
this.onPortDidChangeEmitter.dispose();
}
get port(): number | undefined {
get port(): string | undefined {
return this._port;
}
get onDidChangePort(): Event<number | undefined> {
get onDidChangePort(): Event<string | undefined> {
return this.onPortDidChangeEmitter.event;
}
private setPort(port: number | undefined): void {
private setPort(port: string | undefined): void {
const oldPort = this._port;
this._port = port;
if (this._port !== oldPort) {

View File

@@ -2,7 +2,7 @@ import React from '@theia/core/shared/react';
import type { ArduinoComponent } from '../../../common/protocol/arduino-component';
import { Installable } from '../../../common/protocol/installable';
import type { ListItemRenderer } from './list-item-renderer';
import { UserAbortError } from '../../../common/protocol/progressible';
import { UserAbortError } from './list-widget';
export class ComponentListItem<
T extends ArduinoComponent

View File

@@ -5,10 +5,7 @@ import { CommandService } from '@theia/core/lib/common/command';
import { MessageService } from '@theia/core/lib/common/message-service';
import { ConfirmDialog } from '@theia/core/lib/browser/dialogs';
import { Searchable } from '../../../common/protocol/searchable';
import {
ExecuteWithProgress,
UserAbortError,
} from '../../../common/protocol/progressible';
import { ExecuteWithProgress } from '../../../common/protocol/progressible';
import {
Installable,
libraryInstallFailed,
@@ -16,7 +13,7 @@ import {
} from '../../../common/protocol/installable';
import { ArduinoComponent } from '../../../common/protocol/arduino-component';
import { SearchBar } from './search-bar';
import { ListWidget } from './list-widget';
import { ListWidget, UserAbortError } from './list-widget';
import { ComponentList } from './component-list';
import { ListItemRenderer } from './list-item-renderer';
import {

View File

@@ -192,3 +192,10 @@ export namespace ListWidget {
readonly defaultSearchOptions: S;
}
}
export class UserAbortError extends Error {
constructor(message = 'User abort') {
super(message);
Object.setPrototypeOf(this, UserAbortError.prototype);
}
}

View File

@@ -127,9 +127,6 @@ export class SketchbookTreeModel extends FileTreeModel {
if (preferenceName === 'arduino.sketchbook.showAllFiles') {
this.updateRoot();
}
if (preferenceName === 'arduino.cloud.sharedSpaceID') {
this.updateRoot();
}
})
);

View File

@@ -39,5 +39,3 @@ export const noSketchOpened = nls.localize(
'arduino/common/noSketchOpened',
'No sketch opened'
);
export const userAbort = nls.localize('arduino/common/userAbort', 'User abort');

View File

@@ -5,14 +5,14 @@ export interface ArduinoDaemon {
* Returns with a promise that resolves with the port
* of the CLI daemon when it's up and running.
*/
getPort(): Promise<number>;
getPort(): Promise<string>;
/**
* Unlike `getPort` this method returns with a promise
* that resolves to `undefined` when the daemon is not running.
* Otherwise resolves to the CLI daemon port.
*/
tryGetPort(): Promise<number | undefined>;
start(): Promise<number>;
tryGetPort(): Promise<string | undefined>;
start(): Promise<string>;
stop(): Promise<void>;
restart(): Promise<number>;
restart(): Promise<string>;
}

View File

@@ -1,5 +1,4 @@
import { nls } from '@theia/core/lib/common/nls';
import { FQBN } from 'fqbn';
import type { MaybePromise } from '@theia/core/lib/common/types';
import type URI from '@theia/core/lib/common/uri';
import {
@@ -76,9 +75,6 @@ export interface BoardsService
}): Promise<BoardsPackage | undefined>;
searchBoards({ query }: { query?: string }): Promise<BoardWithPackage[]>;
getInstalledBoards(): Promise<BoardWithPackage[]>;
/**
* Returns with all installed platforms including the manually installed ones.
*/
getInstalledPlatforms(): Promise<BoardsPackage[]>;
getBoardUserFields(options: {
fqbn: string;
@@ -99,7 +95,7 @@ export interface CheckDebugEnabledParams {
* The FQBN might contain custom board config options. For example, `arduino:esp32:nano_nora:USBMode=hwcdc,option2=value2`.
*/
readonly fqbn: string;
readonly programmer?: string;
readonly programmer: string;
}
export interface BoardSearch extends Searchable.Options {
@@ -368,6 +364,40 @@ export interface ConfigOption {
readonly values: ConfigValue[];
}
export namespace ConfigOption {
/**
* Appends the configuration options to the `fqbn` argument.
* Throws an error if the `fqbn` does not have the `segment(':'segment)*` format.
* The provided output format is always segment(':'segment)*(':'option'='value(','option'='value)*)?
*/
export function decorate(
fqbn: string,
configOptions: ConfigOption[]
): string {
if (!configOptions.length) {
return fqbn;
}
const toValue = (values: ConfigValue[]) => {
const selectedValue = values.find(({ selected }) => selected);
if (!selectedValue) {
console.warn(
`None of the config values was selected. Values were: ${JSON.stringify(
values
)}`
);
return undefined;
}
return selectedValue.value;
};
const options = configOptions
.map(({ option, values }) => [option, toValue(values)])
.filter(([, value]) => !!value)
.map(([option, value]) => `${option}=${value}`)
.join(',');
return `${fqbn}:${options}`;
}
export class ConfigOptionError extends Error {
constructor(message: string) {
super(message);
@@ -541,13 +571,28 @@ export namespace Board {
}
}
/**
* Throws an error if the `fqbn` argument is not sanitized. A sanitized FQBN has the `VENDOR:ARCHITECTURE:BOARD_ID` construct.
*/
export function assertSanitizedFqbn(fqbn: string): void {
if (fqbn.split(':').length !== 3) {
throw new Error(
`Expected a sanitized FQBN with three segments in the following format: 'VENDOR:ARCHITECTURE:BOARD_ID'. Got ${fqbn} instead.`
);
}
}
/**
* Converts the `VENDOR:ARCHITECTURE:BOARD_ID[:MENU_ID=OPTION_ID[,MENU2_ID=OPTION_ID ...]]` FQBN to
* `VENDOR:ARCHITECTURE:BOARD_ID` format.
* See the details of the `{build.fqbn}` entry in the [specs](https://arduino.github.io/arduino-cli/latest/platform-specification/#global-predefined-properties).
*/
export function sanitizeFqbn(fqbn: string): string {
return new FQBN(fqbn).sanitize().toString();
export function sanitizeFqbn(fqbn: string | undefined): string | undefined {
if (!fqbn) {
return undefined;
}
const [vendor, arch, id] = fqbn.split(':');
return `${vendor}:${arch}:${id}`;
}
export type PlatformIdentifier = Readonly<{ vendorId: string; arch: string }>;
@@ -704,8 +749,8 @@ export function boardIdentifierEquals(
return false; // TODO: This a strict now. Maybe compare name in the future.
}
if (left.fqbn && right.fqbn) {
const leftFqbn = new FQBN(left.fqbn).toString(options.looseFqbn);
const rightFqbn = new FQBN(right.fqbn).toString(options.looseFqbn);
const leftFqbn = options.looseFqbn ? sanitizeFqbn(left.fqbn) : left.fqbn;
const rightFqbn = options.looseFqbn ? sanitizeFqbn(right.fqbn) : right.fqbn;
return leftFqbn === rightFqbn;
}
// No more Genuino hack.

View File

@@ -1,5 +1,4 @@
import { ApplicationError } from '@theia/core/lib/common/application-error';
import type { CancellationToken } from '@theia/core/lib/common/cancellation';
import { nls } from '@theia/core/lib/common/nls';
import type {
Location,
@@ -8,7 +7,7 @@ import type {
} from '@theia/core/shared/vscode-languageserver-protocol';
import type { CompileSummary as ApiCompileSummary } from 'vscode-arduino-api';
import type { BoardUserField, Installable } from '../../common/protocol/';
import { PortIdentifier, Programmer, isPortIdentifier } from './boards-service';
import { isPortIdentifier, PortIdentifier, Programmer } from './boards-service';
import type { IndexUpdateSummary } from './notification-service';
import type { Sketch } from './sketches-service';
@@ -71,7 +70,6 @@ export namespace CoreError {
Upload: 4002,
UploadUsingProgrammer: 4003,
BurnBootloader: 4004,
UploadRequiresProgrammer: 4005,
};
export const VerifyFailed = declareCoreError(Codes.Verify);
export const UploadFailed = declareCoreError(Codes.Upload);
@@ -79,10 +77,6 @@ export namespace CoreError {
Codes.UploadUsingProgrammer
);
export const BurnBootloaderFailed = declareCoreError(Codes.BurnBootloader);
export const UploadRequiresProgrammer = declareCoreError(
Codes.UploadRequiresProgrammer
);
export function is(
error: unknown
): error is ApplicationError<number, ErrorLocation[]> {
@@ -168,18 +162,9 @@ export function isUploadResponse(arg: unknown): arg is UploadResponse {
export const CoreServicePath = '/services/core-service';
export const CoreService = Symbol('CoreService');
export interface CoreService {
compile(
options: CoreService.Options.Compile,
cancellationToken?: CancellationToken
): Promise<void>;
upload(
options: CoreService.Options.Upload,
cancellationToken?: CancellationToken
): Promise<UploadResponse>;
burnBootloader(
options: CoreService.Options.Bootloader,
cancellationToken?: CancellationToken
): Promise<void>;
compile(options: CoreService.Options.Compile): Promise<void>;
upload(options: CoreService.Options.Upload): Promise<UploadResponse>;
burnBootloader(options: CoreService.Options.Bootloader): Promise<void>;
/**
* Refreshes the underling core gRPC client for the Arduino CLI.
*/

View File

@@ -51,7 +51,7 @@ export interface NotificationServiceClient {
notifyIndexUpdateDidFail(params: IndexUpdateDidFailParams): void;
// Daemon
notifyDaemonDidStart(port: number): void;
notifyDaemonDidStart(port: string): void;
notifyDaemonDidStop(): void;
// CLI config

View File

@@ -1,48 +1,22 @@
import { ApplicationError } from '@theia/core/lib/common/application-error';
import type { CancellationToken } from '@theia/core/lib/common/cancellation';
import { CancellationTokenSource } from '@theia/core/lib/common/cancellation';
import type { MessageService } from '@theia/core/lib/common/message-service';
import type { Progress } from '@theia/core/lib/common/message-service-protocol';
import { userAbort } from '../nls';
import type { ResponseServiceClient } from './response-service';
export const UserAbortApplicationError = ApplicationError.declare(
9999,
(message: string, uri: string) => {
return {
message,
data: { uri },
};
}
);
export class UserAbortError extends Error {
constructor() {
super(userAbort);
Object.setPrototypeOf(this, UserAbortError.prototype);
}
}
export namespace ExecuteWithProgress {
export async function doWithProgress<T>(options: {
run: ({
progressId,
cancellationToken,
}: {
progressId: string;
cancellationToken?: CancellationToken;
}) => Promise<T>;
run: ({ progressId }: { progressId: string }) => Promise<T>;
messageService: MessageService;
responseService: ResponseServiceClient;
progressText: string;
keepOutput?: boolean;
cancelable?: boolean;
}): Promise<T> {
return withProgress(
options.progressText,
options.messageService,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
async (progress, token) => {
async (progress, _token) => {
const progressId = progress.id;
const toDispose = options.responseService.onProgressDidChange(
(progressMessage) => {
@@ -56,29 +30,24 @@ export namespace ExecuteWithProgress {
if (!options.keepOutput) {
options.responseService.clearOutput();
}
const result = await options.run({
progressId,
cancellationToken: token,
});
const result = await options.run({ progressId });
return result;
} finally {
toDispose.dispose();
}
},
options.cancelable
}
);
}
export async function withProgress<T>(
text: string,
messageService: MessageService,
cb: (progress: Progress, token: CancellationToken) => Promise<T>,
cancelable = false
cb: (progress: Progress, token: CancellationToken) => Promise<T>
): Promise<T> {
const cancellationSource = new CancellationTokenSource();
const { token } = cancellationSource;
const progress = await messageService.showProgress(
{ text, options: { cancelable } },
{ text, options: { cancelable: false } },
() => cancellationSource.cancel()
);
try {

View File

@@ -1,53 +0,0 @@
import { credentials, makeClientConstructor } from '@grpc/grpc-js';
import * as commandsGrpcPb from './cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb';
import { ArduinoCoreServiceClient } from './cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb';
export interface CreateClientOptions {
/**
* The port to the Arduino CLI daemon.
*/
readonly port: number;
/**
* Defaults to `'localhost'`.
*/
readonly host?: string;
/**
* gRCP channel options. Defaults to `createDefaultChannelOptions` with `'0.0.0'` `appVersion`
*/
readonly channelOptions?: Record<string, unknown>;
}
export function createDefaultChannelOptions(
appVersion = '0.0.0'
): Record<string, unknown> {
return {
'grpc.max_send_message_length': 512 * 1024 * 1024,
'grpc.max_receive_message_length': 512 * 1024 * 1024,
'grpc.primary_user_agent': `arduino-ide/${appVersion}`,
};
}
export function createArduinoCoreServiceClient(
options: CreateClientOptions
): ArduinoCoreServiceClient {
const {
port,
host = 'localhost',
channelOptions = createDefaultChannelOptions(),
} = options;
const address = `${host}:${port}`;
// https://github.com/agreatfool/grpc_tools_node_protoc_ts/blob/master/doc/grpcjs_support.md#usage
const ArduinoCoreServiceClient = makeClientConstructor(
// @ts-expect-error: ignore
commandsGrpcPb['cc.arduino.cli.commands.v1.ArduinoCoreService'],
'ArduinoCoreServiceService'
// eslint-disable-next-line @typescript-eslint/no-explicit-any
) as any;
const client = new ArduinoCoreServiceClient(
address,
credentials.createInsecure(),
channelOptions
) as ArduinoCoreServiceClient;
return client;
}

View File

@@ -39,11 +39,11 @@ export class ArduinoDaemonImpl
private readonly processUtils: ProcessUtils;
private readonly toDispose = new DisposableCollection();
private readonly onDaemonStartedEmitter = new Emitter<number>();
private readonly onDaemonStartedEmitter = new Emitter<string>();
private readonly onDaemonStoppedEmitter = new Emitter<void>();
private _running = false;
private _port = new Deferred<number>();
private _port = new Deferred<string>();
// Backend application lifecycle.
@@ -53,18 +53,18 @@ export class ArduinoDaemonImpl
// Daemon API
async getPort(): Promise<number> {
async getPort(): Promise<string> {
return this._port.promise;
}
async tryGetPort(): Promise<number | undefined> {
async tryGetPort(): Promise<string | undefined> {
if (this._running) {
return this._port.promise;
}
return undefined;
}
async start(): Promise<number> {
async start(): Promise<string> {
try {
this.toDispose.dispose(); // This will `kill` the previously started daemon process, if any.
const cliPath = this.getExecPath();
@@ -101,13 +101,13 @@ export class ArduinoDaemonImpl
this.toDispose.dispose();
}
async restart(): Promise<number> {
async restart(): Promise<string> {
return this.start();
}
// Backend only daemon API
get onDaemonStarted(): Event<number> {
get onDaemonStarted(): Event<string> {
return this.onDaemonStartedEmitter.event;
}
@@ -150,11 +150,11 @@ export class ArduinoDaemonImpl
protected async spawnDaemonProcess(): Promise<{
daemon: ChildProcess;
port: number;
port: string;
}> {
const args = await this.getSpawnArgs();
const cliPath = this.getExecPath();
const ready = new Deferred<{ daemon: ChildProcess; port: number }>();
const ready = new Deferred<{ daemon: ChildProcess; port: string }>();
const options = {
env: { ...deepClone(process.env), NO_COLOR: String(true) },
};
@@ -195,13 +195,7 @@ export class ArduinoDaemonImpl
if (port.length && address.length) {
grpcServerIsReady = true;
const portNumber = Number.parseInt(port, 10);
if (Number.isNaN(portNumber)) {
ready.reject(
new Error(`Received a NaN port from the CLI: ${port}`)
);
}
ready.resolve({ daemon, port: portNumber });
ready.resolve({ daemon, port });
}
}
});
@@ -231,7 +225,7 @@ export class ArduinoDaemonImpl
return ready.promise;
}
private fireDaemonStarted(port: number): void {
private fireDaemonStarted(port: string): void {
this._running = true;
this._port.resolve(port);
this.onDaemonStartedEmitter.fire(port);
@@ -244,7 +238,7 @@ export class ArduinoDaemonImpl
}
this._running = false;
this._port.reject(); // Reject all pending.
this._port = new Deferred<number>();
this._port = new Deferred<string>();
this.onDaemonStoppedEmitter.fire();
this.notificationService.notifyDaemonDidStop();
}

View File

@@ -267,12 +267,24 @@ export class BoardDiscovery
const { port, boards } = detectedPort;
const key = Port.keyOf(port);
if (eventType === EventType.Add) {
// Note that, the serial discovery might detect port details (such as addressLabel) in chunks.
// For example, first, the Teensy 4.1 port is detected with the `[no_device] Triple Serial` address label,
// Then, when more refinements are available, the same port is detected with `/dev/cu.usbmodem127902301 Triple Serial` address label.
// In such cases, an `add` event is received from the CLI, and the the detected port is overridden in the state.
const alreadyDetectedPort = newState[key];
if (alreadyDetectedPort) {
console.warn(
`Detected a new port that has been already discovered. The old value will be overridden. Old value: ${JSON.stringify(
alreadyDetectedPort
)}, new value: ${JSON.stringify(detectedPort)}`
);
}
newState[key] = { port, boards };
} else if (eventType === EventType.Remove) {
const alreadyDetectedPort = newState[key];
if (!alreadyDetectedPort) {
console.warn(
`Detected a port removal but it has not been discovered. This is most likely a bug! Detected port was: ${JSON.stringify(
detectedPort
)}`
);
}
delete newState[key];
}
}

View File

@@ -1,9 +1,9 @@
import { ILogger } from '@theia/core/lib/common/logger';
import { nls } from '@theia/core/lib/common/nls';
import { notEmpty } from '@theia/core/lib/common/objects';
import { Mutable } from '@theia/core/lib/common/types';
import { inject, injectable } from '@theia/core/shared/inversify';
import {
Board,
BoardDetails,
BoardSearch,
BoardUserField,
@@ -32,9 +32,11 @@ import {
BoardListAllResponse,
BoardSearchRequest,
} from './cli-protocol/cc/arduino/cli/commands/v1/board_pb';
import { PlatformSummary } from './cli-protocol/cc/arduino/cli/commands/v1/common_pb';
import { Platform } from './cli-protocol/cc/arduino/cli/commands/v1/common_pb';
import {
PlatformInstallRequest,
PlatformListRequest,
PlatformListResponse,
PlatformSearchRequest,
PlatformSearchResponse,
PlatformUninstallRequest,
@@ -176,7 +178,7 @@ export class BoardsServiceImpl
const req = new IsDebugSupportedRequest()
.setInstance(instance)
.setFqbn(fqbn)
.setProgrammer(programmer ?? '');
.setProgrammer(programmer);
try {
const debugFqbn = await new Promise<string>((resolve, reject) =>
client.isDebugSupported(req, (err, resp) => {
@@ -245,22 +247,24 @@ export class BoardsServiceImpl
async getInstalledPlatforms(): Promise<BoardsPackage[]> {
const { instance, client } = await this.coreClient;
const resp = await new Promise<PlatformSearchResponse>(
(resolve, reject) => {
client.platformSearch(
new PlatformSearchRequest()
.setInstance(instance)
.setManuallyInstalled(true), // include core manually installed to the sketchbook
(err, resp) => (err ? reject(err) : resolve(resp))
);
}
);
const searchOutput = resp.getSearchOutputList();
return searchOutput
.map((message) => message.toObject(false))
.filter((summary) => summary.installedVersion) // only installed ones
.map(createBoardsPackage)
.filter(notEmpty);
return new Promise<BoardsPackage[]>((resolve, reject) => {
client.platformList(
new PlatformListRequest().setInstance(instance),
(err, response) => {
if (err) {
reject(err);
return;
}
resolve(
response
.getInstalledPlatformsList()
.map((platform, _, installedPlatforms) =>
toBoardsPackage(platform, installedPlatforms)
)
);
}
);
});
}
private async handleListBoards(
@@ -283,28 +287,12 @@ export class BoardsServiceImpl
for (const board of resp.getBoardsList()) {
const platform = board.getPlatform();
if (platform) {
const metadata = platform.getMetadata();
if (!metadata) {
console.warn(
`Platform metadata is missing for platform: ${JSON.stringify(
platform.toObject(false)
)}. Skipping`
);
continue;
}
const platformId = metadata.getId();
const release = platform.getRelease();
if (!release) {
console.warn(
`Platform release is missing for platform: ${platformId}. Skipping`
);
continue;
}
const platformId = platform.getId();
const fqbn = board.getFqbn() || undefined; // prefer undefined over empty string
const parsedPlatformId = createPlatformIdentifier(platformId);
if (!parsedPlatformId) {
console.warn(
`Could not create platform identifier from platform ID input: ${platformId}. Skipping`
`Could not create platform identifier from platform ID input: ${platform.getId()}. Skipping`
);
continue;
}
@@ -331,8 +319,8 @@ export class BoardsServiceImpl
name: board.getName(),
fqbn: board.getFqbn(),
packageId: parsedPlatformId,
packageName: release.getName(),
manuallyInstalled: metadata.getManuallyInstalled(),
packageName: platform.getName(),
manuallyInstalled: platform.getManuallyInstalled(),
});
}
}
@@ -387,25 +375,89 @@ export class BoardsServiceImpl
const coreClient = await this.coreClient;
const { client, instance } = coreClient;
// `core search` returns with all platform versions when the command is executed via gRPC or with `--format json`
// The `--all` flag is applicable only when filtering for the human-readable (`--format text`) output of the CLI
const resp = await new Promise<PlatformSearchResponse>(
const installedPlatformsReq = new PlatformListRequest();
installedPlatformsReq.setInstance(instance);
const installedPlatformsResp = await new Promise<PlatformListResponse>(
(resolve, reject) => {
client.platformSearch(
new PlatformSearchRequest()
.setInstance(instance)
.setSearchArgs(options.query ?? ''),
(err, resp) => (err ? reject(err) : resolve(resp))
);
client.platformList(installedPlatformsReq, (err, resp) => {
!!err ? reject(err) : resolve(resp);
});
}
);
const typeFilter = this.typePredicate(options);
const searchOutput = resp.getSearchOutputList();
const boardsPackages = searchOutput
.map((message) => message.toObject(false))
.map(createBoardsPackage)
.filter(notEmpty)
.filter(typeFilter);
const installedPlatforms =
installedPlatformsResp.getInstalledPlatformsList();
const req = new PlatformSearchRequest();
req.setSearchArgs(options.query || '');
req.setAllVersions(true);
req.setInstance(instance);
const resp = await new Promise<PlatformSearchResponse>(
(resolve, reject) => {
client.platformSearch(req, (err, resp) => {
!!err ? reject(err) : resolve(resp);
});
}
);
const packages = new Map<string, BoardsPackage>();
// We must group the cores by ID, and sort platforms by, first the installed version, then version alphabetical order.
// Otherwise we lose the FQBN information.
const groupedById: Map<string, Platform[]> = new Map();
for (const platform of resp.getSearchOutputList()) {
const id = platform.getId();
const idGroup = groupedById.get(id);
if (idGroup) {
idGroup.push(platform);
} else {
groupedById.set(id, [platform]);
}
}
const installedAwareVersionComparator = (
left: Platform,
right: Platform
) => {
// XXX: we cannot rely on `platform.getInstalled()`, it is always an empty string.
const leftInstalled = !!installedPlatforms.find(
(ip) =>
ip.getId() === left.getId() && ip.getInstalled() === left.getLatest()
);
const rightInstalled = !!installedPlatforms.find(
(ip) =>
ip.getId() === right.getId() &&
ip.getInstalled() === right.getLatest()
);
if (leftInstalled && !rightInstalled) {
return -1;
}
if (!leftInstalled && rightInstalled) {
return 1;
}
const invertedVersionComparator =
Installable.Version.COMPARATOR(left.getLatest(), right.getLatest()) *
-1;
// Higher version comes first.
return invertedVersionComparator;
};
for (const value of groupedById.values()) {
value.sort(installedAwareVersionComparator);
}
for (const value of groupedById.values()) {
for (const platform of value) {
const id = platform.getId();
const pkg = packages.get(id);
if (pkg) {
pkg.availableVersions.push(platform.getLatest());
pkg.availableVersions.sort(Installable.Version.COMPARATOR).reverse();
} else {
packages.set(id, toBoardsPackage(platform, installedPlatforms));
}
}
}
const filter = this.typePredicate(options);
const boardsPackages = [...packages.values()].filter(filter);
return sortComponents(boardsPackages, boardsPackageSortGroup);
}
@@ -572,52 +624,36 @@ function boardsPackageSortGroup(boardsPackage: BoardsPackage): SortGroup {
return types.join('-') as SortGroup;
}
function createBoardsPackage(
summary: PlatformSummary.AsObject
): BoardsPackage | undefined {
if (!isPlatformSummaryWithMetadata(summary)) {
return undefined;
function toBoardsPackage(
platform: Platform,
installedPlatforms: Platform[]
): BoardsPackage {
let installedVersion: string | undefined;
const matchingPlatform = installedPlatforms.find(
(ip) => ip.getId() === platform.getId()
);
if (!!matchingPlatform) {
installedVersion = matchingPlatform.getInstalled();
}
const versionReleaseMap = new Map(summary.releasesMap);
const actualRelease =
versionReleaseMap.get(summary.installedVersion) ??
versionReleaseMap.get(summary.latestVersion);
if (!actualRelease) {
return undefined;
}
const { name, typesList, boardsList, deprecated, compatible } = actualRelease;
if (!compatible) {
return undefined; // never show incompatible platforms
}
const { id, website, maintainer } = summary.metadata;
const availableVersions = Array.from(versionReleaseMap.keys())
.sort(Installable.Version.COMPARATOR)
.reverse();
const boardsPackage: Mutable<BoardsPackage> = {
id,
name,
return {
id: platform.getId(),
name: platform.getName(),
author: platform.getMaintainer(),
availableVersions: [platform.getLatest()],
description: platform
.getBoardsList()
.map((b) => b.getName())
.join(', '),
types: platform.getTypeList(),
deprecated: platform.getDeprecated(),
summary: nls.localize(
'arduino/component/boardsIncluded',
'Boards included in this package:'
),
description: boardsList.map(({ name }) => name).join(', '),
boards: boardsList,
types: typesList,
moreInfoLink: website,
author: maintainer,
deprecated,
availableVersions,
installedVersion,
boards: platform
.getBoardsList()
.map((b) => <Board>{ name: b.getName(), fqbn: b.getFqbn() }),
moreInfoLink: platform.getWebsite(),
};
if (summary.installedVersion) {
boardsPackage.installedVersion = summary.installedVersion;
}
return boardsPackage;
}
type PlatformSummaryWithMetadata = PlatformSummary.AsObject &
Required<Pick<PlatformSummary.AsObject, 'metadata'>>;
function isPlatformSummaryWithMetadata(
summary: PlatformSummary.AsObject
): summary is PlatformSummaryWithMetadata {
return Boolean(summary.metadata);
}

View File

@@ -384,10 +384,6 @@ export class BoardListResponse extends jspb.Message {
getPortsList(): Array<DetectedPort>;
setPortsList(value: Array<DetectedPort>): BoardListResponse;
addPorts(value?: DetectedPort, index?: number): DetectedPort;
clearWarningsList(): void;
getWarningsList(): Array<string>;
setWarningsList(value: Array<string>): BoardListResponse;
addWarnings(value: string, index?: number): string;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): BoardListResponse.AsObject;
@@ -402,7 +398,6 @@ export class BoardListResponse extends jspb.Message {
export namespace BoardListResponse {
export type AsObject = {
portsList: Array<DetectedPort.AsObject>,
warningsList: Array<string>,
}
}

View File

@@ -3387,7 +3387,7 @@ proto.cc.arduino.cli.commands.v1.BoardListRequest.prototype.setFqbn = function(v
* @private {!Array<number>}
* @const
*/
proto.cc.arduino.cli.commands.v1.BoardListResponse.repeatedFields_ = [1,2];
proto.cc.arduino.cli.commands.v1.BoardListResponse.repeatedFields_ = [1];
@@ -3421,8 +3421,7 @@ proto.cc.arduino.cli.commands.v1.BoardListResponse.prototype.toObject = function
proto.cc.arduino.cli.commands.v1.BoardListResponse.toObject = function(includeInstance, msg) {
var f, obj = {
portsList: jspb.Message.toObjectList(msg.getPortsList(),
proto.cc.arduino.cli.commands.v1.DetectedPort.toObject, includeInstance),
warningsList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f
proto.cc.arduino.cli.commands.v1.DetectedPort.toObject, includeInstance)
};
if (includeInstance) {
@@ -3464,10 +3463,6 @@ proto.cc.arduino.cli.commands.v1.BoardListResponse.deserializeBinaryFromReader =
reader.readMessage(value,proto.cc.arduino.cli.commands.v1.DetectedPort.deserializeBinaryFromReader);
msg.addPorts(value);
break;
case 2:
var value = /** @type {string} */ (reader.readString());
msg.addWarnings(value);
break;
default:
reader.skipField();
break;
@@ -3505,13 +3500,6 @@ proto.cc.arduino.cli.commands.v1.BoardListResponse.serializeBinaryToWriter = fun
proto.cc.arduino.cli.commands.v1.DetectedPort.serializeBinaryToWriter
);
}
f = message.getWarningsList();
if (f.length > 0) {
writer.writeRepeatedString(
2,
f
);
}
};
@@ -3553,43 +3541,6 @@ proto.cc.arduino.cli.commands.v1.BoardListResponse.prototype.clearPortsList = fu
};
/**
* repeated string warnings = 2;
* @return {!Array<string>}
*/
proto.cc.arduino.cli.commands.v1.BoardListResponse.prototype.getWarningsList = function() {
return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 2));
};
/**
* @param {!Array<string>} value
* @return {!proto.cc.arduino.cli.commands.v1.BoardListResponse} returns this
*/
proto.cc.arduino.cli.commands.v1.BoardListResponse.prototype.setWarningsList = function(value) {
return jspb.Message.setField(this, 2, value || []);
};
/**
* @param {string} value
* @param {number=} opt_index
* @return {!proto.cc.arduino.cli.commands.v1.BoardListResponse} returns this
*/
proto.cc.arduino.cli.commands.v1.BoardListResponse.prototype.addWarnings = function(value, opt_index) {
return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
};
/**
* Clears the list making it empty but non-null.
* @return {!proto.cc.arduino.cli.commands.v1.BoardListResponse} returns this
*/
proto.cc.arduino.cli.commands.v1.BoardListResponse.prototype.clearWarningsList = function() {
return this.setWarningsList([]);
};
/**
* List of repeated fields within this message type.

View File

@@ -15,7 +15,6 @@ import * as cc_arduino_cli_commands_v1_debug_pb from "../../../../../cc/arduino/
import * as cc_arduino_cli_commands_v1_monitor_pb from "../../../../../cc/arduino/cli/commands/v1/monitor_pb";
import * as cc_arduino_cli_commands_v1_upload_pb from "../../../../../cc/arduino/cli/commands/v1/upload_pb";
import * as cc_arduino_cli_commands_v1_lib_pb from "../../../../../cc/arduino/cli/commands/v1/lib_pb";
import * as cc_arduino_cli_commands_v1_settings_pb from "../../../../../cc/arduino/cli/commands/v1/settings_pb";
interface IArduinoCoreServiceService extends grpc.ServiceDefinition<grpc.UntypedServiceImplementation> {
create: IArduinoCoreServiceService_ICreate;
@@ -44,6 +43,7 @@ interface IArduinoCoreServiceService extends grpc.ServiceDefinition<grpc.Untyped
listProgrammersAvailableForUpload: IArduinoCoreServiceService_IListProgrammersAvailableForUpload;
burnBootloader: IArduinoCoreServiceService_IBurnBootloader;
platformSearch: IArduinoCoreServiceService_IPlatformSearch;
platformList: IArduinoCoreServiceService_IPlatformList;
libraryDownload: IArduinoCoreServiceService_ILibraryDownload;
libraryInstall: IArduinoCoreServiceService_ILibraryInstall;
libraryUpgrade: IArduinoCoreServiceService_ILibraryUpgrade;
@@ -59,14 +59,6 @@ interface IArduinoCoreServiceService extends grpc.ServiceDefinition<grpc.Untyped
debug: IArduinoCoreServiceService_IDebug;
isDebugSupported: IArduinoCoreServiceService_IIsDebugSupported;
getDebugConfig: IArduinoCoreServiceService_IGetDebugConfig;
checkForArduinoCLIUpdates: IArduinoCoreServiceService_ICheckForArduinoCLIUpdates;
cleanDownloadCacheDirectory: IArduinoCoreServiceService_ICleanDownloadCacheDirectory;
configurationSave: IArduinoCoreServiceService_IConfigurationSave;
configurationOpen: IArduinoCoreServiceService_IConfigurationOpen;
configurationGet: IArduinoCoreServiceService_IConfigurationGet;
settingsEnumerate: IArduinoCoreServiceService_ISettingsEnumerate;
settingsGetValue: IArduinoCoreServiceService_ISettingsGetValue;
settingsSetValue: IArduinoCoreServiceService_ISettingsSetValue;
}
interface IArduinoCoreServiceService_ICreate extends grpc.MethodDefinition<cc_arduino_cli_commands_v1_commands_pb.CreateRequest, cc_arduino_cli_commands_v1_commands_pb.CreateResponse> {
@@ -303,6 +295,15 @@ interface IArduinoCoreServiceService_IPlatformSearch extends grpc.MethodDefiniti
responseSerialize: grpc.serialize<cc_arduino_cli_commands_v1_core_pb.PlatformSearchResponse>;
responseDeserialize: grpc.deserialize<cc_arduino_cli_commands_v1_core_pb.PlatformSearchResponse>;
}
interface IArduinoCoreServiceService_IPlatformList extends grpc.MethodDefinition<cc_arduino_cli_commands_v1_core_pb.PlatformListRequest, cc_arduino_cli_commands_v1_core_pb.PlatformListResponse> {
path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/PlatformList";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<cc_arduino_cli_commands_v1_core_pb.PlatformListRequest>;
requestDeserialize: grpc.deserialize<cc_arduino_cli_commands_v1_core_pb.PlatformListRequest>;
responseSerialize: grpc.serialize<cc_arduino_cli_commands_v1_core_pb.PlatformListResponse>;
responseDeserialize: grpc.deserialize<cc_arduino_cli_commands_v1_core_pb.PlatformListResponse>;
}
interface IArduinoCoreServiceService_ILibraryDownload extends grpc.MethodDefinition<cc_arduino_cli_commands_v1_lib_pb.LibraryDownloadRequest, cc_arduino_cli_commands_v1_lib_pb.LibraryDownloadResponse> {
path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/LibraryDownload";
requestStream: false;
@@ -438,78 +439,6 @@ interface IArduinoCoreServiceService_IGetDebugConfig extends grpc.MethodDefiniti
responseSerialize: grpc.serialize<cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigResponse>;
responseDeserialize: grpc.deserialize<cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigResponse>;
}
interface IArduinoCoreServiceService_ICheckForArduinoCLIUpdates extends grpc.MethodDefinition<cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesRequest, cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesResponse> {
path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/CheckForArduinoCLIUpdates";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesRequest>;
requestDeserialize: grpc.deserialize<cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesRequest>;
responseSerialize: grpc.serialize<cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesResponse>;
responseDeserialize: grpc.deserialize<cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesResponse>;
}
interface IArduinoCoreServiceService_ICleanDownloadCacheDirectory extends grpc.MethodDefinition<cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryRequest, cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryResponse> {
path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/CleanDownloadCacheDirectory";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryRequest>;
requestDeserialize: grpc.deserialize<cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryRequest>;
responseSerialize: grpc.serialize<cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryResponse>;
responseDeserialize: grpc.deserialize<cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryResponse>;
}
interface IArduinoCoreServiceService_IConfigurationSave extends grpc.MethodDefinition<cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveRequest, cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveResponse> {
path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/ConfigurationSave";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveRequest>;
requestDeserialize: grpc.deserialize<cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveRequest>;
responseSerialize: grpc.serialize<cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveResponse>;
responseDeserialize: grpc.deserialize<cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveResponse>;
}
interface IArduinoCoreServiceService_IConfigurationOpen extends grpc.MethodDefinition<cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenRequest, cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenResponse> {
path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/ConfigurationOpen";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenRequest>;
requestDeserialize: grpc.deserialize<cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenRequest>;
responseSerialize: grpc.serialize<cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenResponse>;
responseDeserialize: grpc.deserialize<cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenResponse>;
}
interface IArduinoCoreServiceService_IConfigurationGet extends grpc.MethodDefinition<cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetRequest, cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetResponse> {
path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/ConfigurationGet";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetRequest>;
requestDeserialize: grpc.deserialize<cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetRequest>;
responseSerialize: grpc.serialize<cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetResponse>;
responseDeserialize: grpc.deserialize<cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetResponse>;
}
interface IArduinoCoreServiceService_ISettingsEnumerate extends grpc.MethodDefinition<cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateRequest, cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateResponse> {
path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsEnumerate";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateRequest>;
requestDeserialize: grpc.deserialize<cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateRequest>;
responseSerialize: grpc.serialize<cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateResponse>;
responseDeserialize: grpc.deserialize<cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateResponse>;
}
interface IArduinoCoreServiceService_ISettingsGetValue extends grpc.MethodDefinition<cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest, cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse> {
path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsGetValue";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest>;
requestDeserialize: grpc.deserialize<cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest>;
responseSerialize: grpc.serialize<cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse>;
responseDeserialize: grpc.deserialize<cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse>;
}
interface IArduinoCoreServiceService_ISettingsSetValue extends grpc.MethodDefinition<cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest, cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse> {
path: "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsSetValue";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest>;
requestDeserialize: grpc.deserialize<cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest>;
responseSerialize: grpc.serialize<cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse>;
responseDeserialize: grpc.deserialize<cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse>;
}
export const ArduinoCoreServiceService: IArduinoCoreServiceService;
@@ -540,6 +469,7 @@ export interface IArduinoCoreServiceServer extends grpc.UntypedServiceImplementa
listProgrammersAvailableForUpload: grpc.handleUnaryCall<cc_arduino_cli_commands_v1_upload_pb.ListProgrammersAvailableForUploadRequest, cc_arduino_cli_commands_v1_upload_pb.ListProgrammersAvailableForUploadResponse>;
burnBootloader: grpc.handleServerStreamingCall<cc_arduino_cli_commands_v1_upload_pb.BurnBootloaderRequest, cc_arduino_cli_commands_v1_upload_pb.BurnBootloaderResponse>;
platformSearch: grpc.handleUnaryCall<cc_arduino_cli_commands_v1_core_pb.PlatformSearchRequest, cc_arduino_cli_commands_v1_core_pb.PlatformSearchResponse>;
platformList: grpc.handleUnaryCall<cc_arduino_cli_commands_v1_core_pb.PlatformListRequest, cc_arduino_cli_commands_v1_core_pb.PlatformListResponse>;
libraryDownload: grpc.handleServerStreamingCall<cc_arduino_cli_commands_v1_lib_pb.LibraryDownloadRequest, cc_arduino_cli_commands_v1_lib_pb.LibraryDownloadResponse>;
libraryInstall: grpc.handleServerStreamingCall<cc_arduino_cli_commands_v1_lib_pb.LibraryInstallRequest, cc_arduino_cli_commands_v1_lib_pb.LibraryInstallResponse>;
libraryUpgrade: grpc.handleServerStreamingCall<cc_arduino_cli_commands_v1_lib_pb.LibraryUpgradeRequest, cc_arduino_cli_commands_v1_lib_pb.LibraryUpgradeResponse>;
@@ -555,14 +485,6 @@ export interface IArduinoCoreServiceServer extends grpc.UntypedServiceImplementa
debug: grpc.handleBidiStreamingCall<cc_arduino_cli_commands_v1_debug_pb.DebugRequest, cc_arduino_cli_commands_v1_debug_pb.DebugResponse>;
isDebugSupported: grpc.handleUnaryCall<cc_arduino_cli_commands_v1_debug_pb.IsDebugSupportedRequest, cc_arduino_cli_commands_v1_debug_pb.IsDebugSupportedResponse>;
getDebugConfig: grpc.handleUnaryCall<cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigRequest, cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigResponse>;
checkForArduinoCLIUpdates: grpc.handleUnaryCall<cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesRequest, cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesResponse>;
cleanDownloadCacheDirectory: grpc.handleUnaryCall<cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryRequest, cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryResponse>;
configurationSave: grpc.handleUnaryCall<cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveRequest, cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveResponse>;
configurationOpen: grpc.handleUnaryCall<cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenRequest, cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenResponse>;
configurationGet: grpc.handleUnaryCall<cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetRequest, cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetResponse>;
settingsEnumerate: grpc.handleUnaryCall<cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateRequest, cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateResponse>;
settingsGetValue: grpc.handleUnaryCall<cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest, cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse>;
settingsSetValue: grpc.handleUnaryCall<cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest, cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse>;
}
export interface IArduinoCoreServiceClient {
@@ -632,6 +554,9 @@ export interface IArduinoCoreServiceClient {
platformSearch(request: cc_arduino_cli_commands_v1_core_pb.PlatformSearchRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_core_pb.PlatformSearchResponse) => void): grpc.ClientUnaryCall;
platformSearch(request: cc_arduino_cli_commands_v1_core_pb.PlatformSearchRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_core_pb.PlatformSearchResponse) => void): grpc.ClientUnaryCall;
platformSearch(request: cc_arduino_cli_commands_v1_core_pb.PlatformSearchRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_core_pb.PlatformSearchResponse) => void): grpc.ClientUnaryCall;
platformList(request: cc_arduino_cli_commands_v1_core_pb.PlatformListRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_core_pb.PlatformListResponse) => void): grpc.ClientUnaryCall;
platformList(request: cc_arduino_cli_commands_v1_core_pb.PlatformListRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_core_pb.PlatformListResponse) => void): grpc.ClientUnaryCall;
platformList(request: cc_arduino_cli_commands_v1_core_pb.PlatformListRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_core_pb.PlatformListResponse) => void): grpc.ClientUnaryCall;
libraryDownload(request: cc_arduino_cli_commands_v1_lib_pb.LibraryDownloadRequest, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<cc_arduino_cli_commands_v1_lib_pb.LibraryDownloadResponse>;
libraryDownload(request: cc_arduino_cli_commands_v1_lib_pb.LibraryDownloadRequest, metadata?: grpc.Metadata, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<cc_arduino_cli_commands_v1_lib_pb.LibraryDownloadResponse>;
libraryInstall(request: cc_arduino_cli_commands_v1_lib_pb.LibraryInstallRequest, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<cc_arduino_cli_commands_v1_lib_pb.LibraryInstallResponse>;
@@ -670,30 +595,6 @@ export interface IArduinoCoreServiceClient {
getDebugConfig(request: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigResponse) => void): grpc.ClientUnaryCall;
getDebugConfig(request: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigResponse) => void): grpc.ClientUnaryCall;
getDebugConfig(request: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigResponse) => void): grpc.ClientUnaryCall;
checkForArduinoCLIUpdates(request: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesResponse) => void): grpc.ClientUnaryCall;
checkForArduinoCLIUpdates(request: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesResponse) => void): grpc.ClientUnaryCall;
checkForArduinoCLIUpdates(request: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesResponse) => void): grpc.ClientUnaryCall;
cleanDownloadCacheDirectory(request: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryResponse) => void): grpc.ClientUnaryCall;
cleanDownloadCacheDirectory(request: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryResponse) => void): grpc.ClientUnaryCall;
cleanDownloadCacheDirectory(request: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryResponse) => void): grpc.ClientUnaryCall;
configurationSave(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveResponse) => void): grpc.ClientUnaryCall;
configurationSave(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveResponse) => void): grpc.ClientUnaryCall;
configurationSave(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveResponse) => void): grpc.ClientUnaryCall;
configurationOpen(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenResponse) => void): grpc.ClientUnaryCall;
configurationOpen(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenResponse) => void): grpc.ClientUnaryCall;
configurationOpen(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenResponse) => void): grpc.ClientUnaryCall;
configurationGet(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetResponse) => void): grpc.ClientUnaryCall;
configurationGet(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetResponse) => void): grpc.ClientUnaryCall;
configurationGet(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetResponse) => void): grpc.ClientUnaryCall;
settingsEnumerate(request: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateResponse) => void): grpc.ClientUnaryCall;
settingsEnumerate(request: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateResponse) => void): grpc.ClientUnaryCall;
settingsEnumerate(request: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateResponse) => void): grpc.ClientUnaryCall;
settingsGetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse) => void): grpc.ClientUnaryCall;
settingsGetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse) => void): grpc.ClientUnaryCall;
settingsGetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse) => void): grpc.ClientUnaryCall;
settingsSetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse) => void): grpc.ClientUnaryCall;
settingsSetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse) => void): grpc.ClientUnaryCall;
settingsSetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse) => void): grpc.ClientUnaryCall;
}
export class ArduinoCoreServiceClient extends grpc.Client implements IArduinoCoreServiceClient {
@@ -764,6 +665,9 @@ export class ArduinoCoreServiceClient extends grpc.Client implements IArduinoCor
public platformSearch(request: cc_arduino_cli_commands_v1_core_pb.PlatformSearchRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_core_pb.PlatformSearchResponse) => void): grpc.ClientUnaryCall;
public platformSearch(request: cc_arduino_cli_commands_v1_core_pb.PlatformSearchRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_core_pb.PlatformSearchResponse) => void): grpc.ClientUnaryCall;
public platformSearch(request: cc_arduino_cli_commands_v1_core_pb.PlatformSearchRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_core_pb.PlatformSearchResponse) => void): grpc.ClientUnaryCall;
public platformList(request: cc_arduino_cli_commands_v1_core_pb.PlatformListRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_core_pb.PlatformListResponse) => void): grpc.ClientUnaryCall;
public platformList(request: cc_arduino_cli_commands_v1_core_pb.PlatformListRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_core_pb.PlatformListResponse) => void): grpc.ClientUnaryCall;
public platformList(request: cc_arduino_cli_commands_v1_core_pb.PlatformListRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_core_pb.PlatformListResponse) => void): grpc.ClientUnaryCall;
public libraryDownload(request: cc_arduino_cli_commands_v1_lib_pb.LibraryDownloadRequest, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<cc_arduino_cli_commands_v1_lib_pb.LibraryDownloadResponse>;
public libraryDownload(request: cc_arduino_cli_commands_v1_lib_pb.LibraryDownloadRequest, metadata?: grpc.Metadata, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<cc_arduino_cli_commands_v1_lib_pb.LibraryDownloadResponse>;
public libraryInstall(request: cc_arduino_cli_commands_v1_lib_pb.LibraryInstallRequest, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<cc_arduino_cli_commands_v1_lib_pb.LibraryInstallResponse>;
@@ -800,28 +704,4 @@ export class ArduinoCoreServiceClient extends grpc.Client implements IArduinoCor
public getDebugConfig(request: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigResponse) => void): grpc.ClientUnaryCall;
public getDebugConfig(request: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigResponse) => void): grpc.ClientUnaryCall;
public getDebugConfig(request: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_debug_pb.GetDebugConfigResponse) => void): grpc.ClientUnaryCall;
public checkForArduinoCLIUpdates(request: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesResponse) => void): grpc.ClientUnaryCall;
public checkForArduinoCLIUpdates(request: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesResponse) => void): grpc.ClientUnaryCall;
public checkForArduinoCLIUpdates(request: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesResponse) => void): grpc.ClientUnaryCall;
public cleanDownloadCacheDirectory(request: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryResponse) => void): grpc.ClientUnaryCall;
public cleanDownloadCacheDirectory(request: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryResponse) => void): grpc.ClientUnaryCall;
public cleanDownloadCacheDirectory(request: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryResponse) => void): grpc.ClientUnaryCall;
public configurationSave(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveResponse) => void): grpc.ClientUnaryCall;
public configurationSave(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveResponse) => void): grpc.ClientUnaryCall;
public configurationSave(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveResponse) => void): grpc.ClientUnaryCall;
public configurationOpen(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenResponse) => void): grpc.ClientUnaryCall;
public configurationOpen(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenResponse) => void): grpc.ClientUnaryCall;
public configurationOpen(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenResponse) => void): grpc.ClientUnaryCall;
public configurationGet(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetResponse) => void): grpc.ClientUnaryCall;
public configurationGet(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetResponse) => void): grpc.ClientUnaryCall;
public configurationGet(request: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetResponse) => void): grpc.ClientUnaryCall;
public settingsEnumerate(request: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateResponse) => void): grpc.ClientUnaryCall;
public settingsEnumerate(request: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateResponse) => void): grpc.ClientUnaryCall;
public settingsEnumerate(request: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateResponse) => void): grpc.ClientUnaryCall;
public settingsGetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse) => void): grpc.ClientUnaryCall;
public settingsGetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse) => void): grpc.ClientUnaryCall;
public settingsGetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse) => void): grpc.ClientUnaryCall;
public settingsSetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse) => void): grpc.ClientUnaryCall;
public settingsSetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse) => void): grpc.ClientUnaryCall;
public settingsSetValue(request: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse) => void): grpc.ClientUnaryCall;
}

View File

@@ -3,19 +3,18 @@
// Original file comments:
// This file is part of arduino-cli.
//
// Copyright 2024 ARDUINO SA (https://www.arduino.cc/)
// Copyright 2020 ARDUINO SA (http://www.arduino.cc/)
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// This software is released under the GNU General Public License version 3,
// which covers the main part of arduino-cli.
// The terms of this license can be found at:
// https://www.gnu.org/licenses/gpl-3.0.en.html
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// You can be released from the requirements of the above licenses by purchasing
// a commercial license. Buying such a license is mandatory if you want to
// modify or otherwise use the software for commercial activities involving the
// Arduino software without disclosing the source code of your own applications.
// To purchase a commercial license, send an email to license@arduino.cc.
//
'use strict';
var cc_arduino_cli_commands_v1_commands_pb = require('../../../../../cc/arduino/cli/commands/v1/commands_pb.js');
@@ -28,7 +27,6 @@ var cc_arduino_cli_commands_v1_debug_pb = require('../../../../../cc/arduino/cli
var cc_arduino_cli_commands_v1_monitor_pb = require('../../../../../cc/arduino/cli/commands/v1/monitor_pb.js');
var cc_arduino_cli_commands_v1_upload_pb = require('../../../../../cc/arduino/cli/commands/v1/upload_pb.js');
var cc_arduino_cli_commands_v1_lib_pb = require('../../../../../cc/arduino/cli/commands/v1/lib_pb.js');
var cc_arduino_cli_commands_v1_settings_pb = require('../../../../../cc/arduino/cli/commands/v1/settings_pb.js');
function serialize_cc_arduino_cli_commands_v1_ArchiveSketchRequest(arg) {
if (!(arg instanceof cc_arduino_cli_commands_v1_commands_pb.ArchiveSketchRequest)) {
@@ -184,50 +182,6 @@ function deserialize_cc_arduino_cli_commands_v1_BurnBootloaderResponse(buffer_ar
return cc_arduino_cli_commands_v1_upload_pb.BurnBootloaderResponse.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_commands_v1_CheckForArduinoCLIUpdatesRequest(arg) {
if (!(arg instanceof cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesRequest)) {
throw new Error('Expected argument of type cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_commands_v1_CheckForArduinoCLIUpdatesRequest(buffer_arg) {
return cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesRequest.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_commands_v1_CheckForArduinoCLIUpdatesResponse(arg) {
if (!(arg instanceof cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesResponse)) {
throw new Error('Expected argument of type cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_commands_v1_CheckForArduinoCLIUpdatesResponse(buffer_arg) {
return cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesResponse.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_commands_v1_CleanDownloadCacheDirectoryRequest(arg) {
if (!(arg instanceof cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryRequest)) {
throw new Error('Expected argument of type cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_commands_v1_CleanDownloadCacheDirectoryRequest(buffer_arg) {
return cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryRequest.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_commands_v1_CleanDownloadCacheDirectoryResponse(arg) {
if (!(arg instanceof cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryResponse)) {
throw new Error('Expected argument of type cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_commands_v1_CleanDownloadCacheDirectoryResponse(buffer_arg) {
return cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryResponse.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_commands_v1_CompileRequest(arg) {
if (!(arg instanceof cc_arduino_cli_commands_v1_compile_pb.CompileRequest)) {
throw new Error('Expected argument of type cc.arduino.cli.commands.v1.CompileRequest');
@@ -250,72 +204,6 @@ function deserialize_cc_arduino_cli_commands_v1_CompileResponse(buffer_arg) {
return cc_arduino_cli_commands_v1_compile_pb.CompileResponse.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_commands_v1_ConfigurationGetRequest(arg) {
if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetRequest)) {
throw new Error('Expected argument of type cc.arduino.cli.commands.v1.ConfigurationGetRequest');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_commands_v1_ConfigurationGetRequest(buffer_arg) {
return cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetRequest.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_commands_v1_ConfigurationGetResponse(arg) {
if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetResponse)) {
throw new Error('Expected argument of type cc.arduino.cli.commands.v1.ConfigurationGetResponse');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_commands_v1_ConfigurationGetResponse(buffer_arg) {
return cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetResponse.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_commands_v1_ConfigurationOpenRequest(arg) {
if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenRequest)) {
throw new Error('Expected argument of type cc.arduino.cli.commands.v1.ConfigurationOpenRequest');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_commands_v1_ConfigurationOpenRequest(buffer_arg) {
return cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenRequest.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_commands_v1_ConfigurationOpenResponse(arg) {
if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenResponse)) {
throw new Error('Expected argument of type cc.arduino.cli.commands.v1.ConfigurationOpenResponse');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_commands_v1_ConfigurationOpenResponse(buffer_arg) {
return cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenResponse.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_commands_v1_ConfigurationSaveRequest(arg) {
if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveRequest)) {
throw new Error('Expected argument of type cc.arduino.cli.commands.v1.ConfigurationSaveRequest');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_commands_v1_ConfigurationSaveRequest(buffer_arg) {
return cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveRequest.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_commands_v1_ConfigurationSaveResponse(arg) {
if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveResponse)) {
throw new Error('Expected argument of type cc.arduino.cli.commands.v1.ConfigurationSaveResponse');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_commands_v1_ConfigurationSaveResponse(buffer_arg) {
return cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveResponse.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_commands_v1_CreateRequest(arg) {
if (!(arg instanceof cc_arduino_cli_commands_v1_commands_pb.CreateRequest)) {
throw new Error('Expected argument of type cc.arduino.cli.commands.v1.CreateRequest');
@@ -800,6 +688,28 @@ function deserialize_cc_arduino_cli_commands_v1_PlatformInstallResponse(buffer_a
return cc_arduino_cli_commands_v1_core_pb.PlatformInstallResponse.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_commands_v1_PlatformListRequest(arg) {
if (!(arg instanceof cc_arduino_cli_commands_v1_core_pb.PlatformListRequest)) {
throw new Error('Expected argument of type cc.arduino.cli.commands.v1.PlatformListRequest');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_commands_v1_PlatformListRequest(buffer_arg) {
return cc_arduino_cli_commands_v1_core_pb.PlatformListRequest.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_commands_v1_PlatformListResponse(arg) {
if (!(arg instanceof cc_arduino_cli_commands_v1_core_pb.PlatformListResponse)) {
throw new Error('Expected argument of type cc.arduino.cli.commands.v1.PlatformListResponse');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_commands_v1_PlatformListResponse(buffer_arg) {
return cc_arduino_cli_commands_v1_core_pb.PlatformListResponse.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_commands_v1_PlatformSearchRequest(arg) {
if (!(arg instanceof cc_arduino_cli_commands_v1_core_pb.PlatformSearchRequest)) {
throw new Error('Expected argument of type cc.arduino.cli.commands.v1.PlatformSearchRequest');
@@ -888,72 +798,6 @@ function deserialize_cc_arduino_cli_commands_v1_SetSketchDefaultsResponse(buffer
return cc_arduino_cli_commands_v1_commands_pb.SetSketchDefaultsResponse.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_commands_v1_SettingsEnumerateRequest(arg) {
if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateRequest)) {
throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsEnumerateRequest');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_commands_v1_SettingsEnumerateRequest(buffer_arg) {
return cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateRequest.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_commands_v1_SettingsEnumerateResponse(arg) {
if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateResponse)) {
throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsEnumerateResponse');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_commands_v1_SettingsEnumerateResponse(buffer_arg) {
return cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateResponse.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_commands_v1_SettingsGetValueRequest(arg) {
if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest)) {
throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsGetValueRequest');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_commands_v1_SettingsGetValueRequest(buffer_arg) {
return cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_commands_v1_SettingsGetValueResponse(arg) {
if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse)) {
throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsGetValueResponse');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_commands_v1_SettingsGetValueResponse(buffer_arg) {
return cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_commands_v1_SettingsSetValueRequest(arg) {
if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest)) {
throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsSetValueRequest');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_commands_v1_SettingsSetValueRequest(buffer_arg) {
return cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_commands_v1_SettingsSetValueResponse(arg) {
if (!(arg instanceof cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse)) {
throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SettingsSetValueResponse');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_commands_v1_SettingsSetValueResponse(buffer_arg) {
return cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_commands_v1_SupportedUserFieldsRequest(arg) {
if (!(arg instanceof cc_arduino_cli_commands_v1_upload_pb.SupportedUserFieldsRequest)) {
throw new Error('Expected argument of type cc.arduino.cli.commands.v1.SupportedUserFieldsRequest');
@@ -1432,6 +1276,18 @@ platformSearch: {
responseSerialize: serialize_cc_arduino_cli_commands_v1_PlatformSearchResponse,
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_PlatformSearchResponse,
},
// List all installed platforms.
platformList: {
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/PlatformList',
requestStream: false,
responseStream: false,
requestType: cc_arduino_cli_commands_v1_core_pb.PlatformListRequest,
responseType: cc_arduino_cli_commands_v1_core_pb.PlatformListResponse,
requestSerialize: serialize_cc_arduino_cli_commands_v1_PlatformListRequest,
requestDeserialize: deserialize_cc_arduino_cli_commands_v1_PlatformListRequest,
responseSerialize: serialize_cc_arduino_cli_commands_v1_PlatformListResponse,
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_PlatformListResponse,
},
// Download the archive file of an Arduino library in the libraries index to
// the staging directory.
libraryDownload: {
@@ -1614,100 +1470,5 @@ getDebugConfig: {
responseSerialize: serialize_cc_arduino_cli_commands_v1_GetDebugConfigResponse,
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_GetDebugConfigResponse,
},
// Check for updates to the Arduino CLI.
checkForArduinoCLIUpdates: {
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/CheckForArduinoCLIUpdates',
requestStream: false,
responseStream: false,
requestType: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesRequest,
responseType: cc_arduino_cli_commands_v1_commands_pb.CheckForArduinoCLIUpdatesResponse,
requestSerialize: serialize_cc_arduino_cli_commands_v1_CheckForArduinoCLIUpdatesRequest,
requestDeserialize: deserialize_cc_arduino_cli_commands_v1_CheckForArduinoCLIUpdatesRequest,
responseSerialize: serialize_cc_arduino_cli_commands_v1_CheckForArduinoCLIUpdatesResponse,
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_CheckForArduinoCLIUpdatesResponse,
},
// Clean the download cache directory (where archives are downloaded).
cleanDownloadCacheDirectory: {
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/CleanDownloadCacheDirectory',
requestStream: false,
responseStream: false,
requestType: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryRequest,
responseType: cc_arduino_cli_commands_v1_commands_pb.CleanDownloadCacheDirectoryResponse,
requestSerialize: serialize_cc_arduino_cli_commands_v1_CleanDownloadCacheDirectoryRequest,
requestDeserialize: deserialize_cc_arduino_cli_commands_v1_CleanDownloadCacheDirectoryRequest,
responseSerialize: serialize_cc_arduino_cli_commands_v1_CleanDownloadCacheDirectoryResponse,
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_CleanDownloadCacheDirectoryResponse,
},
// Writes the settings currently stored in memory in a YAML file
configurationSave: {
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/ConfigurationSave',
requestStream: false,
responseStream: false,
requestType: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveRequest,
responseType: cc_arduino_cli_commands_v1_settings_pb.ConfigurationSaveResponse,
requestSerialize: serialize_cc_arduino_cli_commands_v1_ConfigurationSaveRequest,
requestDeserialize: deserialize_cc_arduino_cli_commands_v1_ConfigurationSaveRequest,
responseSerialize: serialize_cc_arduino_cli_commands_v1_ConfigurationSaveResponse,
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_ConfigurationSaveResponse,
},
// Read the settings from a YAML file
configurationOpen: {
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/ConfigurationOpen',
requestStream: false,
responseStream: false,
requestType: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenRequest,
responseType: cc_arduino_cli_commands_v1_settings_pb.ConfigurationOpenResponse,
requestSerialize: serialize_cc_arduino_cli_commands_v1_ConfigurationOpenRequest,
requestDeserialize: deserialize_cc_arduino_cli_commands_v1_ConfigurationOpenRequest,
responseSerialize: serialize_cc_arduino_cli_commands_v1_ConfigurationOpenResponse,
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_ConfigurationOpenResponse,
},
configurationGet: {
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/ConfigurationGet',
requestStream: false,
responseStream: false,
requestType: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetRequest,
responseType: cc_arduino_cli_commands_v1_settings_pb.ConfigurationGetResponse,
requestSerialize: serialize_cc_arduino_cli_commands_v1_ConfigurationGetRequest,
requestDeserialize: deserialize_cc_arduino_cli_commands_v1_ConfigurationGetRequest,
responseSerialize: serialize_cc_arduino_cli_commands_v1_ConfigurationGetResponse,
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_ConfigurationGetResponse,
},
// Enumerate all the keys/values pairs available in the configuration
settingsEnumerate: {
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsEnumerate',
requestStream: false,
responseStream: false,
requestType: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateRequest,
responseType: cc_arduino_cli_commands_v1_settings_pb.SettingsEnumerateResponse,
requestSerialize: serialize_cc_arduino_cli_commands_v1_SettingsEnumerateRequest,
requestDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsEnumerateRequest,
responseSerialize: serialize_cc_arduino_cli_commands_v1_SettingsEnumerateResponse,
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsEnumerateResponse,
},
// Get a single configuration value
settingsGetValue: {
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsGetValue',
requestStream: false,
responseStream: false,
requestType: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueRequest,
responseType: cc_arduino_cli_commands_v1_settings_pb.SettingsGetValueResponse,
requestSerialize: serialize_cc_arduino_cli_commands_v1_SettingsGetValueRequest,
requestDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsGetValueRequest,
responseSerialize: serialize_cc_arduino_cli_commands_v1_SettingsGetValueResponse,
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsGetValueResponse,
},
// Set a single configuration value
settingsSetValue: {
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsSetValue',
requestStream: false,
responseStream: false,
requestType: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueRequest,
responseType: cc_arduino_cli_commands_v1_settings_pb.SettingsSetValueResponse,
requestSerialize: serialize_cc_arduino_cli_commands_v1_SettingsSetValueRequest,
requestDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsSetValueRequest,
responseSerialize: serialize_cc_arduino_cli_commands_v1_SettingsSetValueResponse,
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsSetValueResponse,
},
};

View File

@@ -14,7 +14,6 @@ import * as cc_arduino_cli_commands_v1_debug_pb from "../../../../../cc/arduino/
import * as cc_arduino_cli_commands_v1_monitor_pb from "../../../../../cc/arduino/cli/commands/v1/monitor_pb";
import * as cc_arduino_cli_commands_v1_upload_pb from "../../../../../cc/arduino/cli/commands/v1/upload_pb";
import * as cc_arduino_cli_commands_v1_lib_pb from "../../../../../cc/arduino/cli/commands/v1/lib_pb";
import * as cc_arduino_cli_commands_v1_settings_pb from "../../../../../cc/arduino/cli/commands/v1/settings_pb";
export class CreateRequest extends jspb.Message {
@@ -99,8 +98,8 @@ export class InitResponse extends jspb.Message {
hasProfile(): boolean;
clearProfile(): void;
getProfile(): cc_arduino_cli_commands_v1_common_pb.SketchProfile | undefined;
setProfile(value?: cc_arduino_cli_commands_v1_common_pb.SketchProfile): InitResponse;
getProfile(): cc_arduino_cli_commands_v1_common_pb.Profile | undefined;
setProfile(value?: cc_arduino_cli_commands_v1_common_pb.Profile): InitResponse;
getMessageCase(): InitResponse.MessageCase;
@@ -118,7 +117,7 @@ export namespace InitResponse {
export type AsObject = {
initProgress?: InitResponse.Progress.AsObject,
error?: google_rpc_status_pb.Status.AsObject,
profile?: cc_arduino_cli_commands_v1_common_pb.SketchProfile.AsObject,
profile?: cc_arduino_cli_commands_v1_common_pb.Profile.AsObject,
}
@@ -232,8 +231,6 @@ export class UpdateIndexRequest extends jspb.Message {
setInstance(value?: cc_arduino_cli_commands_v1_common_pb.Instance): UpdateIndexRequest;
getIgnoreCustomPackageIndexes(): boolean;
setIgnoreCustomPackageIndexes(value: boolean): UpdateIndexRequest;
getUpdateIfOlderThanSecs(): number;
setUpdateIfOlderThanSecs(value: number): UpdateIndexRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): UpdateIndexRequest.AsObject;
@@ -249,7 +246,6 @@ export namespace UpdateIndexRequest {
export type AsObject = {
instance?: cc_arduino_cli_commands_v1_common_pb.Instance.AsObject,
ignoreCustomPackageIndexes: boolean,
updateIfOlderThanSecs: number,
}
}
@@ -260,13 +256,6 @@ export class UpdateIndexResponse extends jspb.Message {
getDownloadProgress(): cc_arduino_cli_commands_v1_common_pb.DownloadProgress | undefined;
setDownloadProgress(value?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress): UpdateIndexResponse;
hasResult(): boolean;
clearResult(): void;
getResult(): UpdateIndexResponse.Result | undefined;
setResult(value?: UpdateIndexResponse.Result): UpdateIndexResponse;
getMessageCase(): UpdateIndexResponse.MessageCase;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): UpdateIndexResponse.AsObject;
static toObject(includeInstance: boolean, msg: UpdateIndexResponse): UpdateIndexResponse.AsObject;
@@ -280,39 +269,7 @@ export class UpdateIndexResponse extends jspb.Message {
export namespace UpdateIndexResponse {
export type AsObject = {
downloadProgress?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress.AsObject,
result?: UpdateIndexResponse.Result.AsObject,
}
export class Result extends jspb.Message {
clearUpdatedIndexesList(): void;
getUpdatedIndexesList(): Array<IndexUpdateReport>;
setUpdatedIndexesList(value: Array<IndexUpdateReport>): Result;
addUpdatedIndexes(value?: IndexUpdateReport, index?: number): IndexUpdateReport;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Result.AsObject;
static toObject(includeInstance: boolean, msg: Result): Result.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Result;
static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result;
}
export namespace Result {
export type AsObject = {
updatedIndexesList: Array<IndexUpdateReport.AsObject>,
}
}
export enum MessageCase {
MESSAGE_NOT_SET = 0,
DOWNLOAD_PROGRESS = 1,
RESULT = 2,
}
}
export class UpdateLibrariesIndexRequest extends jspb.Message {
@@ -321,8 +278,6 @@ export class UpdateLibrariesIndexRequest extends jspb.Message {
clearInstance(): void;
getInstance(): cc_arduino_cli_commands_v1_common_pb.Instance | undefined;
setInstance(value?: cc_arduino_cli_commands_v1_common_pb.Instance): UpdateLibrariesIndexRequest;
getUpdateIfOlderThanSecs(): number;
setUpdateIfOlderThanSecs(value: number): UpdateLibrariesIndexRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): UpdateLibrariesIndexRequest.AsObject;
@@ -337,7 +292,6 @@ export class UpdateLibrariesIndexRequest extends jspb.Message {
export namespace UpdateLibrariesIndexRequest {
export type AsObject = {
instance?: cc_arduino_cli_commands_v1_common_pb.Instance.AsObject,
updateIfOlderThanSecs: number,
}
}
@@ -348,13 +302,6 @@ export class UpdateLibrariesIndexResponse extends jspb.Message {
getDownloadProgress(): cc_arduino_cli_commands_v1_common_pb.DownloadProgress | undefined;
setDownloadProgress(value?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress): UpdateLibrariesIndexResponse;
hasResult(): boolean;
clearResult(): void;
getResult(): UpdateLibrariesIndexResponse.Result | undefined;
setResult(value?: UpdateLibrariesIndexResponse.Result): UpdateLibrariesIndexResponse;
getMessageCase(): UpdateLibrariesIndexResponse.MessageCase;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): UpdateLibrariesIndexResponse.AsObject;
static toObject(includeInstance: boolean, msg: UpdateLibrariesIndexResponse): UpdateLibrariesIndexResponse.AsObject;
@@ -368,72 +315,7 @@ export class UpdateLibrariesIndexResponse extends jspb.Message {
export namespace UpdateLibrariesIndexResponse {
export type AsObject = {
downloadProgress?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress.AsObject,
result?: UpdateLibrariesIndexResponse.Result.AsObject,
}
export class Result extends jspb.Message {
hasLibrariesIndex(): boolean;
clearLibrariesIndex(): void;
getLibrariesIndex(): IndexUpdateReport | undefined;
setLibrariesIndex(value?: IndexUpdateReport): Result;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Result.AsObject;
static toObject(includeInstance: boolean, msg: Result): Result.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Result;
static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result;
}
export namespace Result {
export type AsObject = {
librariesIndex?: IndexUpdateReport.AsObject,
}
}
export enum MessageCase {
MESSAGE_NOT_SET = 0,
DOWNLOAD_PROGRESS = 1,
RESULT = 2,
}
}
export class IndexUpdateReport extends jspb.Message {
getIndexUrl(): string;
setIndexUrl(value: string): IndexUpdateReport;
getStatus(): IndexUpdateReport.Status;
setStatus(value: IndexUpdateReport.Status): IndexUpdateReport;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): IndexUpdateReport.AsObject;
static toObject(includeInstance: boolean, msg: IndexUpdateReport): IndexUpdateReport.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: IndexUpdateReport, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): IndexUpdateReport;
static deserializeBinaryFromReader(message: IndexUpdateReport, reader: jspb.BinaryReader): IndexUpdateReport;
}
export namespace IndexUpdateReport {
export type AsObject = {
indexUrl: string,
status: IndexUpdateReport.Status,
}
export enum Status {
STATUS_UNSPECIFIED = 0,
STATUS_UPDATED = 1,
STATUS_ALREADY_UP_TO_DATE = 2,
STATUS_FAILED = 3,
STATUS_SKIPPED = 4,
}
}
export class VersionRequest extends jspb.Message {
@@ -539,12 +421,61 @@ export namespace LoadSketchRequest {
}
}
export class LoadSketchResponse extends jspb.Message {
export class SketchProfile extends jspb.Message {
getName(): string;
setName(value: string): SketchProfile;
getFqbn(): string;
setFqbn(value: string): SketchProfile;
hasSketch(): boolean;
clearSketch(): void;
getSketch(): cc_arduino_cli_commands_v1_common_pb.Sketch | undefined;
setSketch(value?: cc_arduino_cli_commands_v1_common_pb.Sketch): LoadSketchResponse;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): SketchProfile.AsObject;
static toObject(includeInstance: boolean, msg: SketchProfile): SketchProfile.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: SketchProfile, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): SketchProfile;
static deserializeBinaryFromReader(message: SketchProfile, reader: jspb.BinaryReader): SketchProfile;
}
export namespace SketchProfile {
export type AsObject = {
name: string,
fqbn: string,
}
}
export class LoadSketchResponse extends jspb.Message {
getMainFile(): string;
setMainFile(value: string): LoadSketchResponse;
getLocationPath(): string;
setLocationPath(value: string): LoadSketchResponse;
clearOtherSketchFilesList(): void;
getOtherSketchFilesList(): Array<string>;
setOtherSketchFilesList(value: Array<string>): LoadSketchResponse;
addOtherSketchFiles(value: string, index?: number): string;
clearAdditionalFilesList(): void;
getAdditionalFilesList(): Array<string>;
setAdditionalFilesList(value: Array<string>): LoadSketchResponse;
addAdditionalFiles(value: string, index?: number): string;
clearRootFolderFilesList(): void;
getRootFolderFilesList(): Array<string>;
setRootFolderFilesList(value: Array<string>): LoadSketchResponse;
addRootFolderFiles(value: string, index?: number): string;
getDefaultFqbn(): string;
setDefaultFqbn(value: string): LoadSketchResponse;
getDefaultPort(): string;
setDefaultPort(value: string): LoadSketchResponse;
getDefaultProtocol(): string;
setDefaultProtocol(value: string): LoadSketchResponse;
clearProfilesList(): void;
getProfilesList(): Array<SketchProfile>;
setProfilesList(value: Array<SketchProfile>): LoadSketchResponse;
addProfiles(value?: SketchProfile, index?: number): SketchProfile;
hasDefaultProfile(): boolean;
clearDefaultProfile(): void;
getDefaultProfile(): SketchProfile | undefined;
setDefaultProfile(value?: SketchProfile): LoadSketchResponse;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): LoadSketchResponse.AsObject;
@@ -558,7 +489,16 @@ export class LoadSketchResponse extends jspb.Message {
export namespace LoadSketchResponse {
export type AsObject = {
sketch?: cc_arduino_cli_commands_v1_common_pb.Sketch.AsObject,
mainFile: string,
locationPath: string,
otherSketchFilesList: Array<string>,
additionalFilesList: Array<string>,
rootFolderFilesList: Array<string>,
defaultFqbn: string,
defaultPort: string,
defaultProtocol: string,
profilesList: Array<SketchProfile.AsObject>,
defaultProfile?: SketchProfile.AsObject,
}
}
@@ -617,8 +557,6 @@ export class SetSketchDefaultsRequest extends jspb.Message {
setDefaultPortAddress(value: string): SetSketchDefaultsRequest;
getDefaultPortProtocol(): string;
setDefaultPortProtocol(value: string): SetSketchDefaultsRequest;
getDefaultProgrammer(): string;
setDefaultProgrammer(value: string): SetSketchDefaultsRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): SetSketchDefaultsRequest.AsObject;
@@ -636,7 +574,6 @@ export namespace SetSketchDefaultsRequest {
defaultFqbn: string,
defaultPortAddress: string,
defaultPortProtocol: string,
defaultProgrammer: string,
}
}
@@ -647,8 +584,6 @@ export class SetSketchDefaultsResponse extends jspb.Message {
setDefaultPortAddress(value: string): SetSketchDefaultsResponse;
getDefaultPortProtocol(): string;
setDefaultPortProtocol(value: string): SetSketchDefaultsResponse;
getDefaultProgrammer(): string;
setDefaultProgrammer(value: string): SetSketchDefaultsResponse;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): SetSketchDefaultsResponse.AsObject;
@@ -665,87 +600,6 @@ export namespace SetSketchDefaultsResponse {
defaultFqbn: string,
defaultPortAddress: string,
defaultPortProtocol: string,
defaultProgrammer: string,
}
}
export class CheckForArduinoCLIUpdatesRequest extends jspb.Message {
getForceCheck(): boolean;
setForceCheck(value: boolean): CheckForArduinoCLIUpdatesRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): CheckForArduinoCLIUpdatesRequest.AsObject;
static toObject(includeInstance: boolean, msg: CheckForArduinoCLIUpdatesRequest): CheckForArduinoCLIUpdatesRequest.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: CheckForArduinoCLIUpdatesRequest, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): CheckForArduinoCLIUpdatesRequest;
static deserializeBinaryFromReader(message: CheckForArduinoCLIUpdatesRequest, reader: jspb.BinaryReader): CheckForArduinoCLIUpdatesRequest;
}
export namespace CheckForArduinoCLIUpdatesRequest {
export type AsObject = {
forceCheck: boolean,
}
}
export class CheckForArduinoCLIUpdatesResponse extends jspb.Message {
getNewestVersion(): string;
setNewestVersion(value: string): CheckForArduinoCLIUpdatesResponse;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): CheckForArduinoCLIUpdatesResponse.AsObject;
static toObject(includeInstance: boolean, msg: CheckForArduinoCLIUpdatesResponse): CheckForArduinoCLIUpdatesResponse.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: CheckForArduinoCLIUpdatesResponse, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): CheckForArduinoCLIUpdatesResponse;
static deserializeBinaryFromReader(message: CheckForArduinoCLIUpdatesResponse, reader: jspb.BinaryReader): CheckForArduinoCLIUpdatesResponse;
}
export namespace CheckForArduinoCLIUpdatesResponse {
export type AsObject = {
newestVersion: string,
}
}
export class CleanDownloadCacheDirectoryRequest extends jspb.Message {
hasInstance(): boolean;
clearInstance(): void;
getInstance(): cc_arduino_cli_commands_v1_common_pb.Instance | undefined;
setInstance(value?: cc_arduino_cli_commands_v1_common_pb.Instance): CleanDownloadCacheDirectoryRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): CleanDownloadCacheDirectoryRequest.AsObject;
static toObject(includeInstance: boolean, msg: CleanDownloadCacheDirectoryRequest): CleanDownloadCacheDirectoryRequest.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: CleanDownloadCacheDirectoryRequest, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): CleanDownloadCacheDirectoryRequest;
static deserializeBinaryFromReader(message: CleanDownloadCacheDirectoryRequest, reader: jspb.BinaryReader): CleanDownloadCacheDirectoryRequest;
}
export namespace CleanDownloadCacheDirectoryRequest {
export type AsObject = {
instance?: cc_arduino_cli_commands_v1_common_pb.Instance.AsObject,
}
}
export class CleanDownloadCacheDirectoryResponse extends jspb.Message {
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): CleanDownloadCacheDirectoryResponse.AsObject;
static toObject(includeInstance: boolean, msg: CleanDownloadCacheDirectoryResponse): CleanDownloadCacheDirectoryResponse.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: CleanDownloadCacheDirectoryResponse, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): CleanDownloadCacheDirectoryResponse;
static deserializeBinaryFromReader(message: CleanDownloadCacheDirectoryResponse, reader: jspb.BinaryReader): CleanDownloadCacheDirectoryResponse;
}
export namespace CleanDownloadCacheDirectoryResponse {
export type AsObject = {
}
}

View File

@@ -213,16 +213,41 @@ export namespace MissingProgrammerError {
}
export class Platform extends jspb.Message {
getId(): string;
setId(value: string): Platform;
getInstalled(): string;
setInstalled(value: string): Platform;
getLatest(): string;
setLatest(value: string): Platform;
getName(): string;
setName(value: string): Platform;
getMaintainer(): string;
setMaintainer(value: string): Platform;
getWebsite(): string;
setWebsite(value: string): Platform;
getEmail(): string;
setEmail(value: string): Platform;
clearBoardsList(): void;
getBoardsList(): Array<Board>;
setBoardsList(value: Array<Board>): Platform;
addBoards(value?: Board, index?: number): Board;
getManuallyInstalled(): boolean;
setManuallyInstalled(value: boolean): Platform;
getDeprecated(): boolean;
setDeprecated(value: boolean): Platform;
clearTypeList(): void;
getTypeList(): Array<string>;
setTypeList(value: Array<string>): Platform;
addType(value: string, index?: number): string;
hasMetadata(): boolean;
clearMetadata(): void;
getMetadata(): PlatformMetadata | undefined;
setMetadata(value?: PlatformMetadata): Platform;
hasRelease(): boolean;
clearRelease(): void;
getRelease(): PlatformRelease | undefined;
setRelease(value?: PlatformRelease): Platform;
hasHelp(): boolean;
clearHelp(): void;
getHelp(): HelpResources | undefined;
setHelp(value?: HelpResources): Platform;
getIndexed(): boolean;
setIndexed(value: boolean): Platform;
getMissingMetadata(): boolean;
setMissingMetadata(value: boolean): Platform;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Platform.AsObject;
@@ -235,132 +260,21 @@ export class Platform extends jspb.Message {
}
export namespace Platform {
export type AsObject = {
metadata?: PlatformMetadata.AsObject,
release?: PlatformRelease.AsObject,
}
}
export class PlatformSummary extends jspb.Message {
hasMetadata(): boolean;
clearMetadata(): void;
getMetadata(): PlatformMetadata | undefined;
setMetadata(value?: PlatformMetadata): PlatformSummary;
getReleasesMap(): jspb.Map<string, PlatformRelease>;
clearReleasesMap(): void;
getInstalledVersion(): string;
setInstalledVersion(value: string): PlatformSummary;
getLatestVersion(): string;
setLatestVersion(value: string): PlatformSummary;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): PlatformSummary.AsObject;
static toObject(includeInstance: boolean, msg: PlatformSummary): PlatformSummary.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: PlatformSummary, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): PlatformSummary;
static deserializeBinaryFromReader(message: PlatformSummary, reader: jspb.BinaryReader): PlatformSummary;
}
export namespace PlatformSummary {
export type AsObject = {
metadata?: PlatformMetadata.AsObject,
releasesMap: Array<[string, PlatformRelease.AsObject]>,
installedVersion: string,
latestVersion: string,
}
}
export class PlatformMetadata extends jspb.Message {
getId(): string;
setId(value: string): PlatformMetadata;
getMaintainer(): string;
setMaintainer(value: string): PlatformMetadata;
getWebsite(): string;
setWebsite(value: string): PlatformMetadata;
getEmail(): string;
setEmail(value: string): PlatformMetadata;
getManuallyInstalled(): boolean;
setManuallyInstalled(value: boolean): PlatformMetadata;
getDeprecated(): boolean;
setDeprecated(value: boolean): PlatformMetadata;
getIndexed(): boolean;
setIndexed(value: boolean): PlatformMetadata;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): PlatformMetadata.AsObject;
static toObject(includeInstance: boolean, msg: PlatformMetadata): PlatformMetadata.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: PlatformMetadata, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): PlatformMetadata;
static deserializeBinaryFromReader(message: PlatformMetadata, reader: jspb.BinaryReader): PlatformMetadata;
}
export namespace PlatformMetadata {
export type AsObject = {
id: string,
installed: string,
latest: string,
name: string,
maintainer: string,
website: string,
email: string,
boardsList: Array<Board.AsObject>,
manuallyInstalled: boolean,
deprecated: boolean,
indexed: boolean,
}
}
export class PlatformRelease extends jspb.Message {
getName(): string;
setName(value: string): PlatformRelease;
getVersion(): string;
setVersion(value: string): PlatformRelease;
clearTypesList(): void;
getTypesList(): Array<string>;
setTypesList(value: Array<string>): PlatformRelease;
addTypes(value: string, index?: number): string;
getInstalled(): boolean;
setInstalled(value: boolean): PlatformRelease;
clearBoardsList(): void;
getBoardsList(): Array<Board>;
setBoardsList(value: Array<Board>): PlatformRelease;
addBoards(value?: Board, index?: number): Board;
hasHelp(): boolean;
clearHelp(): void;
getHelp(): HelpResources | undefined;
setHelp(value?: HelpResources): PlatformRelease;
getMissingMetadata(): boolean;
setMissingMetadata(value: boolean): PlatformRelease;
getDeprecated(): boolean;
setDeprecated(value: boolean): PlatformRelease;
getCompatible(): boolean;
setCompatible(value: boolean): PlatformRelease;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): PlatformRelease.AsObject;
static toObject(includeInstance: boolean, msg: PlatformRelease): PlatformRelease.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: PlatformRelease, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): PlatformRelease;
static deserializeBinaryFromReader(message: PlatformRelease, reader: jspb.BinaryReader): PlatformRelease;
}
export namespace PlatformRelease {
export type AsObject = {
name: string,
version: string,
typesList: Array<string>,
installed: boolean,
boardsList: Array<Board.AsObject>,
typeList: Array<string>,
help?: HelpResources.AsObject,
indexed: boolean,
missingMetadata: boolean,
deprecated: boolean,
compatible: boolean,
}
}
@@ -416,6 +330,29 @@ export namespace Board {
}
}
export class Profile extends jspb.Message {
getName(): string;
setName(value: string): Profile;
getFqbn(): string;
setFqbn(value: string): Profile;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Profile.AsObject;
static toObject(includeInstance: boolean, msg: Profile): Profile.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Profile, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Profile;
static deserializeBinaryFromReader(message: Profile, reader: jspb.BinaryReader): Profile;
}
export namespace Profile {
export type AsObject = {
name: string,
fqbn: string,
}
}
export class HelpResources extends jspb.Message {
getOnline(): string;
setOnline(value: string): HelpResources;
@@ -435,90 +372,3 @@ export namespace HelpResources {
online: string,
}
}
export class Sketch extends jspb.Message {
getMainFile(): string;
setMainFile(value: string): Sketch;
getLocationPath(): string;
setLocationPath(value: string): Sketch;
clearOtherSketchFilesList(): void;
getOtherSketchFilesList(): Array<string>;
setOtherSketchFilesList(value: Array<string>): Sketch;
addOtherSketchFiles(value: string, index?: number): string;
clearAdditionalFilesList(): void;
getAdditionalFilesList(): Array<string>;
setAdditionalFilesList(value: Array<string>): Sketch;
addAdditionalFiles(value: string, index?: number): string;
clearRootFolderFilesList(): void;
getRootFolderFilesList(): Array<string>;
setRootFolderFilesList(value: Array<string>): Sketch;
addRootFolderFiles(value: string, index?: number): string;
getDefaultFqbn(): string;
setDefaultFqbn(value: string): Sketch;
getDefaultPort(): string;
setDefaultPort(value: string): Sketch;
getDefaultProtocol(): string;
setDefaultProtocol(value: string): Sketch;
clearProfilesList(): void;
getProfilesList(): Array<SketchProfile>;
setProfilesList(value: Array<SketchProfile>): Sketch;
addProfiles(value?: SketchProfile, index?: number): SketchProfile;
hasDefaultProfile(): boolean;
clearDefaultProfile(): void;
getDefaultProfile(): SketchProfile | undefined;
setDefaultProfile(value?: SketchProfile): Sketch;
getDefaultProgrammer(): string;
setDefaultProgrammer(value: string): Sketch;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Sketch.AsObject;
static toObject(includeInstance: boolean, msg: Sketch): Sketch.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Sketch, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Sketch;
static deserializeBinaryFromReader(message: Sketch, reader: jspb.BinaryReader): Sketch;
}
export namespace Sketch {
export type AsObject = {
mainFile: string,
locationPath: string,
otherSketchFilesList: Array<string>,
additionalFilesList: Array<string>,
rootFolderFilesList: Array<string>,
defaultFqbn: string,
defaultPort: string,
defaultProtocol: string,
profilesList: Array<SketchProfile.AsObject>,
defaultProfile?: SketchProfile.AsObject,
defaultProgrammer: string,
}
}
export class SketchProfile extends jspb.Message {
getName(): string;
setName(value: string): SketchProfile;
getFqbn(): string;
setFqbn(value: string): SketchProfile;
getProgrammer(): string;
setProgrammer(value: string): SketchProfile;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): SketchProfile.AsObject;
static toObject(includeInstance: boolean, msg: SketchProfile): SketchProfile.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: SketchProfile, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): SketchProfile;
static deserializeBinaryFromReader(message: SketchProfile, reader: jspb.BinaryReader): SketchProfile;
}
export namespace SketchProfile {
export type AsObject = {
name: string,
fqbn: string,
programmer: string,
}
}

View File

@@ -5,6 +5,7 @@
/* eslint-disable */
import * as jspb from "google-protobuf";
import * as google_protobuf_wrappers_pb from "google-protobuf/google/protobuf/wrappers_pb";
import * as cc_arduino_cli_commands_v1_common_pb from "../../../../../cc/arduino/cli/commands/v1/common_pb";
import * as cc_arduino_cli_commands_v1_lib_pb from "../../../../../cc/arduino/cli/commands/v1/lib_pb";
@@ -56,8 +57,8 @@ export class CompileRequest extends jspb.Message {
hasExportBinaries(): boolean;
clearExportBinaries(): void;
getExportBinaries(): boolean | undefined;
setExportBinaries(value: boolean): CompileRequest;
getExportBinaries(): google_protobuf_wrappers_pb.BoolValue | undefined;
setExportBinaries(value?: google_protobuf_wrappers_pb.BoolValue): CompileRequest;
clearLibraryList(): void;
getLibraryList(): Array<string>;
setLibraryList(value: Array<string>): CompileRequest;
@@ -72,10 +73,6 @@ export class CompileRequest extends jspb.Message {
setSkipLibrariesDiscovery(value: boolean): CompileRequest;
getDoNotExpandBuildProperties(): boolean;
setDoNotExpandBuildProperties(value: boolean): CompileRequest;
clearBuildCacheExtraPathsList(): void;
getBuildCacheExtraPathsList(): Array<string>;
setBuildCacheExtraPathsList(value: Array<string>): CompileRequest;
addBuildCacheExtraPaths(value: string, index?: number): string;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): CompileRequest.AsObject;
@@ -108,44 +105,54 @@ export namespace CompileRequest {
createCompilationDatabaseOnly: boolean,
sourceOverrideMap: Array<[string, string]>,
exportBinaries?: boolean,
exportBinaries?: google_protobuf_wrappers_pb.BoolValue.AsObject,
libraryList: Array<string>,
keysKeychain: string,
signKey: string,
encryptKey: string,
skipLibrariesDiscovery: boolean,
doNotExpandBuildProperties: boolean,
buildCacheExtraPathsList: Array<string>,
}
}
export class CompileResponse extends jspb.Message {
hasOutStream(): boolean;
clearOutStream(): void;
getOutStream(): Uint8Array | string;
getOutStream_asU8(): Uint8Array;
getOutStream_asB64(): string;
setOutStream(value: Uint8Array | string): CompileResponse;
hasErrStream(): boolean;
clearErrStream(): void;
getErrStream(): Uint8Array | string;
getErrStream_asU8(): Uint8Array;
getErrStream_asB64(): string;
setErrStream(value: Uint8Array | string): CompileResponse;
getBuildPath(): string;
setBuildPath(value: string): CompileResponse;
clearUsedLibrariesList(): void;
getUsedLibrariesList(): Array<cc_arduino_cli_commands_v1_lib_pb.Library>;
setUsedLibrariesList(value: Array<cc_arduino_cli_commands_v1_lib_pb.Library>): CompileResponse;
addUsedLibraries(value?: cc_arduino_cli_commands_v1_lib_pb.Library, index?: number): cc_arduino_cli_commands_v1_lib_pb.Library;
clearExecutableSectionsSizeList(): void;
getExecutableSectionsSizeList(): Array<ExecutableSectionSize>;
setExecutableSectionsSizeList(value: Array<ExecutableSectionSize>): CompileResponse;
addExecutableSectionsSize(value?: ExecutableSectionSize, index?: number): ExecutableSectionSize;
hasBoardPlatform(): boolean;
clearBoardPlatform(): void;
getBoardPlatform(): cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference | undefined;
setBoardPlatform(value?: cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference): CompileResponse;
hasBuildPlatform(): boolean;
clearBuildPlatform(): void;
getBuildPlatform(): cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference | undefined;
setBuildPlatform(value?: cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference): CompileResponse;
hasProgress(): boolean;
clearProgress(): void;
getProgress(): cc_arduino_cli_commands_v1_common_pb.TaskProgress | undefined;
setProgress(value?: cc_arduino_cli_commands_v1_common_pb.TaskProgress): CompileResponse;
hasResult(): boolean;
clearResult(): void;
getResult(): BuilderResult | undefined;
setResult(value?: BuilderResult): CompileResponse;
getMessageCase(): CompileResponse.MessageCase;
clearBuildPropertiesList(): void;
getBuildPropertiesList(): Array<string>;
setBuildPropertiesList(value: Array<string>): CompileResponse;
addBuildProperties(value: string, index?: number): string;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): CompileResponse.AsObject;
@@ -161,86 +168,13 @@ export namespace CompileResponse {
export type AsObject = {
outStream: Uint8Array | string,
errStream: Uint8Array | string,
progress?: cc_arduino_cli_commands_v1_common_pb.TaskProgress.AsObject,
result?: BuilderResult.AsObject,
}
export enum MessageCase {
MESSAGE_NOT_SET = 0,
OUT_STREAM = 1,
ERR_STREAM = 2,
PROGRESS = 3,
RESULT = 4,
}
}
export class InstanceNeedsReinitializationError extends jspb.Message {
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): InstanceNeedsReinitializationError.AsObject;
static toObject(includeInstance: boolean, msg: InstanceNeedsReinitializationError): InstanceNeedsReinitializationError.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: InstanceNeedsReinitializationError, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): InstanceNeedsReinitializationError;
static deserializeBinaryFromReader(message: InstanceNeedsReinitializationError, reader: jspb.BinaryReader): InstanceNeedsReinitializationError;
}
export namespace InstanceNeedsReinitializationError {
export type AsObject = {
}
}
export class BuilderResult extends jspb.Message {
getBuildPath(): string;
setBuildPath(value: string): BuilderResult;
clearUsedLibrariesList(): void;
getUsedLibrariesList(): Array<cc_arduino_cli_commands_v1_lib_pb.Library>;
setUsedLibrariesList(value: Array<cc_arduino_cli_commands_v1_lib_pb.Library>): BuilderResult;
addUsedLibraries(value?: cc_arduino_cli_commands_v1_lib_pb.Library, index?: number): cc_arduino_cli_commands_v1_lib_pb.Library;
clearExecutableSectionsSizeList(): void;
getExecutableSectionsSizeList(): Array<ExecutableSectionSize>;
setExecutableSectionsSizeList(value: Array<ExecutableSectionSize>): BuilderResult;
addExecutableSectionsSize(value?: ExecutableSectionSize, index?: number): ExecutableSectionSize;
hasBoardPlatform(): boolean;
clearBoardPlatform(): void;
getBoardPlatform(): cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference | undefined;
setBoardPlatform(value?: cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference): BuilderResult;
hasBuildPlatform(): boolean;
clearBuildPlatform(): void;
getBuildPlatform(): cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference | undefined;
setBuildPlatform(value?: cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference): BuilderResult;
clearBuildPropertiesList(): void;
getBuildPropertiesList(): Array<string>;
setBuildPropertiesList(value: Array<string>): BuilderResult;
addBuildProperties(value: string, index?: number): string;
clearDiagnosticsList(): void;
getDiagnosticsList(): Array<CompileDiagnostic>;
setDiagnosticsList(value: Array<CompileDiagnostic>): BuilderResult;
addDiagnostics(value?: CompileDiagnostic, index?: number): CompileDiagnostic;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): BuilderResult.AsObject;
static toObject(includeInstance: boolean, msg: BuilderResult): BuilderResult.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: BuilderResult, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): BuilderResult;
static deserializeBinaryFromReader(message: BuilderResult, reader: jspb.BinaryReader): BuilderResult;
}
export namespace BuilderResult {
export type AsObject = {
buildPath: string,
usedLibrariesList: Array<cc_arduino_cli_commands_v1_lib_pb.Library.AsObject>,
executableSectionsSizeList: Array<ExecutableSectionSize.AsObject>,
boardPlatform?: cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference.AsObject,
buildPlatform?: cc_arduino_cli_commands_v1_common_pb.InstalledPlatformReference.AsObject,
progress?: cc_arduino_cli_commands_v1_common_pb.TaskProgress.AsObject,
buildPropertiesList: Array<string>,
diagnosticsList: Array<CompileDiagnostic.AsObject>,
}
}
@@ -269,103 +203,3 @@ export namespace ExecutableSectionSize {
maxSize: number,
}
}
export class CompileDiagnostic extends jspb.Message {
getSeverity(): string;
setSeverity(value: string): CompileDiagnostic;
getMessage(): string;
setMessage(value: string): CompileDiagnostic;
getFile(): string;
setFile(value: string): CompileDiagnostic;
getLine(): number;
setLine(value: number): CompileDiagnostic;
getColumn(): number;
setColumn(value: number): CompileDiagnostic;
clearContextList(): void;
getContextList(): Array<CompileDiagnosticContext>;
setContextList(value: Array<CompileDiagnosticContext>): CompileDiagnostic;
addContext(value?: CompileDiagnosticContext, index?: number): CompileDiagnosticContext;
clearNotesList(): void;
getNotesList(): Array<CompileDiagnosticNote>;
setNotesList(value: Array<CompileDiagnosticNote>): CompileDiagnostic;
addNotes(value?: CompileDiagnosticNote, index?: number): CompileDiagnosticNote;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): CompileDiagnostic.AsObject;
static toObject(includeInstance: boolean, msg: CompileDiagnostic): CompileDiagnostic.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: CompileDiagnostic, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): CompileDiagnostic;
static deserializeBinaryFromReader(message: CompileDiagnostic, reader: jspb.BinaryReader): CompileDiagnostic;
}
export namespace CompileDiagnostic {
export type AsObject = {
severity: string,
message: string,
file: string,
line: number,
column: number,
contextList: Array<CompileDiagnosticContext.AsObject>,
notesList: Array<CompileDiagnosticNote.AsObject>,
}
}
export class CompileDiagnosticContext extends jspb.Message {
getMessage(): string;
setMessage(value: string): CompileDiagnosticContext;
getFile(): string;
setFile(value: string): CompileDiagnosticContext;
getLine(): number;
setLine(value: number): CompileDiagnosticContext;
getColumn(): number;
setColumn(value: number): CompileDiagnosticContext;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): CompileDiagnosticContext.AsObject;
static toObject(includeInstance: boolean, msg: CompileDiagnosticContext): CompileDiagnosticContext.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: CompileDiagnosticContext, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): CompileDiagnosticContext;
static deserializeBinaryFromReader(message: CompileDiagnosticContext, reader: jspb.BinaryReader): CompileDiagnosticContext;
}
export namespace CompileDiagnosticContext {
export type AsObject = {
message: string,
file: string,
line: number,
column: number,
}
}
export class CompileDiagnosticNote extends jspb.Message {
getMessage(): string;
setMessage(value: string): CompileDiagnosticNote;
getFile(): string;
setFile(value: string): CompileDiagnosticNote;
getLine(): number;
setLine(value: number): CompileDiagnosticNote;
getColumn(): number;
setColumn(value: number): CompileDiagnosticNote;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): CompileDiagnosticNote.AsObject;
static toObject(includeInstance: boolean, msg: CompileDiagnosticNote): CompileDiagnosticNote.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: CompileDiagnosticNote, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): CompileDiagnosticNote;
static deserializeBinaryFromReader(message: CompileDiagnosticNote, reader: jspb.BinaryReader): CompileDiagnosticNote;
}
export namespace CompileDiagnosticNote {
export type AsObject = {
message: string,
file: string,
line: number,
column: number,
}
}

View File

@@ -60,13 +60,6 @@ export class PlatformInstallResponse extends jspb.Message {
getTaskProgress(): cc_arduino_cli_commands_v1_common_pb.TaskProgress | undefined;
setTaskProgress(value?: cc_arduino_cli_commands_v1_common_pb.TaskProgress): PlatformInstallResponse;
hasResult(): boolean;
clearResult(): void;
getResult(): PlatformInstallResponse.Result | undefined;
setResult(value?: PlatformInstallResponse.Result): PlatformInstallResponse;
getMessageCase(): PlatformInstallResponse.MessageCase;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): PlatformInstallResponse.AsObject;
static toObject(includeInstance: boolean, msg: PlatformInstallResponse): PlatformInstallResponse.AsObject;
@@ -81,35 +74,7 @@ export namespace PlatformInstallResponse {
export type AsObject = {
progress?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress.AsObject,
taskProgress?: cc_arduino_cli_commands_v1_common_pb.TaskProgress.AsObject,
result?: PlatformInstallResponse.Result.AsObject,
}
export class Result extends jspb.Message {
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Result.AsObject;
static toObject(includeInstance: boolean, msg: Result): Result.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Result;
static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result;
}
export namespace Result {
export type AsObject = {
}
}
export enum MessageCase {
MESSAGE_NOT_SET = 0,
PROGRESS = 1,
TASK_PROGRESS = 2,
RESULT = 3,
}
}
export class PlatformLoadingError extends jspb.Message {
@@ -168,13 +133,6 @@ export class PlatformDownloadResponse extends jspb.Message {
getProgress(): cc_arduino_cli_commands_v1_common_pb.DownloadProgress | undefined;
setProgress(value?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress): PlatformDownloadResponse;
hasResult(): boolean;
clearResult(): void;
getResult(): PlatformDownloadResponse.Result | undefined;
setResult(value?: PlatformDownloadResponse.Result): PlatformDownloadResponse;
getMessageCase(): PlatformDownloadResponse.MessageCase;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): PlatformDownloadResponse.AsObject;
static toObject(includeInstance: boolean, msg: PlatformDownloadResponse): PlatformDownloadResponse.AsObject;
@@ -188,34 +146,7 @@ export class PlatformDownloadResponse extends jspb.Message {
export namespace PlatformDownloadResponse {
export type AsObject = {
progress?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress.AsObject,
result?: PlatformDownloadResponse.Result.AsObject,
}
export class Result extends jspb.Message {
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Result.AsObject;
static toObject(includeInstance: boolean, msg: Result): Result.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Result;
static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result;
}
export namespace Result {
export type AsObject = {
}
}
export enum MessageCase {
MESSAGE_NOT_SET = 0,
PROGRESS = 1,
RESULT = 2,
}
}
export class PlatformUninstallRequest extends jspb.Message {
@@ -257,13 +188,6 @@ export class PlatformUninstallResponse extends jspb.Message {
getTaskProgress(): cc_arduino_cli_commands_v1_common_pb.TaskProgress | undefined;
setTaskProgress(value?: cc_arduino_cli_commands_v1_common_pb.TaskProgress): PlatformUninstallResponse;
hasResult(): boolean;
clearResult(): void;
getResult(): PlatformUninstallResponse.Result | undefined;
setResult(value?: PlatformUninstallResponse.Result): PlatformUninstallResponse;
getMessageCase(): PlatformUninstallResponse.MessageCase;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): PlatformUninstallResponse.AsObject;
static toObject(includeInstance: boolean, msg: PlatformUninstallResponse): PlatformUninstallResponse.AsObject;
@@ -277,34 +201,7 @@ export class PlatformUninstallResponse extends jspb.Message {
export namespace PlatformUninstallResponse {
export type AsObject = {
taskProgress?: cc_arduino_cli_commands_v1_common_pb.TaskProgress.AsObject,
result?: PlatformUninstallResponse.Result.AsObject,
}
export class Result extends jspb.Message {
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Result.AsObject;
static toObject(includeInstance: boolean, msg: Result): Result.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Result;
static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result;
}
export namespace Result {
export type AsObject = {
}
}
export enum MessageCase {
MESSAGE_NOT_SET = 0,
TASK_PROGRESS = 1,
RESULT = 2,
}
}
export class AlreadyAtLatestVersionError extends jspb.Message {
@@ -371,12 +268,10 @@ export class PlatformUpgradeResponse extends jspb.Message {
getTaskProgress(): cc_arduino_cli_commands_v1_common_pb.TaskProgress | undefined;
setTaskProgress(value?: cc_arduino_cli_commands_v1_common_pb.TaskProgress): PlatformUpgradeResponse;
hasResult(): boolean;
clearResult(): void;
getResult(): PlatformUpgradeResponse.Result | undefined;
setResult(value?: PlatformUpgradeResponse.Result): PlatformUpgradeResponse;
getMessageCase(): PlatformUpgradeResponse.MessageCase;
hasPlatform(): boolean;
clearPlatform(): void;
getPlatform(): cc_arduino_cli_commands_v1_common_pb.Platform | undefined;
setPlatform(value?: cc_arduino_cli_commands_v1_common_pb.Platform): PlatformUpgradeResponse;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): PlatformUpgradeResponse.AsObject;
@@ -392,41 +287,8 @@ export namespace PlatformUpgradeResponse {
export type AsObject = {
progress?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress.AsObject,
taskProgress?: cc_arduino_cli_commands_v1_common_pb.TaskProgress.AsObject,
result?: PlatformUpgradeResponse.Result.AsObject,
platform?: cc_arduino_cli_commands_v1_common_pb.Platform.AsObject,
}
export class Result extends jspb.Message {
hasPlatform(): boolean;
clearPlatform(): void;
getPlatform(): cc_arduino_cli_commands_v1_common_pb.Platform | undefined;
setPlatform(value?: cc_arduino_cli_commands_v1_common_pb.Platform): Result;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Result.AsObject;
static toObject(includeInstance: boolean, msg: Result): Result.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Result;
static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result;
}
export namespace Result {
export type AsObject = {
platform?: cc_arduino_cli_commands_v1_common_pb.Platform.AsObject,
}
}
export enum MessageCase {
MESSAGE_NOT_SET = 0,
PROGRESS = 1,
TASK_PROGRESS = 2,
RESULT = 3,
}
}
export class PlatformSearchRequest extends jspb.Message {
@@ -437,8 +299,8 @@ export class PlatformSearchRequest extends jspb.Message {
setInstance(value?: cc_arduino_cli_commands_v1_common_pb.Instance): PlatformSearchRequest;
getSearchArgs(): string;
setSearchArgs(value: string): PlatformSearchRequest;
getManuallyInstalled(): boolean;
setManuallyInstalled(value: boolean): PlatformSearchRequest;
getAllVersions(): boolean;
setAllVersions(value: boolean): PlatformSearchRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): PlatformSearchRequest.AsObject;
@@ -454,15 +316,15 @@ export namespace PlatformSearchRequest {
export type AsObject = {
instance?: cc_arduino_cli_commands_v1_common_pb.Instance.AsObject,
searchArgs: string,
manuallyInstalled: boolean,
allVersions: boolean,
}
}
export class PlatformSearchResponse extends jspb.Message {
clearSearchOutputList(): void;
getSearchOutputList(): Array<cc_arduino_cli_commands_v1_common_pb.PlatformSummary>;
setSearchOutputList(value: Array<cc_arduino_cli_commands_v1_common_pb.PlatformSummary>): PlatformSearchResponse;
addSearchOutput(value?: cc_arduino_cli_commands_v1_common_pb.PlatformSummary, index?: number): cc_arduino_cli_commands_v1_common_pb.PlatformSummary;
getSearchOutputList(): Array<cc_arduino_cli_commands_v1_common_pb.Platform>;
setSearchOutputList(value: Array<cc_arduino_cli_commands_v1_common_pb.Platform>): PlatformSearchResponse;
addSearchOutput(value?: cc_arduino_cli_commands_v1_common_pb.Platform, index?: number): cc_arduino_cli_commands_v1_common_pb.Platform;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): PlatformSearchResponse.AsObject;
@@ -476,6 +338,57 @@ export class PlatformSearchResponse extends jspb.Message {
export namespace PlatformSearchResponse {
export type AsObject = {
searchOutputList: Array<cc_arduino_cli_commands_v1_common_pb.PlatformSummary.AsObject>,
searchOutputList: Array<cc_arduino_cli_commands_v1_common_pb.Platform.AsObject>,
}
}
export class PlatformListRequest extends jspb.Message {
hasInstance(): boolean;
clearInstance(): void;
getInstance(): cc_arduino_cli_commands_v1_common_pb.Instance | undefined;
setInstance(value?: cc_arduino_cli_commands_v1_common_pb.Instance): PlatformListRequest;
getUpdatableOnly(): boolean;
setUpdatableOnly(value: boolean): PlatformListRequest;
getAll(): boolean;
setAll(value: boolean): PlatformListRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): PlatformListRequest.AsObject;
static toObject(includeInstance: boolean, msg: PlatformListRequest): PlatformListRequest.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: PlatformListRequest, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): PlatformListRequest;
static deserializeBinaryFromReader(message: PlatformListRequest, reader: jspb.BinaryReader): PlatformListRequest;
}
export namespace PlatformListRequest {
export type AsObject = {
instance?: cc_arduino_cli_commands_v1_common_pb.Instance.AsObject,
updatableOnly: boolean,
all: boolean,
}
}
export class PlatformListResponse extends jspb.Message {
clearInstalledPlatformsList(): void;
getInstalledPlatformsList(): Array<cc_arduino_cli_commands_v1_common_pb.Platform>;
setInstalledPlatformsList(value: Array<cc_arduino_cli_commands_v1_common_pb.Platform>): PlatformListResponse;
addInstalledPlatforms(value?: cc_arduino_cli_commands_v1_common_pb.Platform, index?: number): cc_arduino_cli_commands_v1_common_pb.Platform;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): PlatformListResponse.AsObject;
static toObject(includeInstance: boolean, msg: PlatformListResponse): PlatformListResponse.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: PlatformListResponse, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): PlatformListResponse;
static deserializeBinaryFromReader(message: PlatformListResponse, reader: jspb.BinaryReader): PlatformListResponse;
}
export namespace PlatformListResponse {
export type AsObject = {
installedPlatformsList: Array<cc_arduino_cli_commands_v1_common_pb.Platform.AsObject>,
}
}

View File

@@ -41,20 +41,12 @@ export namespace DebugRequest {
}
export class DebugResponse extends jspb.Message {
hasData(): boolean;
clearData(): void;
getData(): Uint8Array | string;
getData_asU8(): Uint8Array;
getData_asB64(): string;
setData(value: Uint8Array | string): DebugResponse;
hasResult(): boolean;
clearResult(): void;
getResult(): DebugResponse.Result | undefined;
setResult(value?: DebugResponse.Result): DebugResponse;
getMessageCase(): DebugResponse.MessageCase;
getError(): string;
setError(value: string): DebugResponse;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): DebugResponse.AsObject;
@@ -69,37 +61,8 @@ export class DebugResponse extends jspb.Message {
export namespace DebugResponse {
export type AsObject = {
data: Uint8Array | string,
result?: DebugResponse.Result.AsObject,
error: string,
}
export class Result extends jspb.Message {
getError(): string;
setError(value: string): Result;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Result.AsObject;
static toObject(includeInstance: boolean, msg: Result): Result.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Result;
static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result;
}
export namespace Result {
export type AsObject = {
error: string,
}
}
export enum MessageCase {
MESSAGE_NOT_SET = 0,
DATA = 1,
RESULT = 2,
}
}
export class IsDebugSupportedRequest extends jspb.Message {

View File

@@ -31,8 +31,6 @@ goog.exportSymbol('proto.cc.arduino.cli.commands.v1.DebugGCCToolchainConfigurati
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.DebugOpenOCDServerConfiguration', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.DebugRequest', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.DebugResponse', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.DebugResponse.MessageCase', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.DebugResponse.Result', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.GetDebugConfigResponse', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest', null, global);
@@ -69,7 +67,7 @@ if (goog.DEBUG && !COMPILED) {
* @constructor
*/
proto.cc.arduino.cli.commands.v1.DebugResponse = function(opt_data) {
jspb.Message.initialize(this, opt_data, 0, -1, null, proto.cc.arduino.cli.commands.v1.DebugResponse.oneofGroups_);
jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.v1.DebugResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
@@ -79,27 +77,6 @@ if (goog.DEBUG && !COMPILED) {
*/
proto.cc.arduino.cli.commands.v1.DebugResponse.displayName = 'proto.cc.arduino.cli.commands.v1.DebugResponse';
}
/**
* 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.v1.DebugResponse.Result = function(opt_data) {
jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.v1.DebugResponse.Result, jspb.Message);
if (goog.DEBUG && !COMPILED) {
/**
* @public
* @override
*/
proto.cc.arduino.cli.commands.v1.DebugResponse.Result.displayName = 'proto.cc.arduino.cli.commands.v1.DebugResponse.Result';
}
/**
* Generated by JsPbCodeGenerator.
* @param {Array=} opt_data Optional initial data array, typically from a
@@ -462,32 +439,6 @@ proto.cc.arduino.cli.commands.v1.DebugRequest.prototype.setSendInterrupt = funct
/**
* Oneof group definitions for this message. Each group defines the field
* numbers belonging to that group. When of these fields' value is set, all
* other fields in the group are cleared. During deserialization, if multiple
* fields are encountered for a group, only the last value seen will be kept.
* @private {!Array<!Array<number>>}
* @const
*/
proto.cc.arduino.cli.commands.v1.DebugResponse.oneofGroups_ = [[1,2]];
/**
* @enum {number}
*/
proto.cc.arduino.cli.commands.v1.DebugResponse.MessageCase = {
MESSAGE_NOT_SET: 0,
DATA: 1,
RESULT: 2
};
/**
* @return {proto.cc.arduino.cli.commands.v1.DebugResponse.MessageCase}
*/
proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.getMessageCase = function() {
return /** @type {proto.cc.arduino.cli.commands.v1.DebugResponse.MessageCase} */(jspb.Message.computeOneofCase(this, proto.cc.arduino.cli.commands.v1.DebugResponse.oneofGroups_[0]));
};
if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -520,7 +471,7 @@ proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.toObject = function(opt
proto.cc.arduino.cli.commands.v1.DebugResponse.toObject = function(includeInstance, msg) {
var f, obj = {
data: msg.getData_asB64(),
result: (f = msg.getResult()) && proto.cc.arduino.cli.commands.v1.DebugResponse.Result.toObject(includeInstance, f)
error: jspb.Message.getFieldWithDefault(msg, 2, "")
};
if (includeInstance) {
@@ -562,9 +513,8 @@ proto.cc.arduino.cli.commands.v1.DebugResponse.deserializeBinaryFromReader = fun
msg.setData(value);
break;
case 2:
var value = new proto.cc.arduino.cli.commands.v1.DebugResponse.Result;
reader.readMessage(value,proto.cc.arduino.cli.commands.v1.DebugResponse.Result.deserializeBinaryFromReader);
msg.setResult(value);
var value = /** @type {string} */ (reader.readString());
msg.setError(value);
break;
default:
reader.skipField();
@@ -595,154 +545,23 @@ proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.serializeBinary = funct
*/
proto.cc.arduino.cli.commands.v1.DebugResponse.serializeBinaryToWriter = function(message, writer) {
var f = undefined;
f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1));
if (f != null) {
f = message.getData_asU8();
if (f.length > 0) {
writer.writeBytes(
1,
f
);
}
f = message.getResult();
if (f != null) {
writer.writeMessage(
2,
f,
proto.cc.arduino.cli.commands.v1.DebugResponse.Result.serializeBinaryToWriter
);
}
};
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.v1.DebugResponse.Result.prototype.toObject = function(opt_includeInstance) {
return proto.cc.arduino.cli.commands.v1.DebugResponse.Result.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.v1.DebugResponse.Result} msg The msg instance to transform.
* @return {!Object}
* @suppress {unusedLocalVariables} f is only used for nested messages
*/
proto.cc.arduino.cli.commands.v1.DebugResponse.Result.toObject = function(includeInstance, msg) {
var f, obj = {
error: jspb.Message.getFieldWithDefault(msg, 1, "")
};
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.v1.DebugResponse.Result}
*/
proto.cc.arduino.cli.commands.v1.DebugResponse.Result.deserializeBinary = function(bytes) {
var reader = new jspb.BinaryReader(bytes);
var msg = new proto.cc.arduino.cli.commands.v1.DebugResponse.Result;
return proto.cc.arduino.cli.commands.v1.DebugResponse.Result.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.v1.DebugResponse.Result} msg The message object to deserialize into.
* @param {!jspb.BinaryReader} reader The BinaryReader to use.
* @return {!proto.cc.arduino.cli.commands.v1.DebugResponse.Result}
*/
proto.cc.arduino.cli.commands.v1.DebugResponse.Result.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.setError(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.v1.DebugResponse.Result.prototype.serializeBinary = function() {
var writer = new jspb.BinaryWriter();
proto.cc.arduino.cli.commands.v1.DebugResponse.Result.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.v1.DebugResponse.Result} message
* @param {!jspb.BinaryWriter} writer
* @suppress {unusedLocalVariables} f is only used for nested messages
*/
proto.cc.arduino.cli.commands.v1.DebugResponse.Result.serializeBinaryToWriter = function(message, writer) {
var f = undefined;
f = message.getError();
if (f.length > 0) {
writer.writeString(
1,
2,
f
);
}
};
/**
* optional string error = 1;
* @return {string}
*/
proto.cc.arduino.cli.commands.v1.DebugResponse.Result.prototype.getError = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};
/**
* @param {string} value
* @return {!proto.cc.arduino.cli.commands.v1.DebugResponse.Result} returns this
*/
proto.cc.arduino.cli.commands.v1.DebugResponse.Result.prototype.setError = function(value) {
return jspb.Message.setProto3StringField(this, 1, value);
};
/**
* optional bytes data = 1;
* @return {!(string|Uint8Array)}
@@ -781,62 +600,25 @@ proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.getData_asU8 = function
* @return {!proto.cc.arduino.cli.commands.v1.DebugResponse} returns this
*/
proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.setData = function(value) {
return jspb.Message.setOneofField(this, 1, proto.cc.arduino.cli.commands.v1.DebugResponse.oneofGroups_[0], value);
return jspb.Message.setProto3BytesField(this, 1, value);
};
/**
* Clears the field making it undefined.
* optional string error = 2;
* @return {string}
*/
proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.getError = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};
/**
* @param {string} value
* @return {!proto.cc.arduino.cli.commands.v1.DebugResponse} returns this
*/
proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.clearData = function() {
return jspb.Message.setOneofField(this, 1, proto.cc.arduino.cli.commands.v1.DebugResponse.oneofGroups_[0], undefined);
};
/**
* Returns whether this field is set.
* @return {boolean}
*/
proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.hasData = function() {
return jspb.Message.getField(this, 1) != null;
};
/**
* optional Result result = 2;
* @return {?proto.cc.arduino.cli.commands.v1.DebugResponse.Result}
*/
proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.getResult = function() {
return /** @type{?proto.cc.arduino.cli.commands.v1.DebugResponse.Result} */ (
jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.DebugResponse.Result, 2));
};
/**
* @param {?proto.cc.arduino.cli.commands.v1.DebugResponse.Result|undefined} value
* @return {!proto.cc.arduino.cli.commands.v1.DebugResponse} returns this
*/
proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.setResult = function(value) {
return jspb.Message.setOneofWrapperField(this, 2, proto.cc.arduino.cli.commands.v1.DebugResponse.oneofGroups_[0], value);
};
/**
* Clears the message field making it undefined.
* @return {!proto.cc.arduino.cli.commands.v1.DebugResponse} returns this
*/
proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.clearResult = function() {
return this.setResult(undefined);
};
/**
* Returns whether this field is set.
* @return {boolean}
*/
proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.hasResult = function() {
return jspb.Message.getField(this, 2) != null;
proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.setError = function(value) {
return jspb.Message.setProto3StringField(this, 2, value);
};

View File

@@ -43,13 +43,6 @@ export class LibraryDownloadResponse extends jspb.Message {
getProgress(): cc_arduino_cli_commands_v1_common_pb.DownloadProgress | undefined;
setProgress(value?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress): LibraryDownloadResponse;
hasResult(): boolean;
clearResult(): void;
getResult(): LibraryDownloadResponse.Result | undefined;
setResult(value?: LibraryDownloadResponse.Result): LibraryDownloadResponse;
getMessageCase(): LibraryDownloadResponse.MessageCase;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): LibraryDownloadResponse.AsObject;
static toObject(includeInstance: boolean, msg: LibraryDownloadResponse): LibraryDownloadResponse.AsObject;
@@ -63,34 +56,7 @@ export class LibraryDownloadResponse extends jspb.Message {
export namespace LibraryDownloadResponse {
export type AsObject = {
progress?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress.AsObject,
result?: LibraryDownloadResponse.Result.AsObject,
}
export class Result extends jspb.Message {
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Result.AsObject;
static toObject(includeInstance: boolean, msg: Result): Result.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Result;
static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result;
}
export namespace Result {
export type AsObject = {
}
}
export enum MessageCase {
MESSAGE_NOT_SET = 0,
PROGRESS = 1,
RESULT = 2,
}
}
export class LibraryInstallRequest extends jspb.Message {
@@ -143,13 +109,6 @@ export class LibraryInstallResponse extends jspb.Message {
getTaskProgress(): cc_arduino_cli_commands_v1_common_pb.TaskProgress | undefined;
setTaskProgress(value?: cc_arduino_cli_commands_v1_common_pb.TaskProgress): LibraryInstallResponse;
hasResult(): boolean;
clearResult(): void;
getResult(): LibraryInstallResponse.Result | undefined;
setResult(value?: LibraryInstallResponse.Result): LibraryInstallResponse;
getMessageCase(): LibraryInstallResponse.MessageCase;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): LibraryInstallResponse.AsObject;
static toObject(includeInstance: boolean, msg: LibraryInstallResponse): LibraryInstallResponse.AsObject;
@@ -164,35 +123,7 @@ export namespace LibraryInstallResponse {
export type AsObject = {
progress?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress.AsObject,
taskProgress?: cc_arduino_cli_commands_v1_common_pb.TaskProgress.AsObject,
result?: LibraryInstallResponse.Result.AsObject,
}
export class Result extends jspb.Message {
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Result.AsObject;
static toObject(includeInstance: boolean, msg: Result): Result.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Result;
static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result;
}
export namespace Result {
export type AsObject = {
}
}
export enum MessageCase {
MESSAGE_NOT_SET = 0,
PROGRESS = 1,
TASK_PROGRESS = 2,
RESULT = 3,
}
}
export class LibraryUpgradeRequest extends jspb.Message {
@@ -236,13 +167,6 @@ export class LibraryUpgradeResponse extends jspb.Message {
getTaskProgress(): cc_arduino_cli_commands_v1_common_pb.TaskProgress | undefined;
setTaskProgress(value?: cc_arduino_cli_commands_v1_common_pb.TaskProgress): LibraryUpgradeResponse;
hasResult(): boolean;
clearResult(): void;
getResult(): LibraryUpgradeResponse.Result | undefined;
setResult(value?: LibraryUpgradeResponse.Result): LibraryUpgradeResponse;
getMessageCase(): LibraryUpgradeResponse.MessageCase;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): LibraryUpgradeResponse.AsObject;
static toObject(includeInstance: boolean, msg: LibraryUpgradeResponse): LibraryUpgradeResponse.AsObject;
@@ -257,35 +181,7 @@ export namespace LibraryUpgradeResponse {
export type AsObject = {
progress?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress.AsObject,
taskProgress?: cc_arduino_cli_commands_v1_common_pb.TaskProgress.AsObject,
result?: LibraryUpgradeResponse.Result.AsObject,
}
export class Result extends jspb.Message {
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Result.AsObject;
static toObject(includeInstance: boolean, msg: Result): Result.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Result;
static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result;
}
export namespace Result {
export type AsObject = {
}
}
export enum MessageCase {
MESSAGE_NOT_SET = 0,
PROGRESS = 1,
TASK_PROGRESS = 2,
RESULT = 3,
}
}
export class LibraryUninstallRequest extends jspb.Message {
@@ -324,13 +220,6 @@ export class LibraryUninstallResponse extends jspb.Message {
getTaskProgress(): cc_arduino_cli_commands_v1_common_pb.TaskProgress | undefined;
setTaskProgress(value?: cc_arduino_cli_commands_v1_common_pb.TaskProgress): LibraryUninstallResponse;
hasResult(): boolean;
clearResult(): void;
getResult(): LibraryUninstallResponse.Result | undefined;
setResult(value?: LibraryUninstallResponse.Result): LibraryUninstallResponse;
getMessageCase(): LibraryUninstallResponse.MessageCase;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): LibraryUninstallResponse.AsObject;
static toObject(includeInstance: boolean, msg: LibraryUninstallResponse): LibraryUninstallResponse.AsObject;
@@ -344,34 +233,7 @@ export class LibraryUninstallResponse extends jspb.Message {
export namespace LibraryUninstallResponse {
export type AsObject = {
taskProgress?: cc_arduino_cli_commands_v1_common_pb.TaskProgress.AsObject,
result?: LibraryUninstallResponse.Result.AsObject,
}
export class Result extends jspb.Message {
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Result.AsObject;
static toObject(includeInstance: boolean, msg: Result): Result.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Result;
static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result;
}
export namespace Result {
export type AsObject = {
}
}
export enum MessageCase {
MESSAGE_NOT_SET = 0,
TASK_PROGRESS = 1,
RESULT = 2,
}
}
export class LibraryUpgradeAllRequest extends jspb.Message {
@@ -409,13 +271,6 @@ export class LibraryUpgradeAllResponse extends jspb.Message {
getTaskProgress(): cc_arduino_cli_commands_v1_common_pb.TaskProgress | undefined;
setTaskProgress(value?: cc_arduino_cli_commands_v1_common_pb.TaskProgress): LibraryUpgradeAllResponse;
hasResult(): boolean;
clearResult(): void;
getResult(): LibraryUpgradeAllResponse.Result | undefined;
setResult(value?: LibraryUpgradeAllResponse.Result): LibraryUpgradeAllResponse;
getMessageCase(): LibraryUpgradeAllResponse.MessageCase;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): LibraryUpgradeAllResponse.AsObject;
static toObject(includeInstance: boolean, msg: LibraryUpgradeAllResponse): LibraryUpgradeAllResponse.AsObject;
@@ -430,35 +285,7 @@ export namespace LibraryUpgradeAllResponse {
export type AsObject = {
progress?: cc_arduino_cli_commands_v1_common_pb.DownloadProgress.AsObject,
taskProgress?: cc_arduino_cli_commands_v1_common_pb.TaskProgress.AsObject,
result?: LibraryUpgradeAllResponse.Result.AsObject,
}
export class Result extends jspb.Message {
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Result.AsObject;
static toObject(includeInstance: boolean, msg: Result): Result.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Result;
static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result;
}
export namespace Result {
export type AsObject = {
}
}
export enum MessageCase {
MESSAGE_NOT_SET = 0,
PROGRESS = 1,
TASK_PROGRESS = 2,
RESULT = 3,
}
}
export class LibraryResolveDependenciesRequest extends jspb.Message {
@@ -471,8 +298,6 @@ export class LibraryResolveDependenciesRequest extends jspb.Message {
setName(value: string): LibraryResolveDependenciesRequest;
getVersion(): string;
setVersion(value: string): LibraryResolveDependenciesRequest;
getDoNotUpdateInstalledLibraries(): boolean;
setDoNotUpdateInstalledLibraries(value: boolean): LibraryResolveDependenciesRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): LibraryResolveDependenciesRequest.AsObject;
@@ -489,7 +314,6 @@ export namespace LibraryResolveDependenciesRequest {
instance?: cc_arduino_cli_commands_v1_common_pb.Instance.AsObject,
name: string,
version: string,
doNotUpdateInstalledLibraries: boolean,
}
}
@@ -547,6 +371,8 @@ export class LibrarySearchRequest extends jspb.Message {
clearInstance(): void;
getInstance(): cc_arduino_cli_commands_v1_common_pb.Instance | undefined;
setInstance(value?: cc_arduino_cli_commands_v1_common_pb.Instance): LibrarySearchRequest;
getQuery(): string;
setQuery(value: string): LibrarySearchRequest;
getOmitReleasesDetails(): boolean;
setOmitReleasesDetails(value: boolean): LibrarySearchRequest;
getSearchArgs(): string;
@@ -565,6 +391,7 @@ export class LibrarySearchRequest extends jspb.Message {
export namespace LibrarySearchRequest {
export type AsObject = {
instance?: cc_arduino_cli_commands_v1_common_pb.Instance.AsObject,
query: string,
omitReleasesDetails: boolean,
searchArgs: string,
}
@@ -982,13 +809,6 @@ export class ZipLibraryInstallResponse extends jspb.Message {
getTaskProgress(): cc_arduino_cli_commands_v1_common_pb.TaskProgress | undefined;
setTaskProgress(value?: cc_arduino_cli_commands_v1_common_pb.TaskProgress): ZipLibraryInstallResponse;
hasResult(): boolean;
clearResult(): void;
getResult(): ZipLibraryInstallResponse.Result | undefined;
setResult(value?: ZipLibraryInstallResponse.Result): ZipLibraryInstallResponse;
getMessageCase(): ZipLibraryInstallResponse.MessageCase;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): ZipLibraryInstallResponse.AsObject;
static toObject(includeInstance: boolean, msg: ZipLibraryInstallResponse): ZipLibraryInstallResponse.AsObject;
@@ -1002,34 +822,7 @@ export class ZipLibraryInstallResponse extends jspb.Message {
export namespace ZipLibraryInstallResponse {
export type AsObject = {
taskProgress?: cc_arduino_cli_commands_v1_common_pb.TaskProgress.AsObject,
result?: ZipLibraryInstallResponse.Result.AsObject,
}
export class Result extends jspb.Message {
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Result.AsObject;
static toObject(includeInstance: boolean, msg: Result): Result.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Result;
static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result;
}
export namespace Result {
export type AsObject = {
}
}
export enum MessageCase {
MESSAGE_NOT_SET = 0,
TASK_PROGRESS = 1,
RESULT = 2,
}
}
export class GitLibraryInstallRequest extends jspb.Message {
@@ -1068,13 +861,6 @@ export class GitLibraryInstallResponse extends jspb.Message {
getTaskProgress(): cc_arduino_cli_commands_v1_common_pb.TaskProgress | undefined;
setTaskProgress(value?: cc_arduino_cli_commands_v1_common_pb.TaskProgress): GitLibraryInstallResponse;
hasResult(): boolean;
clearResult(): void;
getResult(): GitLibraryInstallResponse.Result | undefined;
setResult(value?: GitLibraryInstallResponse.Result): GitLibraryInstallResponse;
getMessageCase(): GitLibraryInstallResponse.MessageCase;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): GitLibraryInstallResponse.AsObject;
static toObject(includeInstance: boolean, msg: GitLibraryInstallResponse): GitLibraryInstallResponse.AsObject;
@@ -1088,34 +874,7 @@ export class GitLibraryInstallResponse extends jspb.Message {
export namespace GitLibraryInstallResponse {
export type AsObject = {
taskProgress?: cc_arduino_cli_commands_v1_common_pb.TaskProgress.AsObject,
result?: GitLibraryInstallResponse.Result.AsObject,
}
export class Result extends jspb.Message {
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Result.AsObject;
static toObject(includeInstance: boolean, msg: Result): Result.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Result, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Result;
static deserializeBinaryFromReader(message: Result, reader: jspb.BinaryReader): Result;
}
export namespace Result {
export type AsObject = {
}
}
export enum MessageCase {
MESSAGE_NOT_SET = 0,
TASK_PROGRESS = 1,
RESULT = 2,
}
}
export enum LibraryInstallLocation {

View File

@@ -10,29 +10,26 @@ import * as cc_arduino_cli_commands_v1_port_pb from "../../../../../cc/arduino/c
export class MonitorRequest extends jspb.Message {
hasOpenRequest(): boolean;
clearOpenRequest(): void;
getOpenRequest(): MonitorPortOpenRequest | undefined;
setOpenRequest(value?: MonitorPortOpenRequest): MonitorRequest;
hasInstance(): boolean;
clearInstance(): void;
getInstance(): cc_arduino_cli_commands_v1_common_pb.Instance | undefined;
setInstance(value?: cc_arduino_cli_commands_v1_common_pb.Instance): MonitorRequest;
hasTxData(): boolean;
clearTxData(): void;
hasPort(): boolean;
clearPort(): void;
getPort(): cc_arduino_cli_commands_v1_port_pb.Port | undefined;
setPort(value?: cc_arduino_cli_commands_v1_port_pb.Port): MonitorRequest;
getFqbn(): string;
setFqbn(value: string): MonitorRequest;
getTxData(): Uint8Array | string;
getTxData_asU8(): Uint8Array;
getTxData_asB64(): string;
setTxData(value: Uint8Array | string): MonitorRequest;
hasUpdatedConfiguration(): boolean;
clearUpdatedConfiguration(): void;
getUpdatedConfiguration(): MonitorPortConfiguration | undefined;
setUpdatedConfiguration(value?: MonitorPortConfiguration): MonitorRequest;
hasClose(): boolean;
clearClose(): void;
getClose(): boolean;
setClose(value: boolean): MonitorRequest;
getMessageCase(): MonitorRequest.MessageCase;
hasPortConfiguration(): boolean;
clearPortConfiguration(): void;
getPortConfiguration(): MonitorPortConfiguration | undefined;
setPortConfiguration(value?: MonitorPortConfiguration): MonitorRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): MonitorRequest.AsObject;
@@ -45,57 +42,11 @@ export class MonitorRequest extends jspb.Message {
}
export namespace MonitorRequest {
export type AsObject = {
openRequest?: MonitorPortOpenRequest.AsObject,
txData: Uint8Array | string,
updatedConfiguration?: MonitorPortConfiguration.AsObject,
close: boolean,
}
export enum MessageCase {
MESSAGE_NOT_SET = 0,
OPEN_REQUEST = 1,
TX_DATA = 2,
UPDATED_CONFIGURATION = 3,
CLOSE = 4,
}
}
export class MonitorPortOpenRequest extends jspb.Message {
hasInstance(): boolean;
clearInstance(): void;
getInstance(): cc_arduino_cli_commands_v1_common_pb.Instance | undefined;
setInstance(value?: cc_arduino_cli_commands_v1_common_pb.Instance): MonitorPortOpenRequest;
hasPort(): boolean;
clearPort(): void;
getPort(): cc_arduino_cli_commands_v1_port_pb.Port | undefined;
setPort(value?: cc_arduino_cli_commands_v1_port_pb.Port): MonitorPortOpenRequest;
getFqbn(): string;
setFqbn(value: string): MonitorPortOpenRequest;
hasPortConfiguration(): boolean;
clearPortConfiguration(): void;
getPortConfiguration(): MonitorPortConfiguration | undefined;
setPortConfiguration(value?: MonitorPortConfiguration): MonitorPortOpenRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): MonitorPortOpenRequest.AsObject;
static toObject(includeInstance: boolean, msg: MonitorPortOpenRequest): MonitorPortOpenRequest.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: MonitorPortOpenRequest, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): MonitorPortOpenRequest;
static deserializeBinaryFromReader(message: MonitorPortOpenRequest, reader: jspb.BinaryReader): MonitorPortOpenRequest;
}
export namespace MonitorPortOpenRequest {
export type AsObject = {
instance?: cc_arduino_cli_commands_v1_common_pb.Instance.AsObject,
port?: cc_arduino_cli_commands_v1_port_pb.Port.AsObject,
fqbn: string,
txData: Uint8Array | string,
portConfiguration?: MonitorPortConfiguration.AsObject,
}
}
@@ -123,31 +74,19 @@ export namespace MonitorPortConfiguration {
}
export class MonitorResponse extends jspb.Message {
hasError(): boolean;
clearError(): void;
getError(): string;
setError(value: string): MonitorResponse;
hasRxData(): boolean;
clearRxData(): void;
getRxData(): Uint8Array | string;
getRxData_asU8(): Uint8Array;
getRxData_asB64(): string;
setRxData(value: Uint8Array | string): MonitorResponse;
hasAppliedSettings(): boolean;
clearAppliedSettings(): void;
getAppliedSettings(): MonitorPortConfiguration | undefined;
setAppliedSettings(value?: MonitorPortConfiguration): MonitorResponse;
hasSuccess(): boolean;
clearSuccess(): void;
clearAppliedSettingsList(): void;
getAppliedSettingsList(): Array<MonitorPortSetting>;
setAppliedSettingsList(value: Array<MonitorPortSetting>): MonitorResponse;
addAppliedSettings(value?: MonitorPortSetting, index?: number): MonitorPortSetting;
getSuccess(): boolean;
setSuccess(value: boolean): MonitorResponse;
getMessageCase(): MonitorResponse.MessageCase;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): MonitorResponse.AsObject;
static toObject(includeInstance: boolean, msg: MonitorResponse): MonitorResponse.AsObject;
@@ -162,18 +101,9 @@ export namespace MonitorResponse {
export type AsObject = {
error: string,
rxData: Uint8Array | string,
appliedSettings?: MonitorPortConfiguration.AsObject,
appliedSettingsList: Array<MonitorPortSetting.AsObject>,
success: boolean,
}
export enum MessageCase {
MESSAGE_NOT_SET = 0,
ERROR = 1,
RX_DATA = 2,
APPLIED_SETTINGS = 3,
SUCCESS = 4,
}
}
export class MonitorPortSetting extends jspb.Message {

View File

@@ -28,13 +28,10 @@ goog.object.extend(proto, cc_arduino_cli_commands_v1_port_pb);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorPortSetting', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorPortSettingDescriptor', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorRequest', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorRequest.MessageCase', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorResponse', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorResponse.MessageCase', null, global);
/**
* Generated by JsPbCodeGenerator.
* @param {Array=} opt_data Optional initial data array, typically from a
@@ -46,7 +43,7 @@ goog.exportSymbol('proto.cc.arduino.cli.commands.v1.MonitorResponse.MessageCase'
* @constructor
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest = function(opt_data) {
jspb.Message.initialize(this, opt_data, 0, -1, null, proto.cc.arduino.cli.commands.v1.MonitorRequest.oneofGroups_);
jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.v1.MonitorRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
@@ -56,27 +53,6 @@ if (goog.DEBUG && !COMPILED) {
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.displayName = 'proto.cc.arduino.cli.commands.v1.MonitorRequest';
}
/**
* 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.v1.MonitorPortOpenRequest = function(opt_data) {
jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
/**
* @public
* @override
*/
proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.displayName = 'proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest';
}
/**
* Generated by JsPbCodeGenerator.
* @param {Array=} opt_data Optional initial data array, typically from a
@@ -109,7 +85,7 @@ if (goog.DEBUG && !COMPILED) {
* @constructor
*/
proto.cc.arduino.cli.commands.v1.MonitorResponse = function(opt_data) {
jspb.Message.initialize(this, opt_data, 0, -1, null, proto.cc.arduino.cli.commands.v1.MonitorResponse.oneofGroups_);
jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.MonitorResponse.repeatedFields_, null);
};
goog.inherits(proto.cc.arduino.cli.commands.v1.MonitorResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
@@ -204,34 +180,6 @@ if (goog.DEBUG && !COMPILED) {
proto.cc.arduino.cli.commands.v1.MonitorPortSettingDescriptor.displayName = 'proto.cc.arduino.cli.commands.v1.MonitorPortSettingDescriptor';
}
/**
* Oneof group definitions for this message. Each group defines the field
* numbers belonging to that group. When of these fields' value is set, all
* other fields in the group are cleared. During deserialization, if multiple
* fields are encountered for a group, only the last value seen will be kept.
* @private {!Array<!Array<number>>}
* @const
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.oneofGroups_ = [[1,2,3,4]];
/**
* @enum {number}
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.MessageCase = {
MESSAGE_NOT_SET: 0,
OPEN_REQUEST: 1,
TX_DATA: 2,
UPDATED_CONFIGURATION: 3,
CLOSE: 4
};
/**
* @return {proto.cc.arduino.cli.commands.v1.MonitorRequest.MessageCase}
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getMessageCase = function() {
return /** @type {proto.cc.arduino.cli.commands.v1.MonitorRequest.MessageCase} */(jspb.Message.computeOneofCase(this, proto.cc.arduino.cli.commands.v1.MonitorRequest.oneofGroups_[0]));
};
if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -263,10 +211,11 @@ proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.toObject = function(op
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.toObject = function(includeInstance, msg) {
var f, obj = {
openRequest: (f = msg.getOpenRequest()) && proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.toObject(includeInstance, f),
instance: (f = msg.getInstance()) && cc_arduino_cli_commands_v1_common_pb.Instance.toObject(includeInstance, f),
port: (f = msg.getPort()) && cc_arduino_cli_commands_v1_port_pb.Port.toObject(includeInstance, f),
fqbn: jspb.Message.getFieldWithDefault(msg, 3, ""),
txData: msg.getTxData_asB64(),
updatedConfiguration: (f = msg.getUpdatedConfiguration()) && proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.toObject(includeInstance, f),
close: jspb.Message.getBooleanFieldWithDefault(msg, 4, false)
portConfiguration: (f = msg.getPortConfiguration()) && proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.toObject(includeInstance, f)
};
if (includeInstance) {
@@ -304,22 +253,27 @@ proto.cc.arduino.cli.commands.v1.MonitorRequest.deserializeBinaryFromReader = fu
var field = reader.getFieldNumber();
switch (field) {
case 1:
var value = new proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest;
reader.readMessage(value,proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.deserializeBinaryFromReader);
msg.setOpenRequest(value);
var value = new cc_arduino_cli_commands_v1_common_pb.Instance;
reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.Instance.deserializeBinaryFromReader);
msg.setInstance(value);
break;
case 2:
var value = new cc_arduino_cli_commands_v1_port_pb.Port;
reader.readMessage(value,cc_arduino_cli_commands_v1_port_pb.Port.deserializeBinaryFromReader);
msg.setPort(value);
break;
case 3:
var value = /** @type {string} */ (reader.readString());
msg.setFqbn(value);
break;
case 4:
var value = /** @type {!Uint8Array} */ (reader.readBytes());
msg.setTxData(value);
break;
case 3:
case 5:
var value = new proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration;
reader.readMessage(value,proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.deserializeBinaryFromReader);
msg.setUpdatedConfiguration(value);
break;
case 4:
var value = /** @type {boolean} */ (reader.readBool());
msg.setClose(value);
msg.setPortConfiguration(value);
break;
default:
reader.skipField();
@@ -349,329 +303,6 @@ proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.serializeBinary = func
* @suppress {unusedLocalVariables} f is only used for nested messages
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.serializeBinaryToWriter = function(message, writer) {
var f = undefined;
f = message.getOpenRequest();
if (f != null) {
writer.writeMessage(
1,
f,
proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.serializeBinaryToWriter
);
}
f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
if (f != null) {
writer.writeBytes(
2,
f
);
}
f = message.getUpdatedConfiguration();
if (f != null) {
writer.writeMessage(
3,
f,
proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.serializeBinaryToWriter
);
}
f = /** @type {boolean} */ (jspb.Message.getField(message, 4));
if (f != null) {
writer.writeBool(
4,
f
);
}
};
/**
* optional MonitorPortOpenRequest open_request = 1;
* @return {?proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest}
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getOpenRequest = function() {
return /** @type{?proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest} */ (
jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest, 1));
};
/**
* @param {?proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest|undefined} value
* @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.setOpenRequest = function(value) {
return jspb.Message.setOneofWrapperField(this, 1, proto.cc.arduino.cli.commands.v1.MonitorRequest.oneofGroups_[0], value);
};
/**
* Clears the message field making it undefined.
* @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.clearOpenRequest = function() {
return this.setOpenRequest(undefined);
};
/**
* Returns whether this field is set.
* @return {boolean}
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.hasOpenRequest = function() {
return jspb.Message.getField(this, 1) != null;
};
/**
* optional bytes tx_data = 2;
* @return {!(string|Uint8Array)}
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getTxData = function() {
return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};
/**
* optional bytes tx_data = 2;
* This is a type-conversion wrapper around `getTxData()`
* @return {string}
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getTxData_asB64 = function() {
return /** @type {string} */ (jspb.Message.bytesAsB64(
this.getTxData()));
};
/**
* optional bytes tx_data = 2;
* Note that Uint8Array is not supported on all browsers.
* @see http://caniuse.com/Uint8Array
* This is a type-conversion wrapper around `getTxData()`
* @return {!Uint8Array}
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getTxData_asU8 = function() {
return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
this.getTxData()));
};
/**
* @param {!(string|Uint8Array)} value
* @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.setTxData = function(value) {
return jspb.Message.setOneofField(this, 2, proto.cc.arduino.cli.commands.v1.MonitorRequest.oneofGroups_[0], value);
};
/**
* Clears the field making it undefined.
* @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.clearTxData = function() {
return jspb.Message.setOneofField(this, 2, proto.cc.arduino.cli.commands.v1.MonitorRequest.oneofGroups_[0], undefined);
};
/**
* Returns whether this field is set.
* @return {boolean}
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.hasTxData = function() {
return jspb.Message.getField(this, 2) != null;
};
/**
* optional MonitorPortConfiguration updated_configuration = 3;
* @return {?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration}
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getUpdatedConfiguration = function() {
return /** @type{?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} */ (
jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration, 3));
};
/**
* @param {?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration|undefined} value
* @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.setUpdatedConfiguration = function(value) {
return jspb.Message.setOneofWrapperField(this, 3, proto.cc.arduino.cli.commands.v1.MonitorRequest.oneofGroups_[0], value);
};
/**
* Clears the message field making it undefined.
* @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.clearUpdatedConfiguration = function() {
return this.setUpdatedConfiguration(undefined);
};
/**
* Returns whether this field is set.
* @return {boolean}
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.hasUpdatedConfiguration = function() {
return jspb.Message.getField(this, 3) != null;
};
/**
* optional bool close = 4;
* @return {boolean}
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getClose = function() {
return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));
};
/**
* @param {boolean} value
* @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.setClose = function(value) {
return jspb.Message.setOneofField(this, 4, proto.cc.arduino.cli.commands.v1.MonitorRequest.oneofGroups_[0], value);
};
/**
* Clears the field making it undefined.
* @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.clearClose = function() {
return jspb.Message.setOneofField(this, 4, proto.cc.arduino.cli.commands.v1.MonitorRequest.oneofGroups_[0], undefined);
};
/**
* Returns whether this field is set.
* @return {boolean}
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.hasClose = function() {
return jspb.Message.getField(this, 4) != null;
};
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.v1.MonitorPortOpenRequest.prototype.toObject = function(opt_includeInstance) {
return proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.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.v1.MonitorPortOpenRequest} msg The msg instance to transform.
* @return {!Object}
* @suppress {unusedLocalVariables} f is only used for nested messages
*/
proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.toObject = function(includeInstance, msg) {
var f, obj = {
instance: (f = msg.getInstance()) && cc_arduino_cli_commands_v1_common_pb.Instance.toObject(includeInstance, f),
port: (f = msg.getPort()) && cc_arduino_cli_commands_v1_port_pb.Port.toObject(includeInstance, f),
fqbn: jspb.Message.getFieldWithDefault(msg, 3, ""),
portConfiguration: (f = msg.getPortConfiguration()) && proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.toObject(includeInstance, f)
};
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.v1.MonitorPortOpenRequest}
*/
proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.deserializeBinary = function(bytes) {
var reader = new jspb.BinaryReader(bytes);
var msg = new proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest;
return proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.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.v1.MonitorPortOpenRequest} msg The message object to deserialize into.
* @param {!jspb.BinaryReader} reader The BinaryReader to use.
* @return {!proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest}
*/
proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.deserializeBinaryFromReader = function(msg, reader) {
while (reader.nextField()) {
if (reader.isEndGroup()) {
break;
}
var field = reader.getFieldNumber();
switch (field) {
case 1:
var value = new cc_arduino_cli_commands_v1_common_pb.Instance;
reader.readMessage(value,cc_arduino_cli_commands_v1_common_pb.Instance.deserializeBinaryFromReader);
msg.setInstance(value);
break;
case 2:
var value = new cc_arduino_cli_commands_v1_port_pb.Port;
reader.readMessage(value,cc_arduino_cli_commands_v1_port_pb.Port.deserializeBinaryFromReader);
msg.setPort(value);
break;
case 3:
var value = /** @type {string} */ (reader.readString());
msg.setFqbn(value);
break;
case 4:
var value = new proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration;
reader.readMessage(value,proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.deserializeBinaryFromReader);
msg.setPortConfiguration(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.v1.MonitorPortOpenRequest.prototype.serializeBinary = function() {
var writer = new jspb.BinaryWriter();
proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.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.v1.MonitorPortOpenRequest} message
* @param {!jspb.BinaryWriter} writer
* @suppress {unusedLocalVariables} f is only used for nested messages
*/
proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.serializeBinaryToWriter = function(message, writer) {
var f = undefined;
f = message.getInstance();
if (f != null) {
@@ -696,10 +327,17 @@ proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.serializeBinaryToWriter
f
);
}
f = message.getTxData_asU8();
if (f.length > 0) {
writer.writeBytes(
4,
f
);
}
f = message.getPortConfiguration();
if (f != null) {
writer.writeMessage(
4,
5,
f,
proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.serializeBinaryToWriter
);
@@ -711,7 +349,7 @@ proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.serializeBinaryToWriter
* optional Instance instance = 1;
* @return {?proto.cc.arduino.cli.commands.v1.Instance}
*/
proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.getInstance = function() {
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getInstance = function() {
return /** @type{?proto.cc.arduino.cli.commands.v1.Instance} */ (
jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_common_pb.Instance, 1));
};
@@ -719,18 +357,18 @@ proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.getInstance =
/**
* @param {?proto.cc.arduino.cli.commands.v1.Instance|undefined} value
* @return {!proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest} returns this
* @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this
*/
proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.setInstance = function(value) {
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.setInstance = function(value) {
return jspb.Message.setWrapperField(this, 1, value);
};
/**
* Clears the message field making it undefined.
* @return {!proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest} returns this
* @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this
*/
proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.clearInstance = function() {
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.clearInstance = function() {
return this.setInstance(undefined);
};
@@ -739,7 +377,7 @@ proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.clearInstance
* Returns whether this field is set.
* @return {boolean}
*/
proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.hasInstance = function() {
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.hasInstance = function() {
return jspb.Message.getField(this, 1) != null;
};
@@ -748,7 +386,7 @@ proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.hasInstance =
* optional Port port = 2;
* @return {?proto.cc.arduino.cli.commands.v1.Port}
*/
proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.getPort = function() {
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getPort = function() {
return /** @type{?proto.cc.arduino.cli.commands.v1.Port} */ (
jspb.Message.getWrapperField(this, cc_arduino_cli_commands_v1_port_pb.Port, 2));
};
@@ -756,18 +394,18 @@ proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.getPort = func
/**
* @param {?proto.cc.arduino.cli.commands.v1.Port|undefined} value
* @return {!proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest} returns this
* @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this
*/
proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.setPort = function(value) {
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.setPort = function(value) {
return jspb.Message.setWrapperField(this, 2, value);
};
/**
* Clears the message field making it undefined.
* @return {!proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest} returns this
* @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this
*/
proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.clearPort = function() {
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.clearPort = function() {
return this.setPort(undefined);
};
@@ -776,7 +414,7 @@ proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.clearPort = fu
* Returns whether this field is set.
* @return {boolean}
*/
proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.hasPort = function() {
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.hasPort = function() {
return jspb.Message.getField(this, 2) != null;
};
@@ -785,44 +423,86 @@ proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.hasPort = func
* optional string fqbn = 3;
* @return {string}
*/
proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.getFqbn = function() {
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getFqbn = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};
/**
* @param {string} value
* @return {!proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest} returns this
* @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this
*/
proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.setFqbn = function(value) {
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.setFqbn = function(value) {
return jspb.Message.setProto3StringField(this, 3, value);
};
/**
* optional MonitorPortConfiguration port_configuration = 4;
* optional bytes tx_data = 4;
* @return {!(string|Uint8Array)}
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getTxData = function() {
return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};
/**
* optional bytes tx_data = 4;
* This is a type-conversion wrapper around `getTxData()`
* @return {string}
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getTxData_asB64 = function() {
return /** @type {string} */ (jspb.Message.bytesAsB64(
this.getTxData()));
};
/**
* optional bytes tx_data = 4;
* Note that Uint8Array is not supported on all browsers.
* @see http://caniuse.com/Uint8Array
* This is a type-conversion wrapper around `getTxData()`
* @return {!Uint8Array}
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getTxData_asU8 = function() {
return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
this.getTxData()));
};
/**
* @param {!(string|Uint8Array)} value
* @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this
*/
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.setTxData = function(value) {
return jspb.Message.setProto3BytesField(this, 4, value);
};
/**
* optional MonitorPortConfiguration port_configuration = 5;
* @return {?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration}
*/
proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.getPortConfiguration = function() {
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.getPortConfiguration = function() {
return /** @type{?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} */ (
jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration, 4));
jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration, 5));
};
/**
* @param {?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration|undefined} value
* @return {!proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest} returns this
* @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this
*/
proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.setPortConfiguration = function(value) {
return jspb.Message.setWrapperField(this, 4, value);
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.setPortConfiguration = function(value) {
return jspb.Message.setWrapperField(this, 5, value);
};
/**
* Clears the message field making it undefined.
* @return {!proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest} returns this
* @return {!proto.cc.arduino.cli.commands.v1.MonitorRequest} returns this
*/
proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.clearPortConfiguration = function() {
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.clearPortConfiguration = function() {
return this.setPortConfiguration(undefined);
};
@@ -831,8 +511,8 @@ proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.clearPortConfi
* Returns whether this field is set.
* @return {boolean}
*/
proto.cc.arduino.cli.commands.v1.MonitorPortOpenRequest.prototype.hasPortConfiguration = function() {
return jspb.Message.getField(this, 4) != null;
proto.cc.arduino.cli.commands.v1.MonitorRequest.prototype.hasPortConfiguration = function() {
return jspb.Message.getField(this, 5) != null;
};
@@ -998,32 +678,11 @@ proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.prototype.clearSetting
/**
* Oneof group definitions for this message. Each group defines the field
* numbers belonging to that group. When of these fields' value is set, all
* other fields in the group are cleared. During deserialization, if multiple
* fields are encountered for a group, only the last value seen will be kept.
* @private {!Array<!Array<number>>}
* List of repeated fields within this message type.
* @private {!Array<number>}
* @const
*/
proto.cc.arduino.cli.commands.v1.MonitorResponse.oneofGroups_ = [[1,2,3,4]];
/**
* @enum {number}
*/
proto.cc.arduino.cli.commands.v1.MonitorResponse.MessageCase = {
MESSAGE_NOT_SET: 0,
ERROR: 1,
RX_DATA: 2,
APPLIED_SETTINGS: 3,
SUCCESS: 4
};
/**
* @return {proto.cc.arduino.cli.commands.v1.MonitorResponse.MessageCase}
*/
proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.getMessageCase = function() {
return /** @type {proto.cc.arduino.cli.commands.v1.MonitorResponse.MessageCase} */(jspb.Message.computeOneofCase(this, proto.cc.arduino.cli.commands.v1.MonitorResponse.oneofGroups_[0]));
};
proto.cc.arduino.cli.commands.v1.MonitorResponse.repeatedFields_ = [3];
@@ -1058,7 +717,8 @@ proto.cc.arduino.cli.commands.v1.MonitorResponse.toObject = function(includeInst
var f, obj = {
error: jspb.Message.getFieldWithDefault(msg, 1, ""),
rxData: msg.getRxData_asB64(),
appliedSettings: (f = msg.getAppliedSettings()) && proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.toObject(includeInstance, f),
appliedSettingsList: jspb.Message.toObjectList(msg.getAppliedSettingsList(),
proto.cc.arduino.cli.commands.v1.MonitorPortSetting.toObject, includeInstance),
success: jspb.Message.getBooleanFieldWithDefault(msg, 4, false)
};
@@ -1105,9 +765,9 @@ proto.cc.arduino.cli.commands.v1.MonitorResponse.deserializeBinaryFromReader = f
msg.setRxData(value);
break;
case 3:
var value = new proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration;
reader.readMessage(value,proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.deserializeBinaryFromReader);
msg.setAppliedSettings(value);
var value = new proto.cc.arduino.cli.commands.v1.MonitorPortSetting;
reader.readMessage(value,proto.cc.arduino.cli.commands.v1.MonitorPortSetting.deserializeBinaryFromReader);
msg.addAppliedSettings(value);
break;
case 4:
var value = /** @type {boolean} */ (reader.readBool());
@@ -1142,30 +802,30 @@ proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.serializeBinary = fun
*/
proto.cc.arduino.cli.commands.v1.MonitorResponse.serializeBinaryToWriter = function(message, writer) {
var f = undefined;
f = /** @type {string} */ (jspb.Message.getField(message, 1));
if (f != null) {
f = message.getError();
if (f.length > 0) {
writer.writeString(
1,
f
);
}
f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
if (f != null) {
f = message.getRxData_asU8();
if (f.length > 0) {
writer.writeBytes(
2,
f
);
}
f = message.getAppliedSettings();
if (f != null) {
writer.writeMessage(
f = message.getAppliedSettingsList();
if (f.length > 0) {
writer.writeRepeatedMessage(
3,
f,
proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration.serializeBinaryToWriter
proto.cc.arduino.cli.commands.v1.MonitorPortSetting.serializeBinaryToWriter
);
}
f = /** @type {boolean} */ (jspb.Message.getField(message, 4));
if (f != null) {
f = message.getSuccess();
if (f) {
writer.writeBool(
4,
f
@@ -1188,25 +848,7 @@ proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.getError = function()
* @return {!proto.cc.arduino.cli.commands.v1.MonitorResponse} returns this
*/
proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.setError = function(value) {
return jspb.Message.setOneofField(this, 1, proto.cc.arduino.cli.commands.v1.MonitorResponse.oneofGroups_[0], value);
};
/**
* Clears the field making it undefined.
* @return {!proto.cc.arduino.cli.commands.v1.MonitorResponse} returns this
*/
proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.clearError = function() {
return jspb.Message.setOneofField(this, 1, proto.cc.arduino.cli.commands.v1.MonitorResponse.oneofGroups_[0], undefined);
};
/**
* Returns whether this field is set.
* @return {boolean}
*/
proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.hasError = function() {
return jspb.Message.getField(this, 1) != null;
return jspb.Message.setProto3StringField(this, 1, value);
};
@@ -1248,62 +890,45 @@ proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.getRxData_asU8 = func
* @return {!proto.cc.arduino.cli.commands.v1.MonitorResponse} returns this
*/
proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.setRxData = function(value) {
return jspb.Message.setOneofField(this, 2, proto.cc.arduino.cli.commands.v1.MonitorResponse.oneofGroups_[0], value);
return jspb.Message.setProto3BytesField(this, 2, value);
};
/**
* Clears the field making it undefined.
* @return {!proto.cc.arduino.cli.commands.v1.MonitorResponse} returns this
* repeated MonitorPortSetting applied_settings = 3;
* @return {!Array<!proto.cc.arduino.cli.commands.v1.MonitorPortSetting>}
*/
proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.clearRxData = function() {
return jspb.Message.setOneofField(this, 2, proto.cc.arduino.cli.commands.v1.MonitorResponse.oneofGroups_[0], undefined);
proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.getAppliedSettingsList = function() {
return /** @type{!Array<!proto.cc.arduino.cli.commands.v1.MonitorPortSetting>} */ (
jspb.Message.getRepeatedWrapperField(this, proto.cc.arduino.cli.commands.v1.MonitorPortSetting, 3));
};
/**
* Returns whether this field is set.
* @return {boolean}
*/
proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.hasRxData = function() {
return jspb.Message.getField(this, 2) != null;
};
/**
* optional MonitorPortConfiguration applied_settings = 3;
* @return {?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration}
*/
proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.getAppliedSettings = function() {
return /** @type{?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration} */ (
jspb.Message.getWrapperField(this, proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration, 3));
};
/**
* @param {?proto.cc.arduino.cli.commands.v1.MonitorPortConfiguration|undefined} value
* @param {!Array<!proto.cc.arduino.cli.commands.v1.MonitorPortSetting>} value
* @return {!proto.cc.arduino.cli.commands.v1.MonitorResponse} returns this
*/
proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.setAppliedSettings = function(value) {
return jspb.Message.setOneofWrapperField(this, 3, proto.cc.arduino.cli.commands.v1.MonitorResponse.oneofGroups_[0], value);
proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.setAppliedSettingsList = function(value) {
return jspb.Message.setRepeatedWrapperField(this, 3, value);
};
/**
* Clears the message field making it undefined.
* @param {!proto.cc.arduino.cli.commands.v1.MonitorPortSetting=} opt_value
* @param {number=} opt_index
* @return {!proto.cc.arduino.cli.commands.v1.MonitorPortSetting}
*/
proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.addAppliedSettings = function(opt_value, opt_index) {
return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.cc.arduino.cli.commands.v1.MonitorPortSetting, opt_index);
};
/**
* Clears the list making it empty but non-null.
* @return {!proto.cc.arduino.cli.commands.v1.MonitorResponse} returns this
*/
proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.clearAppliedSettings = function() {
return this.setAppliedSettings(undefined);
};
/**
* Returns whether this field is set.
* @return {boolean}
*/
proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.hasAppliedSettings = function() {
return jspb.Message.getField(this, 3) != null;
proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.clearAppliedSettingsList = function() {
return this.setAppliedSettingsList([]);
};
@@ -1321,25 +946,7 @@ proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.getSuccess = function
* @return {!proto.cc.arduino.cli.commands.v1.MonitorResponse} returns this
*/
proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.setSuccess = function(value) {
return jspb.Message.setOneofField(this, 4, proto.cc.arduino.cli.commands.v1.MonitorResponse.oneofGroups_[0], value);
};
/**
* Clears the field making it undefined.
* @return {!proto.cc.arduino.cli.commands.v1.MonitorResponse} returns this
*/
proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.clearSuccess = function() {
return jspb.Message.setOneofField(this, 4, proto.cc.arduino.cli.commands.v1.MonitorResponse.oneofGroups_[0], undefined);
};
/**
* Returns whether this field is set.
* @return {boolean}
*/
proto.cc.arduino.cli.commands.v1.MonitorResponse.prototype.hasSuccess = function() {
return jspb.Message.getField(this, 4) != null;
return jspb.Message.setProto3BooleanField(this, 4, value);
};

View File

@@ -1 +0,0 @@
// GENERATED CODE -- NO SERVICES IN PROTO

View File

@@ -1,627 +0,0 @@
// package: cc.arduino.cli.commands.v1
// file: cc/arduino/cli/commands/v1/settings.proto
/* tslint:disable */
/* eslint-disable */
import * as jspb from "google-protobuf";
export class Configuration extends jspb.Message {
hasDirectories(): boolean;
clearDirectories(): void;
getDirectories(): Configuration.Directories | undefined;
setDirectories(value?: Configuration.Directories): Configuration;
hasNetwork(): boolean;
clearNetwork(): void;
getNetwork(): Configuration.Network | undefined;
setNetwork(value?: Configuration.Network): Configuration;
hasSketch(): boolean;
clearSketch(): void;
getSketch(): Configuration.Sketch | undefined;
setSketch(value?: Configuration.Sketch): Configuration;
hasBuildCache(): boolean;
clearBuildCache(): void;
getBuildCache(): Configuration.BuildCache | undefined;
setBuildCache(value?: Configuration.BuildCache): Configuration;
hasBoardManager(): boolean;
clearBoardManager(): void;
getBoardManager(): Configuration.BoardManager | undefined;
setBoardManager(value?: Configuration.BoardManager): Configuration;
hasDaemon(): boolean;
clearDaemon(): void;
getDaemon(): Configuration.Daemon | undefined;
setDaemon(value?: Configuration.Daemon): Configuration;
hasOutput(): boolean;
clearOutput(): void;
getOutput(): Configuration.Output | undefined;
setOutput(value?: Configuration.Output): Configuration;
hasLogging(): boolean;
clearLogging(): void;
getLogging(): Configuration.Logging | undefined;
setLogging(value?: Configuration.Logging): Configuration;
hasLibrary(): boolean;
clearLibrary(): void;
getLibrary(): Configuration.Library | undefined;
setLibrary(value?: Configuration.Library): Configuration;
hasUpdater(): boolean;
clearUpdater(): void;
getUpdater(): Configuration.Updater | undefined;
setUpdater(value?: Configuration.Updater): Configuration;
hasLocale(): boolean;
clearLocale(): void;
getLocale(): string | undefined;
setLocale(value: string): Configuration;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Configuration.AsObject;
static toObject(includeInstance: boolean, msg: Configuration): Configuration.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Configuration, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Configuration;
static deserializeBinaryFromReader(message: Configuration, reader: jspb.BinaryReader): Configuration;
}
export namespace Configuration {
export type AsObject = {
directories?: Configuration.Directories.AsObject,
network?: Configuration.Network.AsObject,
sketch?: Configuration.Sketch.AsObject,
buildCache?: Configuration.BuildCache.AsObject,
boardManager?: Configuration.BoardManager.AsObject,
daemon?: Configuration.Daemon.AsObject,
output?: Configuration.Output.AsObject,
logging?: Configuration.Logging.AsObject,
library?: Configuration.Library.AsObject,
updater?: Configuration.Updater.AsObject,
locale?: string,
}
export class Directories extends jspb.Message {
getData(): string;
setData(value: string): Directories;
getUser(): string;
setUser(value: string): Directories;
getDownloads(): string;
setDownloads(value: string): Directories;
hasBuiltin(): boolean;
clearBuiltin(): void;
getBuiltin(): Configuration.Directories.Builtin | undefined;
setBuiltin(value?: Configuration.Directories.Builtin): Directories;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Directories.AsObject;
static toObject(includeInstance: boolean, msg: Directories): Directories.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Directories, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Directories;
static deserializeBinaryFromReader(message: Directories, reader: jspb.BinaryReader): Directories;
}
export namespace Directories {
export type AsObject = {
data: string,
user: string,
downloads: string,
builtin?: Configuration.Directories.Builtin.AsObject,
}
export class Builtin extends jspb.Message {
hasLibraries(): boolean;
clearLibraries(): void;
getLibraries(): string | undefined;
setLibraries(value: string): Builtin;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Builtin.AsObject;
static toObject(includeInstance: boolean, msg: Builtin): Builtin.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Builtin, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Builtin;
static deserializeBinaryFromReader(message: Builtin, reader: jspb.BinaryReader): Builtin;
}
export namespace Builtin {
export type AsObject = {
libraries?: string,
}
}
}
export class Network extends jspb.Message {
hasExtraUserAgent(): boolean;
clearExtraUserAgent(): void;
getExtraUserAgent(): string | undefined;
setExtraUserAgent(value: string): Network;
hasProxy(): boolean;
clearProxy(): void;
getProxy(): string | undefined;
setProxy(value: string): Network;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Network.AsObject;
static toObject(includeInstance: boolean, msg: Network): Network.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Network, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Network;
static deserializeBinaryFromReader(message: Network, reader: jspb.BinaryReader): Network;
}
export namespace Network {
export type AsObject = {
extraUserAgent?: string,
proxy?: string,
}
}
export class Sketch extends jspb.Message {
getAlwaysExportBinaries(): boolean;
setAlwaysExportBinaries(value: boolean): Sketch;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Sketch.AsObject;
static toObject(includeInstance: boolean, msg: Sketch): Sketch.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Sketch, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Sketch;
static deserializeBinaryFromReader(message: Sketch, reader: jspb.BinaryReader): Sketch;
}
export namespace Sketch {
export type AsObject = {
alwaysExportBinaries: boolean,
}
}
export class BuildCache extends jspb.Message {
getCompilationsBeforePurge(): number;
setCompilationsBeforePurge(value: number): BuildCache;
getTtlSecs(): number;
setTtlSecs(value: number): BuildCache;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): BuildCache.AsObject;
static toObject(includeInstance: boolean, msg: BuildCache): BuildCache.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: BuildCache, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): BuildCache;
static deserializeBinaryFromReader(message: BuildCache, reader: jspb.BinaryReader): BuildCache;
}
export namespace BuildCache {
export type AsObject = {
compilationsBeforePurge: number,
ttlSecs: number,
}
}
export class BoardManager extends jspb.Message {
clearAdditionalUrlsList(): void;
getAdditionalUrlsList(): Array<string>;
setAdditionalUrlsList(value: Array<string>): BoardManager;
addAdditionalUrls(value: string, index?: number): string;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): BoardManager.AsObject;
static toObject(includeInstance: boolean, msg: BoardManager): BoardManager.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: BoardManager, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): BoardManager;
static deserializeBinaryFromReader(message: BoardManager, reader: jspb.BinaryReader): BoardManager;
}
export namespace BoardManager {
export type AsObject = {
additionalUrlsList: Array<string>,
}
}
export class Daemon extends jspb.Message {
getPort(): string;
setPort(value: string): Daemon;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Daemon.AsObject;
static toObject(includeInstance: boolean, msg: Daemon): Daemon.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Daemon, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Daemon;
static deserializeBinaryFromReader(message: Daemon, reader: jspb.BinaryReader): Daemon;
}
export namespace Daemon {
export type AsObject = {
port: string,
}
}
export class Output extends jspb.Message {
getNoColor(): boolean;
setNoColor(value: boolean): Output;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Output.AsObject;
static toObject(includeInstance: boolean, msg: Output): Output.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Output, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Output;
static deserializeBinaryFromReader(message: Output, reader: jspb.BinaryReader): Output;
}
export namespace Output {
export type AsObject = {
noColor: boolean,
}
}
export class Logging extends jspb.Message {
getLevel(): string;
setLevel(value: string): Logging;
getFormat(): string;
setFormat(value: string): Logging;
hasFile(): boolean;
clearFile(): void;
getFile(): string | undefined;
setFile(value: string): Logging;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Logging.AsObject;
static toObject(includeInstance: boolean, msg: Logging): Logging.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Logging, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Logging;
static deserializeBinaryFromReader(message: Logging, reader: jspb.BinaryReader): Logging;
}
export namespace Logging {
export type AsObject = {
level: string,
format: string,
file?: string,
}
}
export class Library extends jspb.Message {
getEnableUnsafeInstall(): boolean;
setEnableUnsafeInstall(value: boolean): Library;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Library.AsObject;
static toObject(includeInstance: boolean, msg: Library): Library.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Library, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Library;
static deserializeBinaryFromReader(message: Library, reader: jspb.BinaryReader): Library;
}
export namespace Library {
export type AsObject = {
enableUnsafeInstall: boolean,
}
}
export class Updater extends jspb.Message {
getEnableNotification(): boolean;
setEnableNotification(value: boolean): Updater;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Updater.AsObject;
static toObject(includeInstance: boolean, msg: Updater): Updater.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Updater, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Updater;
static deserializeBinaryFromReader(message: Updater, reader: jspb.BinaryReader): Updater;
}
export namespace Updater {
export type AsObject = {
enableNotification: boolean,
}
}
}
export class ConfigurationGetRequest extends jspb.Message {
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): ConfigurationGetRequest.AsObject;
static toObject(includeInstance: boolean, msg: ConfigurationGetRequest): ConfigurationGetRequest.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: ConfigurationGetRequest, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): ConfigurationGetRequest;
static deserializeBinaryFromReader(message: ConfigurationGetRequest, reader: jspb.BinaryReader): ConfigurationGetRequest;
}
export namespace ConfigurationGetRequest {
export type AsObject = {
}
}
export class ConfigurationGetResponse extends jspb.Message {
hasConfiguration(): boolean;
clearConfiguration(): void;
getConfiguration(): Configuration | undefined;
setConfiguration(value?: Configuration): ConfigurationGetResponse;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): ConfigurationGetResponse.AsObject;
static toObject(includeInstance: boolean, msg: ConfigurationGetResponse): ConfigurationGetResponse.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: ConfigurationGetResponse, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): ConfigurationGetResponse;
static deserializeBinaryFromReader(message: ConfigurationGetResponse, reader: jspb.BinaryReader): ConfigurationGetResponse;
}
export namespace ConfigurationGetResponse {
export type AsObject = {
configuration?: Configuration.AsObject,
}
}
export class ConfigurationSaveRequest extends jspb.Message {
getSettingsFormat(): string;
setSettingsFormat(value: string): ConfigurationSaveRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): ConfigurationSaveRequest.AsObject;
static toObject(includeInstance: boolean, msg: ConfigurationSaveRequest): ConfigurationSaveRequest.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: ConfigurationSaveRequest, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): ConfigurationSaveRequest;
static deserializeBinaryFromReader(message: ConfigurationSaveRequest, reader: jspb.BinaryReader): ConfigurationSaveRequest;
}
export namespace ConfigurationSaveRequest {
export type AsObject = {
settingsFormat: string,
}
}
export class ConfigurationSaveResponse extends jspb.Message {
getEncodedSettings(): string;
setEncodedSettings(value: string): ConfigurationSaveResponse;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): ConfigurationSaveResponse.AsObject;
static toObject(includeInstance: boolean, msg: ConfigurationSaveResponse): ConfigurationSaveResponse.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: ConfigurationSaveResponse, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): ConfigurationSaveResponse;
static deserializeBinaryFromReader(message: ConfigurationSaveResponse, reader: jspb.BinaryReader): ConfigurationSaveResponse;
}
export namespace ConfigurationSaveResponse {
export type AsObject = {
encodedSettings: string,
}
}
export class ConfigurationOpenRequest extends jspb.Message {
getEncodedSettings(): string;
setEncodedSettings(value: string): ConfigurationOpenRequest;
getSettingsFormat(): string;
setSettingsFormat(value: string): ConfigurationOpenRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): ConfigurationOpenRequest.AsObject;
static toObject(includeInstance: boolean, msg: ConfigurationOpenRequest): ConfigurationOpenRequest.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: ConfigurationOpenRequest, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): ConfigurationOpenRequest;
static deserializeBinaryFromReader(message: ConfigurationOpenRequest, reader: jspb.BinaryReader): ConfigurationOpenRequest;
}
export namespace ConfigurationOpenRequest {
export type AsObject = {
encodedSettings: string,
settingsFormat: string,
}
}
export class ConfigurationOpenResponse extends jspb.Message {
clearWarningsList(): void;
getWarningsList(): Array<string>;
setWarningsList(value: Array<string>): ConfigurationOpenResponse;
addWarnings(value: string, index?: number): string;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): ConfigurationOpenResponse.AsObject;
static toObject(includeInstance: boolean, msg: ConfigurationOpenResponse): ConfigurationOpenResponse.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: ConfigurationOpenResponse, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): ConfigurationOpenResponse;
static deserializeBinaryFromReader(message: ConfigurationOpenResponse, reader: jspb.BinaryReader): ConfigurationOpenResponse;
}
export namespace ConfigurationOpenResponse {
export type AsObject = {
warningsList: Array<string>,
}
}
export class SettingsGetValueRequest extends jspb.Message {
getKey(): string;
setKey(value: string): SettingsGetValueRequest;
getValueFormat(): string;
setValueFormat(value: string): SettingsGetValueRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): SettingsGetValueRequest.AsObject;
static toObject(includeInstance: boolean, msg: SettingsGetValueRequest): SettingsGetValueRequest.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: SettingsGetValueRequest, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): SettingsGetValueRequest;
static deserializeBinaryFromReader(message: SettingsGetValueRequest, reader: jspb.BinaryReader): SettingsGetValueRequest;
}
export namespace SettingsGetValueRequest {
export type AsObject = {
key: string,
valueFormat: string,
}
}
export class SettingsGetValueResponse extends jspb.Message {
getEncodedValue(): string;
setEncodedValue(value: string): SettingsGetValueResponse;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): SettingsGetValueResponse.AsObject;
static toObject(includeInstance: boolean, msg: SettingsGetValueResponse): SettingsGetValueResponse.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: SettingsGetValueResponse, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): SettingsGetValueResponse;
static deserializeBinaryFromReader(message: SettingsGetValueResponse, reader: jspb.BinaryReader): SettingsGetValueResponse;
}
export namespace SettingsGetValueResponse {
export type AsObject = {
encodedValue: string,
}
}
export class SettingsSetValueRequest extends jspb.Message {
getKey(): string;
setKey(value: string): SettingsSetValueRequest;
getEncodedValue(): string;
setEncodedValue(value: string): SettingsSetValueRequest;
getValueFormat(): string;
setValueFormat(value: string): SettingsSetValueRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): SettingsSetValueRequest.AsObject;
static toObject(includeInstance: boolean, msg: SettingsSetValueRequest): SettingsSetValueRequest.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: SettingsSetValueRequest, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): SettingsSetValueRequest;
static deserializeBinaryFromReader(message: SettingsSetValueRequest, reader: jspb.BinaryReader): SettingsSetValueRequest;
}
export namespace SettingsSetValueRequest {
export type AsObject = {
key: string,
encodedValue: string,
valueFormat: string,
}
}
export class SettingsSetValueResponse extends jspb.Message {
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): SettingsSetValueResponse.AsObject;
static toObject(includeInstance: boolean, msg: SettingsSetValueResponse): SettingsSetValueResponse.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: SettingsSetValueResponse, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): SettingsSetValueResponse;
static deserializeBinaryFromReader(message: SettingsSetValueResponse, reader: jspb.BinaryReader): SettingsSetValueResponse;
}
export namespace SettingsSetValueResponse {
export type AsObject = {
}
}
export class SettingsEnumerateRequest extends jspb.Message {
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): SettingsEnumerateRequest.AsObject;
static toObject(includeInstance: boolean, msg: SettingsEnumerateRequest): SettingsEnumerateRequest.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: SettingsEnumerateRequest, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): SettingsEnumerateRequest;
static deserializeBinaryFromReader(message: SettingsEnumerateRequest, reader: jspb.BinaryReader): SettingsEnumerateRequest;
}
export namespace SettingsEnumerateRequest {
export type AsObject = {
}
}
export class SettingsEnumerateResponse extends jspb.Message {
clearEntriesList(): void;
getEntriesList(): Array<SettingsEnumerateResponse.Entry>;
setEntriesList(value: Array<SettingsEnumerateResponse.Entry>): SettingsEnumerateResponse;
addEntries(value?: SettingsEnumerateResponse.Entry, index?: number): SettingsEnumerateResponse.Entry;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): SettingsEnumerateResponse.AsObject;
static toObject(includeInstance: boolean, msg: SettingsEnumerateResponse): SettingsEnumerateResponse.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: SettingsEnumerateResponse, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): SettingsEnumerateResponse;
static deserializeBinaryFromReader(message: SettingsEnumerateResponse, reader: jspb.BinaryReader): SettingsEnumerateResponse;
}
export namespace SettingsEnumerateResponse {
export type AsObject = {
entriesList: Array<SettingsEnumerateResponse.Entry.AsObject>,
}
export class Entry extends jspb.Message {
getKey(): string;
setKey(value: string): Entry;
getType(): string;
setType(value: string): Entry;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Entry.AsObject;
static toObject(includeInstance: boolean, msg: Entry): Entry.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: Entry, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): Entry;
static deserializeBinaryFromReader(message: Entry, reader: jspb.BinaryReader): Entry;
}
export namespace Entry {
export type AsObject = {
key: string,
type: string,
}
}
}

View File

@@ -214,23 +214,15 @@ export namespace UploadUsingProgrammerRequest {
}
export class UploadUsingProgrammerResponse extends jspb.Message {
hasOutStream(): boolean;
clearOutStream(): void;
getOutStream(): Uint8Array | string;
getOutStream_asU8(): Uint8Array;
getOutStream_asB64(): string;
setOutStream(value: Uint8Array | string): UploadUsingProgrammerResponse;
hasErrStream(): boolean;
clearErrStream(): void;
getErrStream(): Uint8Array | string;
getErrStream_asU8(): Uint8Array;
getErrStream_asB64(): string;
setErrStream(value: Uint8Array | string): UploadUsingProgrammerResponse;
getMessageCase(): UploadUsingProgrammerResponse.MessageCase;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): UploadUsingProgrammerResponse.AsObject;
static toObject(includeInstance: boolean, msg: UploadUsingProgrammerResponse): UploadUsingProgrammerResponse.AsObject;
@@ -246,13 +238,6 @@ export namespace UploadUsingProgrammerResponse {
outStream: Uint8Array | string,
errStream: Uint8Array | string,
}
export enum MessageCase {
MESSAGE_NOT_SET = 0,
OUT_STREAM = 1,
ERR_STREAM = 2,
}
}
export class BurnBootloaderRequest extends jspb.Message {
@@ -305,23 +290,15 @@ export namespace BurnBootloaderRequest {
}
export class BurnBootloaderResponse extends jspb.Message {
hasOutStream(): boolean;
clearOutStream(): void;
getOutStream(): Uint8Array | string;
getOutStream_asU8(): Uint8Array;
getOutStream_asB64(): string;
setOutStream(value: Uint8Array | string): BurnBootloaderResponse;
hasErrStream(): boolean;
clearErrStream(): void;
getErrStream(): Uint8Array | string;
getErrStream_asU8(): Uint8Array;
getErrStream_asB64(): string;
setErrStream(value: Uint8Array | string): BurnBootloaderResponse;
getMessageCase(): BurnBootloaderResponse.MessageCase;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): BurnBootloaderResponse.AsObject;
static toObject(includeInstance: boolean, msg: BurnBootloaderResponse): BurnBootloaderResponse.AsObject;
@@ -337,13 +314,6 @@ export namespace BurnBootloaderResponse {
outStream: Uint8Array | string,
errStream: Uint8Array | string,
}
export enum MessageCase {
MESSAGE_NOT_SET = 0,
OUT_STREAM = 1,
ERR_STREAM = 2,
}
}
export class ListProgrammersAvailableForUploadRequest extends jspb.Message {

View File

@@ -27,7 +27,6 @@ var cc_arduino_cli_commands_v1_port_pb = require('../../../../../cc/arduino/cli/
goog.object.extend(proto, cc_arduino_cli_commands_v1_port_pb);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.MessageCase', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ProgrammerIsRequiredForUploadError', null, global);
@@ -39,7 +38,6 @@ goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UploadResponse.MessageCase',
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UploadResult', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.MessageCase', null, global);
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UserField', null, global);
/**
* Generated by JsPbCodeGenerator.
@@ -157,7 +155,7 @@ if (goog.DEBUG && !COMPILED) {
* @constructor
*/
proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse = function(opt_data) {
jspb.Message.initialize(this, opt_data, 0, -1, null, proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.oneofGroups_);
jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
@@ -199,7 +197,7 @@ if (goog.DEBUG && !COMPILED) {
* @constructor
*/
proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse = function(opt_data) {
jspb.Message.initialize(this, opt_data, 0, -1, null, proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.oneofGroups_);
jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
@@ -1839,32 +1837,6 @@ proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest.prototype.clearUse
/**
* Oneof group definitions for this message. Each group defines the field
* numbers belonging to that group. When of these fields' value is set, all
* other fields in the group are cleared. During deserialization, if multiple
* fields are encountered for a group, only the last value seen will be kept.
* @private {!Array<!Array<number>>}
* @const
*/
proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.oneofGroups_ = [[1,2]];
/**
* @enum {number}
*/
proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.MessageCase = {
MESSAGE_NOT_SET: 0,
OUT_STREAM: 1,
ERR_STREAM: 2
};
/**
* @return {proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.MessageCase}
*/
proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.prototype.getMessageCase = function() {
return /** @type {proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.MessageCase} */(jspb.Message.computeOneofCase(this, proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.oneofGroups_[0]));
};
if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -1971,15 +1943,15 @@ proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.prototype.seriali
*/
proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.serializeBinaryToWriter = function(message, writer) {
var f = undefined;
f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1));
if (f != null) {
f = message.getOutStream_asU8();
if (f.length > 0) {
writer.writeBytes(
1,
f
);
}
f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
if (f != null) {
f = message.getErrStream_asU8();
if (f.length > 0) {
writer.writeBytes(
2,
f
@@ -2026,25 +1998,7 @@ proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.prototype.getOutS
* @return {!proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse} returns this
*/
proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.prototype.setOutStream = function(value) {
return jspb.Message.setOneofField(this, 1, proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.oneofGroups_[0], value);
};
/**
* Clears the field making it undefined.
* @return {!proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse} returns this
*/
proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.prototype.clearOutStream = function() {
return jspb.Message.setOneofField(this, 1, proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.oneofGroups_[0], undefined);
};
/**
* Returns whether this field is set.
* @return {boolean}
*/
proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.prototype.hasOutStream = function() {
return jspb.Message.getField(this, 1) != null;
return jspb.Message.setProto3BytesField(this, 1, value);
};
@@ -2086,25 +2040,7 @@ proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.prototype.getErrS
* @return {!proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse} returns this
*/
proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.prototype.setErrStream = function(value) {
return jspb.Message.setOneofField(this, 2, proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.oneofGroups_[0], value);
};
/**
* Clears the field making it undefined.
* @return {!proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse} returns this
*/
proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.prototype.clearErrStream = function() {
return jspb.Message.setOneofField(this, 2, proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.oneofGroups_[0], undefined);
};
/**
* Returns whether this field is set.
* @return {boolean}
*/
proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.prototype.hasErrStream = function() {
return jspb.Message.getField(this, 2) != null;
return jspb.Message.setProto3BytesField(this, 2, value);
};
@@ -2494,32 +2430,6 @@ proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest.prototype.clearUserFields
/**
* Oneof group definitions for this message. Each group defines the field
* numbers belonging to that group. When of these fields' value is set, all
* other fields in the group are cleared. During deserialization, if multiple
* fields are encountered for a group, only the last value seen will be kept.
* @private {!Array<!Array<number>>}
* @const
*/
proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.oneofGroups_ = [[1,2]];
/**
* @enum {number}
*/
proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.MessageCase = {
MESSAGE_NOT_SET: 0,
OUT_STREAM: 1,
ERR_STREAM: 2
};
/**
* @return {proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.MessageCase}
*/
proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.prototype.getMessageCase = function() {
return /** @type {proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.MessageCase} */(jspb.Message.computeOneofCase(this, proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.oneofGroups_[0]));
};
if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -2626,15 +2536,15 @@ proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.prototype.serializeBinar
*/
proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.serializeBinaryToWriter = function(message, writer) {
var f = undefined;
f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 1));
if (f != null) {
f = message.getOutStream_asU8();
if (f.length > 0) {
writer.writeBytes(
1,
f
);
}
f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 2));
if (f != null) {
f = message.getErrStream_asU8();
if (f.length > 0) {
writer.writeBytes(
2,
f
@@ -2681,25 +2591,7 @@ proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.prototype.getOutStream_a
* @return {!proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse} returns this
*/
proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.prototype.setOutStream = function(value) {
return jspb.Message.setOneofField(this, 1, proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.oneofGroups_[0], value);
};
/**
* Clears the field making it undefined.
* @return {!proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse} returns this
*/
proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.prototype.clearOutStream = function() {
return jspb.Message.setOneofField(this, 1, proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.oneofGroups_[0], undefined);
};
/**
* Returns whether this field is set.
* @return {boolean}
*/
proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.prototype.hasOutStream = function() {
return jspb.Message.getField(this, 1) != null;
return jspb.Message.setProto3BytesField(this, 1, value);
};
@@ -2741,25 +2633,7 @@ proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.prototype.getErrStream_a
* @return {!proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse} returns this
*/
proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.prototype.setErrStream = function(value) {
return jspb.Message.setOneofField(this, 2, proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.oneofGroups_[0], value);
};
/**
* Clears the field making it undefined.
* @return {!proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse} returns this
*/
proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.prototype.clearErrStream = function() {
return jspb.Message.setOneofField(this, 2, proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.oneofGroups_[0], undefined);
};
/**
* Returns whether this field is set.
* @return {boolean}
*/
proto.cc.arduino.cli.commands.v1.BurnBootloaderResponse.prototype.hasErrStream = function() {
return jspb.Message.getField(this, 2) != null;
return jspb.Message.setProto3BytesField(this, 2, value);
};

View File

@@ -0,0 +1,126 @@
// package: cc.arduino.cli.settings.v1
// file: cc/arduino/cli/settings/v1/settings.proto
/* tslint:disable */
/* eslint-disable */
import * as grpc from "@grpc/grpc-js";
import * as cc_arduino_cli_settings_v1_settings_pb from "../../../../../cc/arduino/cli/settings/v1/settings_pb";
interface ISettingsServiceService extends grpc.ServiceDefinition<grpc.UntypedServiceImplementation> {
getAll: ISettingsServiceService_IGetAll;
merge: ISettingsServiceService_IMerge;
getValue: ISettingsServiceService_IGetValue;
setValue: ISettingsServiceService_ISetValue;
write: ISettingsServiceService_IWrite;
delete: ISettingsServiceService_IDelete;
}
interface ISettingsServiceService_IGetAll extends grpc.MethodDefinition<cc_arduino_cli_settings_v1_settings_pb.GetAllRequest, cc_arduino_cli_settings_v1_settings_pb.GetAllResponse> {
path: "/cc.arduino.cli.settings.v1.SettingsService/GetAll";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<cc_arduino_cli_settings_v1_settings_pb.GetAllRequest>;
requestDeserialize: grpc.deserialize<cc_arduino_cli_settings_v1_settings_pb.GetAllRequest>;
responseSerialize: grpc.serialize<cc_arduino_cli_settings_v1_settings_pb.GetAllResponse>;
responseDeserialize: grpc.deserialize<cc_arduino_cli_settings_v1_settings_pb.GetAllResponse>;
}
interface ISettingsServiceService_IMerge extends grpc.MethodDefinition<cc_arduino_cli_settings_v1_settings_pb.MergeRequest, cc_arduino_cli_settings_v1_settings_pb.MergeResponse> {
path: "/cc.arduino.cli.settings.v1.SettingsService/Merge";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<cc_arduino_cli_settings_v1_settings_pb.MergeRequest>;
requestDeserialize: grpc.deserialize<cc_arduino_cli_settings_v1_settings_pb.MergeRequest>;
responseSerialize: grpc.serialize<cc_arduino_cli_settings_v1_settings_pb.MergeResponse>;
responseDeserialize: grpc.deserialize<cc_arduino_cli_settings_v1_settings_pb.MergeResponse>;
}
interface ISettingsServiceService_IGetValue extends grpc.MethodDefinition<cc_arduino_cli_settings_v1_settings_pb.GetValueRequest, cc_arduino_cli_settings_v1_settings_pb.GetValueResponse> {
path: "/cc.arduino.cli.settings.v1.SettingsService/GetValue";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<cc_arduino_cli_settings_v1_settings_pb.GetValueRequest>;
requestDeserialize: grpc.deserialize<cc_arduino_cli_settings_v1_settings_pb.GetValueRequest>;
responseSerialize: grpc.serialize<cc_arduino_cli_settings_v1_settings_pb.GetValueResponse>;
responseDeserialize: grpc.deserialize<cc_arduino_cli_settings_v1_settings_pb.GetValueResponse>;
}
interface ISettingsServiceService_ISetValue extends grpc.MethodDefinition<cc_arduino_cli_settings_v1_settings_pb.SetValueRequest, cc_arduino_cli_settings_v1_settings_pb.SetValueResponse> {
path: "/cc.arduino.cli.settings.v1.SettingsService/SetValue";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<cc_arduino_cli_settings_v1_settings_pb.SetValueRequest>;
requestDeserialize: grpc.deserialize<cc_arduino_cli_settings_v1_settings_pb.SetValueRequest>;
responseSerialize: grpc.serialize<cc_arduino_cli_settings_v1_settings_pb.SetValueResponse>;
responseDeserialize: grpc.deserialize<cc_arduino_cli_settings_v1_settings_pb.SetValueResponse>;
}
interface ISettingsServiceService_IWrite extends grpc.MethodDefinition<cc_arduino_cli_settings_v1_settings_pb.WriteRequest, cc_arduino_cli_settings_v1_settings_pb.WriteResponse> {
path: "/cc.arduino.cli.settings.v1.SettingsService/Write";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<cc_arduino_cli_settings_v1_settings_pb.WriteRequest>;
requestDeserialize: grpc.deserialize<cc_arduino_cli_settings_v1_settings_pb.WriteRequest>;
responseSerialize: grpc.serialize<cc_arduino_cli_settings_v1_settings_pb.WriteResponse>;
responseDeserialize: grpc.deserialize<cc_arduino_cli_settings_v1_settings_pb.WriteResponse>;
}
interface ISettingsServiceService_IDelete extends grpc.MethodDefinition<cc_arduino_cli_settings_v1_settings_pb.DeleteRequest, cc_arduino_cli_settings_v1_settings_pb.DeleteResponse> {
path: "/cc.arduino.cli.settings.v1.SettingsService/Delete";
requestStream: false;
responseStream: false;
requestSerialize: grpc.serialize<cc_arduino_cli_settings_v1_settings_pb.DeleteRequest>;
requestDeserialize: grpc.deserialize<cc_arduino_cli_settings_v1_settings_pb.DeleteRequest>;
responseSerialize: grpc.serialize<cc_arduino_cli_settings_v1_settings_pb.DeleteResponse>;
responseDeserialize: grpc.deserialize<cc_arduino_cli_settings_v1_settings_pb.DeleteResponse>;
}
export const SettingsServiceService: ISettingsServiceService;
export interface ISettingsServiceServer extends grpc.UntypedServiceImplementation {
getAll: grpc.handleUnaryCall<cc_arduino_cli_settings_v1_settings_pb.GetAllRequest, cc_arduino_cli_settings_v1_settings_pb.GetAllResponse>;
merge: grpc.handleUnaryCall<cc_arduino_cli_settings_v1_settings_pb.MergeRequest, cc_arduino_cli_settings_v1_settings_pb.MergeResponse>;
getValue: grpc.handleUnaryCall<cc_arduino_cli_settings_v1_settings_pb.GetValueRequest, cc_arduino_cli_settings_v1_settings_pb.GetValueResponse>;
setValue: grpc.handleUnaryCall<cc_arduino_cli_settings_v1_settings_pb.SetValueRequest, cc_arduino_cli_settings_v1_settings_pb.SetValueResponse>;
write: grpc.handleUnaryCall<cc_arduino_cli_settings_v1_settings_pb.WriteRequest, cc_arduino_cli_settings_v1_settings_pb.WriteResponse>;
delete: grpc.handleUnaryCall<cc_arduino_cli_settings_v1_settings_pb.DeleteRequest, cc_arduino_cli_settings_v1_settings_pb.DeleteResponse>;
}
export interface ISettingsServiceClient {
getAll(request: cc_arduino_cli_settings_v1_settings_pb.GetAllRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.GetAllResponse) => void): grpc.ClientUnaryCall;
getAll(request: cc_arduino_cli_settings_v1_settings_pb.GetAllRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.GetAllResponse) => void): grpc.ClientUnaryCall;
getAll(request: cc_arduino_cli_settings_v1_settings_pb.GetAllRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.GetAllResponse) => void): grpc.ClientUnaryCall;
merge(request: cc_arduino_cli_settings_v1_settings_pb.MergeRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.MergeResponse) => void): grpc.ClientUnaryCall;
merge(request: cc_arduino_cli_settings_v1_settings_pb.MergeRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.MergeResponse) => void): grpc.ClientUnaryCall;
merge(request: cc_arduino_cli_settings_v1_settings_pb.MergeRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.MergeResponse) => void): grpc.ClientUnaryCall;
getValue(request: cc_arduino_cli_settings_v1_settings_pb.GetValueRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.GetValueResponse) => void): grpc.ClientUnaryCall;
getValue(request: cc_arduino_cli_settings_v1_settings_pb.GetValueRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.GetValueResponse) => void): grpc.ClientUnaryCall;
getValue(request: cc_arduino_cli_settings_v1_settings_pb.GetValueRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.GetValueResponse) => void): grpc.ClientUnaryCall;
setValue(request: cc_arduino_cli_settings_v1_settings_pb.SetValueRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.SetValueResponse) => void): grpc.ClientUnaryCall;
setValue(request: cc_arduino_cli_settings_v1_settings_pb.SetValueRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.SetValueResponse) => void): grpc.ClientUnaryCall;
setValue(request: cc_arduino_cli_settings_v1_settings_pb.SetValueRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.SetValueResponse) => void): grpc.ClientUnaryCall;
write(request: cc_arduino_cli_settings_v1_settings_pb.WriteRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.WriteResponse) => void): grpc.ClientUnaryCall;
write(request: cc_arduino_cli_settings_v1_settings_pb.WriteRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.WriteResponse) => void): grpc.ClientUnaryCall;
write(request: cc_arduino_cli_settings_v1_settings_pb.WriteRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.WriteResponse) => void): grpc.ClientUnaryCall;
delete(request: cc_arduino_cli_settings_v1_settings_pb.DeleteRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.DeleteResponse) => void): grpc.ClientUnaryCall;
delete(request: cc_arduino_cli_settings_v1_settings_pb.DeleteRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.DeleteResponse) => void): grpc.ClientUnaryCall;
delete(request: cc_arduino_cli_settings_v1_settings_pb.DeleteRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.DeleteResponse) => void): grpc.ClientUnaryCall;
}
export class SettingsServiceClient extends grpc.Client implements ISettingsServiceClient {
constructor(address: string, credentials: grpc.ChannelCredentials, options?: Partial<grpc.ClientOptions>);
public getAll(request: cc_arduino_cli_settings_v1_settings_pb.GetAllRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.GetAllResponse) => void): grpc.ClientUnaryCall;
public getAll(request: cc_arduino_cli_settings_v1_settings_pb.GetAllRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.GetAllResponse) => void): grpc.ClientUnaryCall;
public getAll(request: cc_arduino_cli_settings_v1_settings_pb.GetAllRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.GetAllResponse) => void): grpc.ClientUnaryCall;
public merge(request: cc_arduino_cli_settings_v1_settings_pb.MergeRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.MergeResponse) => void): grpc.ClientUnaryCall;
public merge(request: cc_arduino_cli_settings_v1_settings_pb.MergeRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.MergeResponse) => void): grpc.ClientUnaryCall;
public merge(request: cc_arduino_cli_settings_v1_settings_pb.MergeRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.MergeResponse) => void): grpc.ClientUnaryCall;
public getValue(request: cc_arduino_cli_settings_v1_settings_pb.GetValueRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.GetValueResponse) => void): grpc.ClientUnaryCall;
public getValue(request: cc_arduino_cli_settings_v1_settings_pb.GetValueRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.GetValueResponse) => void): grpc.ClientUnaryCall;
public getValue(request: cc_arduino_cli_settings_v1_settings_pb.GetValueRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.GetValueResponse) => void): grpc.ClientUnaryCall;
public setValue(request: cc_arduino_cli_settings_v1_settings_pb.SetValueRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.SetValueResponse) => void): grpc.ClientUnaryCall;
public setValue(request: cc_arduino_cli_settings_v1_settings_pb.SetValueRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.SetValueResponse) => void): grpc.ClientUnaryCall;
public setValue(request: cc_arduino_cli_settings_v1_settings_pb.SetValueRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.SetValueResponse) => void): grpc.ClientUnaryCall;
public write(request: cc_arduino_cli_settings_v1_settings_pb.WriteRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.WriteResponse) => void): grpc.ClientUnaryCall;
public write(request: cc_arduino_cli_settings_v1_settings_pb.WriteRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.WriteResponse) => void): grpc.ClientUnaryCall;
public write(request: cc_arduino_cli_settings_v1_settings_pb.WriteRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.WriteResponse) => void): grpc.ClientUnaryCall;
public delete(request: cc_arduino_cli_settings_v1_settings_pb.DeleteRequest, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.DeleteResponse) => void): grpc.ClientUnaryCall;
public delete(request: cc_arduino_cli_settings_v1_settings_pb.DeleteRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.DeleteResponse) => void): grpc.ClientUnaryCall;
public delete(request: cc_arduino_cli_settings_v1_settings_pb.DeleteRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cc_arduino_cli_settings_v1_settings_pb.DeleteResponse) => void): grpc.ClientUnaryCall;
}

View File

@@ -0,0 +1,231 @@
// GENERATED CODE -- DO NOT EDIT!
// Original file comments:
// This file is part of arduino-cli.
//
// Copyright 2020 ARDUINO SA (http://www.arduino.cc/)
//
// This software is released under the GNU General Public License version 3,
// which covers the main part of arduino-cli.
// The terms of this license can be found at:
// https://www.gnu.org/licenses/gpl-3.0.en.html
//
// You can be released from the requirements of the above licenses by purchasing
// a commercial license. Buying such a license is mandatory if you want to
// modify or otherwise use the software for commercial activities involving the
// Arduino software without disclosing the source code of your own applications.
// To purchase a commercial license, send an email to license@arduino.cc.
//
'use strict';
var cc_arduino_cli_settings_v1_settings_pb = require('../../../../../cc/arduino/cli/settings/v1/settings_pb.js');
function serialize_cc_arduino_cli_settings_v1_DeleteRequest(arg) {
if (!(arg instanceof cc_arduino_cli_settings_v1_settings_pb.DeleteRequest)) {
throw new Error('Expected argument of type cc.arduino.cli.settings.v1.DeleteRequest');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_settings_v1_DeleteRequest(buffer_arg) {
return cc_arduino_cli_settings_v1_settings_pb.DeleteRequest.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_settings_v1_DeleteResponse(arg) {
if (!(arg instanceof cc_arduino_cli_settings_v1_settings_pb.DeleteResponse)) {
throw new Error('Expected argument of type cc.arduino.cli.settings.v1.DeleteResponse');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_settings_v1_DeleteResponse(buffer_arg) {
return cc_arduino_cli_settings_v1_settings_pb.DeleteResponse.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_settings_v1_GetAllRequest(arg) {
if (!(arg instanceof cc_arduino_cli_settings_v1_settings_pb.GetAllRequest)) {
throw new Error('Expected argument of type cc.arduino.cli.settings.v1.GetAllRequest');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_settings_v1_GetAllRequest(buffer_arg) {
return cc_arduino_cli_settings_v1_settings_pb.GetAllRequest.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_settings_v1_GetAllResponse(arg) {
if (!(arg instanceof cc_arduino_cli_settings_v1_settings_pb.GetAllResponse)) {
throw new Error('Expected argument of type cc.arduino.cli.settings.v1.GetAllResponse');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_settings_v1_GetAllResponse(buffer_arg) {
return cc_arduino_cli_settings_v1_settings_pb.GetAllResponse.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_settings_v1_GetValueRequest(arg) {
if (!(arg instanceof cc_arduino_cli_settings_v1_settings_pb.GetValueRequest)) {
throw new Error('Expected argument of type cc.arduino.cli.settings.v1.GetValueRequest');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_settings_v1_GetValueRequest(buffer_arg) {
return cc_arduino_cli_settings_v1_settings_pb.GetValueRequest.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_settings_v1_GetValueResponse(arg) {
if (!(arg instanceof cc_arduino_cli_settings_v1_settings_pb.GetValueResponse)) {
throw new Error('Expected argument of type cc.arduino.cli.settings.v1.GetValueResponse');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_settings_v1_GetValueResponse(buffer_arg) {
return cc_arduino_cli_settings_v1_settings_pb.GetValueResponse.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_settings_v1_MergeRequest(arg) {
if (!(arg instanceof cc_arduino_cli_settings_v1_settings_pb.MergeRequest)) {
throw new Error('Expected argument of type cc.arduino.cli.settings.v1.MergeRequest');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_settings_v1_MergeRequest(buffer_arg) {
return cc_arduino_cli_settings_v1_settings_pb.MergeRequest.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_settings_v1_MergeResponse(arg) {
if (!(arg instanceof cc_arduino_cli_settings_v1_settings_pb.MergeResponse)) {
throw new Error('Expected argument of type cc.arduino.cli.settings.v1.MergeResponse');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_settings_v1_MergeResponse(buffer_arg) {
return cc_arduino_cli_settings_v1_settings_pb.MergeResponse.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_settings_v1_SetValueRequest(arg) {
if (!(arg instanceof cc_arduino_cli_settings_v1_settings_pb.SetValueRequest)) {
throw new Error('Expected argument of type cc.arduino.cli.settings.v1.SetValueRequest');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_settings_v1_SetValueRequest(buffer_arg) {
return cc_arduino_cli_settings_v1_settings_pb.SetValueRequest.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_settings_v1_SetValueResponse(arg) {
if (!(arg instanceof cc_arduino_cli_settings_v1_settings_pb.SetValueResponse)) {
throw new Error('Expected argument of type cc.arduino.cli.settings.v1.SetValueResponse');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_settings_v1_SetValueResponse(buffer_arg) {
return cc_arduino_cli_settings_v1_settings_pb.SetValueResponse.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_settings_v1_WriteRequest(arg) {
if (!(arg instanceof cc_arduino_cli_settings_v1_settings_pb.WriteRequest)) {
throw new Error('Expected argument of type cc.arduino.cli.settings.v1.WriteRequest');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_settings_v1_WriteRequest(buffer_arg) {
return cc_arduino_cli_settings_v1_settings_pb.WriteRequest.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_cc_arduino_cli_settings_v1_WriteResponse(arg) {
if (!(arg instanceof cc_arduino_cli_settings_v1_settings_pb.WriteResponse)) {
throw new Error('Expected argument of type cc.arduino.cli.settings.v1.WriteResponse');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_cc_arduino_cli_settings_v1_WriteResponse(buffer_arg) {
return cc_arduino_cli_settings_v1_settings_pb.WriteResponse.deserializeBinary(new Uint8Array(buffer_arg));
}
// The SettingsService provides an interface to Arduino CLI configuration
// options
var SettingsServiceService = exports['cc.arduino.cli.settings.v1.SettingsService'] = {
// List all the settings.
getAll: {
path: '/cc.arduino.cli.settings.v1.SettingsService/GetAll',
requestStream: false,
responseStream: false,
requestType: cc_arduino_cli_settings_v1_settings_pb.GetAllRequest,
responseType: cc_arduino_cli_settings_v1_settings_pb.GetAllResponse,
requestSerialize: serialize_cc_arduino_cli_settings_v1_GetAllRequest,
requestDeserialize: deserialize_cc_arduino_cli_settings_v1_GetAllRequest,
responseSerialize: serialize_cc_arduino_cli_settings_v1_GetAllResponse,
responseDeserialize: deserialize_cc_arduino_cli_settings_v1_GetAllResponse,
},
// Set multiple settings values at once.
merge: {
path: '/cc.arduino.cli.settings.v1.SettingsService/Merge',
requestStream: false,
responseStream: false,
requestType: cc_arduino_cli_settings_v1_settings_pb.MergeRequest,
responseType: cc_arduino_cli_settings_v1_settings_pb.MergeResponse,
requestSerialize: serialize_cc_arduino_cli_settings_v1_MergeRequest,
requestDeserialize: deserialize_cc_arduino_cli_settings_v1_MergeRequest,
responseSerialize: serialize_cc_arduino_cli_settings_v1_MergeResponse,
responseDeserialize: deserialize_cc_arduino_cli_settings_v1_MergeResponse,
},
// Get the value of a specific setting.
getValue: {
path: '/cc.arduino.cli.settings.v1.SettingsService/GetValue',
requestStream: false,
responseStream: false,
requestType: cc_arduino_cli_settings_v1_settings_pb.GetValueRequest,
responseType: cc_arduino_cli_settings_v1_settings_pb.GetValueResponse,
requestSerialize: serialize_cc_arduino_cli_settings_v1_GetValueRequest,
requestDeserialize: deserialize_cc_arduino_cli_settings_v1_GetValueRequest,
responseSerialize: serialize_cc_arduino_cli_settings_v1_GetValueResponse,
responseDeserialize: deserialize_cc_arduino_cli_settings_v1_GetValueResponse,
},
// Set the value of a specific setting.
setValue: {
path: '/cc.arduino.cli.settings.v1.SettingsService/SetValue',
requestStream: false,
responseStream: false,
requestType: cc_arduino_cli_settings_v1_settings_pb.SetValueRequest,
responseType: cc_arduino_cli_settings_v1_settings_pb.SetValueResponse,
requestSerialize: serialize_cc_arduino_cli_settings_v1_SetValueRequest,
requestDeserialize: deserialize_cc_arduino_cli_settings_v1_SetValueRequest,
responseSerialize: serialize_cc_arduino_cli_settings_v1_SetValueResponse,
responseDeserialize: deserialize_cc_arduino_cli_settings_v1_SetValueResponse,
},
// Writes to file settings currently stored in memory
write: {
path: '/cc.arduino.cli.settings.v1.SettingsService/Write',
requestStream: false,
responseStream: false,
requestType: cc_arduino_cli_settings_v1_settings_pb.WriteRequest,
responseType: cc_arduino_cli_settings_v1_settings_pb.WriteResponse,
requestSerialize: serialize_cc_arduino_cli_settings_v1_WriteRequest,
requestDeserialize: deserialize_cc_arduino_cli_settings_v1_WriteRequest,
responseSerialize: serialize_cc_arduino_cli_settings_v1_WriteResponse,
responseDeserialize: deserialize_cc_arduino_cli_settings_v1_WriteResponse,
},
// Deletes an entry and rewrites the file settings
delete: {
path: '/cc.arduino.cli.settings.v1.SettingsService/Delete',
requestStream: false,
responseStream: false,
requestType: cc_arduino_cli_settings_v1_settings_pb.DeleteRequest,
responseType: cc_arduino_cli_settings_v1_settings_pb.DeleteResponse,
requestSerialize: serialize_cc_arduino_cli_settings_v1_DeleteRequest,
requestDeserialize: deserialize_cc_arduino_cli_settings_v1_DeleteRequest,
responseSerialize: serialize_cc_arduino_cli_settings_v1_DeleteResponse,
responseDeserialize: deserialize_cc_arduino_cli_settings_v1_DeleteResponse,
},
};

View File

@@ -0,0 +1,238 @@
// package: cc.arduino.cli.settings.v1
// file: cc/arduino/cli/settings/v1/settings.proto
/* tslint:disable */
/* eslint-disable */
import * as jspb from "google-protobuf";
export class GetAllResponse extends jspb.Message {
getJsonData(): string;
setJsonData(value: string): GetAllResponse;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): GetAllResponse.AsObject;
static toObject(includeInstance: boolean, msg: GetAllResponse): GetAllResponse.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: GetAllResponse, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): GetAllResponse;
static deserializeBinaryFromReader(message: GetAllResponse, reader: jspb.BinaryReader): GetAllResponse;
}
export namespace GetAllResponse {
export type AsObject = {
jsonData: string,
}
}
export class MergeRequest extends jspb.Message {
getJsonData(): string;
setJsonData(value: string): MergeRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): MergeRequest.AsObject;
static toObject(includeInstance: boolean, msg: MergeRequest): MergeRequest.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: MergeRequest, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): MergeRequest;
static deserializeBinaryFromReader(message: MergeRequest, reader: jspb.BinaryReader): MergeRequest;
}
export namespace MergeRequest {
export type AsObject = {
jsonData: string,
}
}
export class GetValueResponse extends jspb.Message {
getKey(): string;
setKey(value: string): GetValueResponse;
getJsonData(): string;
setJsonData(value: string): GetValueResponse;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): GetValueResponse.AsObject;
static toObject(includeInstance: boolean, msg: GetValueResponse): GetValueResponse.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: GetValueResponse, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): GetValueResponse;
static deserializeBinaryFromReader(message: GetValueResponse, reader: jspb.BinaryReader): GetValueResponse;
}
export namespace GetValueResponse {
export type AsObject = {
key: string,
jsonData: string,
}
}
export class SetValueRequest extends jspb.Message {
getKey(): string;
setKey(value: string): SetValueRequest;
getJsonData(): string;
setJsonData(value: string): SetValueRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): SetValueRequest.AsObject;
static toObject(includeInstance: boolean, msg: SetValueRequest): SetValueRequest.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: SetValueRequest, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): SetValueRequest;
static deserializeBinaryFromReader(message: SetValueRequest, reader: jspb.BinaryReader): SetValueRequest;
}
export namespace SetValueRequest {
export type AsObject = {
key: string,
jsonData: string,
}
}
export class GetAllRequest extends jspb.Message {
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): GetAllRequest.AsObject;
static toObject(includeInstance: boolean, msg: GetAllRequest): GetAllRequest.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: GetAllRequest, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): GetAllRequest;
static deserializeBinaryFromReader(message: GetAllRequest, reader: jspb.BinaryReader): GetAllRequest;
}
export namespace GetAllRequest {
export type AsObject = {
}
}
export class GetValueRequest extends jspb.Message {
getKey(): string;
setKey(value: string): GetValueRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): GetValueRequest.AsObject;
static toObject(includeInstance: boolean, msg: GetValueRequest): GetValueRequest.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: GetValueRequest, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): GetValueRequest;
static deserializeBinaryFromReader(message: GetValueRequest, reader: jspb.BinaryReader): GetValueRequest;
}
export namespace GetValueRequest {
export type AsObject = {
key: string,
}
}
export class MergeResponse extends jspb.Message {
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): MergeResponse.AsObject;
static toObject(includeInstance: boolean, msg: MergeResponse): MergeResponse.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: MergeResponse, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): MergeResponse;
static deserializeBinaryFromReader(message: MergeResponse, reader: jspb.BinaryReader): MergeResponse;
}
export namespace MergeResponse {
export type AsObject = {
}
}
export class SetValueResponse extends jspb.Message {
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): SetValueResponse.AsObject;
static toObject(includeInstance: boolean, msg: SetValueResponse): SetValueResponse.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: SetValueResponse, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): SetValueResponse;
static deserializeBinaryFromReader(message: SetValueResponse, reader: jspb.BinaryReader): SetValueResponse;
}
export namespace SetValueResponse {
export type AsObject = {
}
}
export class WriteRequest extends jspb.Message {
getFilePath(): string;
setFilePath(value: string): WriteRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): WriteRequest.AsObject;
static toObject(includeInstance: boolean, msg: WriteRequest): WriteRequest.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: WriteRequest, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): WriteRequest;
static deserializeBinaryFromReader(message: WriteRequest, reader: jspb.BinaryReader): WriteRequest;
}
export namespace WriteRequest {
export type AsObject = {
filePath: string,
}
}
export class WriteResponse extends jspb.Message {
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): WriteResponse.AsObject;
static toObject(includeInstance: boolean, msg: WriteResponse): WriteResponse.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: WriteResponse, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): WriteResponse;
static deserializeBinaryFromReader(message: WriteResponse, reader: jspb.BinaryReader): WriteResponse;
}
export namespace WriteResponse {
export type AsObject = {
}
}
export class DeleteRequest extends jspb.Message {
getKey(): string;
setKey(value: string): DeleteRequest;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): DeleteRequest.AsObject;
static toObject(includeInstance: boolean, msg: DeleteRequest): DeleteRequest.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: DeleteRequest, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): DeleteRequest;
static deserializeBinaryFromReader(message: DeleteRequest, reader: jspb.BinaryReader): DeleteRequest;
}
export namespace DeleteRequest {
export type AsObject = {
key: string,
}
}
export class DeleteResponse extends jspb.Message {
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): DeleteResponse.AsObject;
static toObject(includeInstance: boolean, msg: DeleteResponse): DeleteResponse.AsObject;
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
static serializeBinaryToWriter(message: DeleteResponse, writer: jspb.BinaryWriter): void;
static deserializeBinary(bytes: Uint8Array): DeleteResponse;
static deserializeBinaryFromReader(message: DeleteResponse, reader: jspb.BinaryReader): DeleteResponse;
}
export namespace DeleteResponse {
export type AsObject = {
}
}

View File

@@ -1,6 +1,7 @@
import { promises as fs } from 'node:fs';
import { dirname } from 'node:path';
import yaml from 'js-yaml';
import * as grpc from '@grpc/grpc-js';
import { injectable, inject, named } from '@theia/core/shared/inversify';
import URI from '@theia/core/lib/common/uri';
import { ILogger } from '@theia/core/lib/common/logger';
@@ -15,17 +16,18 @@ import {
ConfigState,
} from '../common/protocol';
import { spawnCommand } from './exec-util';
import {
MergeRequest,
WriteRequest,
} from './cli-protocol/cc/arduino/cli/settings/v1/settings_pb';
import { SettingsServiceClient } from './cli-protocol/cc/arduino/cli/settings/v1/settings_grpc_pb';
import * as serviceGrpcPb from './cli-protocol/cc/arduino/cli/settings/v1/settings_grpc_pb';
import { ArduinoDaemonImpl } from './arduino-daemon-impl';
import { DefaultCliConfig, CLI_CONFIG, CliConfig } from './cli-config';
import { DefaultCliConfig, CLI_CONFIG } from './cli-config';
import { Deferred } from '@theia/core/lib/common/promise-util';
import { EnvVariablesServer } from '@theia/core/lib/common/env-variables';
import { deepClone, nls } from '@theia/core';
import { ErrnoException } from './utils/errors';
import { createArduinoCoreServiceClient } from './arduino-core-service-client';
import {
ConfigurationSaveRequest,
SettingsSetValueRequest,
} from './cli-protocol/cc/arduino/cli/commands/v1/settings_pb';
const deepmerge = require('deepmerge');
@@ -95,7 +97,7 @@ export class ConfigServiceImpl
};
copyDefaultCliConfig.locale = locale || 'en';
const proxy = Network.stringify(network);
copyDefaultCliConfig.network = proxy ? { proxy } : {}; // must be an empty object to unset the default prop with the `WriteRequest`.
copyDefaultCliConfig.network = { proxy };
// always use the port of the daemon
const port = await this.daemon.getPort();
@@ -180,13 +182,13 @@ export class ConfigServiceImpl
const content = await fs.readFile(cliConfigPath, {
encoding: 'utf8',
});
const model = (yaml.safeLoad(content) || {}) as CliConfig;
const model = (yaml.safeLoad(content) || {}) as DefaultCliConfig;
this.logger.info(`Loaded CLI configuration: ${JSON.stringify(model)}`);
if (model.directories?.data && model.directories?.user) {
if (model.directories.data && model.directories.user) {
this.logger.info(
"'directories.data' and 'directories.user' are set in the CLI configuration model."
);
return model as DefaultCliConfig;
return model;
}
// The CLI can run with partial (missing `port`, `directories`), the IDE2 cannot.
// We merge the default CLI config with the partial user's config.
@@ -217,17 +219,13 @@ export class ConfigServiceImpl
private async getFallbackCliConfig(): Promise<DefaultCliConfig> {
const cliPath = this.daemon.getExecPath();
const [configRaw, directoriesRaw] = await Promise.all([
spawnCommand(cliPath, ['config', 'dump', '--json']),
// Since CLI 1.0, the command `config dump` only returns user-modified values and not default ones.
// directories.user and directories.data are required by IDE2 so we get the default value explicitly.
spawnCommand(cliPath, ['config', 'get', 'directories', '--json']),
const rawJson = await spawnCommand(cliPath, [
'config',
'dump',
'format',
'--json',
]);
const config = JSON.parse(configRaw);
const { user, data } = JSON.parse(directoriesRaw);
return { ...config.config, directories: { user, data } };
return JSON.parse(rawJson);
}
private async initCliConfigTo(fsPathToDir: string): Promise<void> {
@@ -295,65 +293,61 @@ export class ConfigServiceImpl
}
private async updateDaemon(
port: number,
port: string | number,
config: DefaultCliConfig
): Promise<void> {
const client = this.createClient(port);
const req = new MergeRequest();
const json = JSON.stringify(config, null, 2);
req.setJsonData(json);
this.logger.info(`Updating daemon with 'data': ${json}`);
const updatableConfig = {
locale: config.locale,
'directories.user': config.directories.user,
'directories.data': config.directories.data,
'network.proxy': config.network?.proxy,
'board_manager.additional_urls':
config.board_manager?.additional_urls || [],
};
const client = createArduinoCoreServiceClient({ port });
for (const [key, value] of Object.entries(updatableConfig)) {
const req = new SettingsSetValueRequest();
req.setKey(key);
req.setEncodedValue(JSON.stringify(value));
await new Promise<void>((resolve) => {
client.settingsSetValue(req, (error) => {
if (error) {
this.logger.error(
`Could not update config with key: ${key} and value: ${value}`,
error
);
}
resolve();
});
});
}
client.close();
}
private async writeDaemonState(port: number): Promise<void> {
const client = createArduinoCoreServiceClient({ port });
const req = new ConfigurationSaveRequest();
req.setSettingsFormat('yaml');
const configRaw = await new Promise<string>((resolve, reject) => {
client.configurationSave(req, (error, resp) => {
return new Promise<void>((resolve, reject) => {
client.merge(req, (error) => {
try {
if (error) {
reject(error);
return;
}
resolve(resp.getEncodedSettings());
resolve();
} finally {
client.close();
}
});
});
}
private async writeDaemonState(port: string | number): Promise<void> {
const client = this.createClient(port);
const req = new WriteRequest();
const cliConfigUri = await this.getCliConfigFileUri();
const cliConfigPath = FileUri.fsPath(cliConfigUri);
await fs.writeFile(cliConfigPath, configRaw, { encoding: 'utf-8' });
req.setFilePath(cliConfigPath);
return new Promise<void>((resolve, reject) => {
client.write(req, (error) => {
try {
if (error) {
reject(error);
return;
}
resolve();
} finally {
client.close();
}
});
});
}
private createClient(port: string | number): SettingsServiceClient {
// https://github.com/agreatfool/grpc_tools_node_protoc_ts/blob/master/doc/grpcjs_support.md#usage
const SettingsServiceClient = grpc.makeClientConstructor(
// @ts-expect-error: ignore
serviceGrpcPb['cc.arduino.cli.settings.v1.SettingsService'],
'SettingsServiceService'
) as any;
return new SettingsServiceClient(
`localhost:${port}`,
grpc.credentials.createInsecure()
) as SettingsServiceClient;
}
// #1445

View File

@@ -17,6 +17,7 @@ import {
UpdateLibrariesIndexRequest,
UpdateLibrariesIndexResponse,
} from './cli-protocol/cc/arduino/cli/commands/v1/commands_pb';
import * as commandsGrpcPb from './cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb';
import {
IndexType,
IndexUpdateDidCompleteParams,
@@ -42,10 +43,6 @@ import {
} from './grpc-progressible';
import type { DefaultCliConfig } from './cli-config';
import { ServiceError } from './service-error';
import {
createArduinoCoreServiceClient,
createDefaultChannelOptions,
} from './arduino-core-service-client';
@injectable()
export class CoreClientProvider {
@@ -131,9 +128,10 @@ export class CoreClientProvider {
/**
* Encapsulates both the gRPC core client creation (`CreateRequest`) and initialization (`InitRequest`).
*/
private async create(port: number): Promise<CoreClientProvider.Client> {
private async create(port: string): Promise<CoreClientProvider.Client> {
this.closeClient();
const client = await this.createClient(port);
const address = this.address(port);
const client = await this.createClient(address);
this.toDisposeOnCloseClient.pushAll([
Disposable.create(() => client.client.close()),
]);
@@ -197,9 +195,22 @@ export class CoreClientProvider {
return this.toDisposeOnCloseClient.dispose();
}
private async createClient(port: number): Promise<CoreClientProvider.Client> {
const channelOptions = createDefaultChannelOptions(this.version);
const client = createArduinoCoreServiceClient({ port, channelOptions });
private async createClient(
address: string
): Promise<CoreClientProvider.Client> {
// https://github.com/agreatfool/grpc_tools_node_protoc_ts/blob/master/doc/grpcjs_support.md#usage
const ArduinoCoreServiceClient = grpc.makeClientConstructor(
// @ts-expect-error: ignore
commandsGrpcPb['cc.arduino.cli.commands.v1.ArduinoCoreService'],
'ArduinoCoreServiceService'
// eslint-disable-next-line @typescript-eslint/no-explicit-any
) as any;
const client = new ArduinoCoreServiceClient(
address,
grpc.credentials.createInsecure(),
this.channelOptions
) as ArduinoCoreServiceClient;
const instance = await new Promise<Instance>((resolve, reject) => {
client.create(new CreateRequest(), (err, resp) => {
if (err) {
@@ -396,6 +407,18 @@ export class CoreClientProvider {
});
}
private address(port: string): string {
return `localhost:${port}`;
}
private get channelOptions(): Record<string, unknown> {
return {
'grpc.max_send_message_length': 512 * 1024 * 1024,
'grpc.max_receive_message_length': 512 * 1024 * 1024,
'grpc.primary_user_agent': `arduino-ide/${this.version}`,
};
}
private _version: string | undefined;
private get version(): string {
if (this._version) {

View File

@@ -1,59 +1,50 @@
import { type ClientReadableStream } from '@grpc/grpc-js';
import { ApplicationError } from '@theia/core/lib/common/application-error';
import type { CancellationToken } from '@theia/core/lib/common/cancellation';
import { CommandService } from '@theia/core/lib/common/command';
import {
Disposable,
DisposableCollection,
} from '@theia/core/lib/common/disposable';
import { nls } from '@theia/core/lib/common/nls';
import type { Mutable } from '@theia/core/lib/common/types';
import { FileUri } from '@theia/core/lib/node/file-uri';
import { inject, injectable } from '@theia/core/shared/inversify';
import { relative } from 'node:path';
import * as jspb from 'google-protobuf';
import path from 'node:path';
import { BoolValue } from 'google-protobuf/google/protobuf/wrappers_pb';
import type { ClientReadableStream } from '@grpc/grpc-js';
import {
UploadResponse as ApiUploadResponse,
OutputMessage,
Port,
PortIdentifier,
resolveDetectedPort,
} from '../common/protocol';
import {
CompileSummary,
CompilerWarnings,
CoreError,
CoreService,
CoreError,
CompileSummary,
isCompileSummary,
isUploadResponse,
} from '../common/protocol/core-service';
import { ResponseService } from '../common/protocol/response-service';
import { firstToUpperCase, notEmpty } from '../common/utils';
import { BoardDiscovery, createApiPort } from './board-discovery';
import { tryParseError } from './cli-error-parser';
import { ArduinoCoreServiceClient } from './cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb';
import { Instance } from './cli-protocol/cc/arduino/cli/commands/v1/common_pb';
import {
CompileRequest,
CompileResponse,
} from './cli-protocol/cc/arduino/cli/commands/v1/compile_pb';
import { Port as RpcPort } from './cli-protocol/cc/arduino/cli/commands/v1/port_pb';
import { CoreClientAware } from './core-client-provider';
import {
BurnBootloaderRequest,
BurnBootloaderResponse,
ProgrammerIsRequiredForUploadError,
UploadRequest,
UploadResponse,
UploadUsingProgrammerRequest,
UploadUsingProgrammerResponse,
} from './cli-protocol/cc/arduino/cli/commands/v1/upload_pb';
import { CoreClientAware } from './core-client-provider';
import { ExecuteWithProgress, ProgressResponse } from './grpc-progressible';
import { ResponseService } from '../common/protocol/response-service';
import {
resolveDetectedPort,
OutputMessage,
PortIdentifier,
Port,
UploadResponse as ApiUploadResponse,
} from '../common/protocol';
import { ArduinoCoreServiceClient } from './cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb';
import { Port as RpcPort } from './cli-protocol/cc/arduino/cli/commands/v1/port_pb';
import { ApplicationError, CommandService, Disposable, nls } from '@theia/core';
import { MonitorManager } from './monitor-manager';
import { ServiceError } from './service-error';
import { AutoFlushingBuffer } from './utils/buffers';
import { userAbort } from '../common/nls';
import { UserAbortApplicationError } from '../common/protocol/progressible';
import { tryParseError } from './cli-error-parser';
import { Instance } from './cli-protocol/cc/arduino/cli/commands/v1/common_pb';
import { firstToUpperCase, notEmpty } from '../common/utils';
import { ServiceError } from './service-error';
import { ExecuteWithProgress, ProgressResponse } from './grpc-progressible';
import type { Mutable } from '@theia/core/lib/common/types';
import { BoardDiscovery, createApiPort } from './board-discovery';
namespace Uploadable {
export type Request = UploadRequest | UploadUsingProgrammerRequest;
@@ -73,13 +64,9 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService {
@inject(BoardDiscovery)
private readonly boardDiscovery: BoardDiscovery;
async compile(
options: CoreService.Options.Compile,
cancellationToken?: CancellationToken
): Promise<void> {
async compile(options: CoreService.Options.Compile): Promise<void> {
const coreClient = await this.coreClient;
const { client, instance } = coreClient;
const request = this.compileRequest(options, instance);
const compileSummary = <CompileSummaryFragment>{};
const progressHandler = this.createProgressHandler(options);
const compileSummaryHandler = (response: CompileResponse) =>
@@ -88,15 +75,10 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService {
progressHandler,
compileSummaryHandler
);
const toDisposeOnFinally = new DisposableCollection(handler);
const request = this.compileRequest(options, instance);
return new Promise<void>((resolve, reject) => {
const call = client.compile(request);
if (cancellationToken) {
toDisposeOnFinally.push(
cancellationToken.onCancellationRequested(() => call.cancel())
);
}
call
client
.compile(request)
.on('data', handler.onData)
.on('error', (error) => {
if (!ServiceError.is(error)) {
@@ -105,39 +87,30 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService {
error
);
reject(error);
return;
} else {
const compilerErrors = tryParseError({
content: handler.content,
sketch: options.sketch,
});
const message = nls.localize(
'arduino/compile/error',
'Compilation error: {0}',
compilerErrors
.map(({ message }) => message)
.filter(notEmpty)
.shift() ?? error.details
);
this.sendResponse(
error.details + '\n\n' + message,
OutputMessage.Severity.Error
);
reject(CoreError.VerifyFailed(message, compilerErrors));
}
if (ServiceError.isCancel(error)) {
console.log(userAbort);
reject(UserAbortApplicationError());
return;
}
const compilerErrors = tryParseError({
content: handler.content,
sketch: options.sketch,
});
const message = nls.localize(
'arduino/compile/error',
'Compilation error: {0}',
compilerErrors
.map(({ message }) => message)
.filter(notEmpty)
.shift() ?? error.details
);
this.sendResponse(
error.details + '\n\n' + message,
OutputMessage.Severity.Error
);
reject(CoreError.VerifyFailed(message, compilerErrors));
})
.on('end', resolve);
}).finally(() => {
toDisposeOnFinally.dispose();
handler.dispose();
if (!isCompileSummary(compileSummary)) {
if (cancellationToken && cancellationToken.isCancellationRequested) {
// NOOP
return;
}
console.error(
`Have not received the full compile summary from the CLI while running the compilation. ${JSON.stringify(
compileSummary
@@ -195,16 +168,15 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService {
request.setVerbose(options.verbose);
request.setQuiet(false);
if (typeof options.exportBinaries === 'boolean') {
request.setExportBinaries(options.exportBinaries);
const exportBinaries = new BoolValue();
exportBinaries.setValue(options.exportBinaries);
request.setExportBinaries(exportBinaries);
}
this.mergeSourceOverrides(request, options);
return request;
}
upload(
options: CoreService.Options.Upload,
cancellationToken?: CancellationToken
): Promise<ApiUploadResponse> {
upload(options: CoreService.Options.Upload): Promise<ApiUploadResponse> {
const { usingProgrammer } = options;
return this.doUpload(
options,
@@ -218,8 +190,7 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService {
usingProgrammer
? CoreError.UploadUsingProgrammerFailed
: CoreError.UploadFailed,
`upload${usingProgrammer ? ' using programmer' : ''}`,
cancellationToken
`upload${usingProgrammer ? ' using programmer' : ''}`
);
}
@@ -233,8 +204,7 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService {
client: ArduinoCoreServiceClient
) => (request: REQ) => ClientReadableStream<RESP>,
errorCtor: ApplicationError.Constructor<number, CoreError.ErrorLocation[]>,
task: string,
cancellationToken?: CancellationToken
task: string
): Promise<ApiUploadResponse> {
const portBeforeUpload = options.port;
const uploadResponseFragment: Mutable<Partial<ApiUploadResponse>> = {
@@ -271,59 +241,33 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService {
progressHandler,
updateUploadResponseFragmentHandler
);
const toDisposeOnFinally = new DisposableCollection(handler);
const grpcCall = responseFactory(client);
return this.notifyUploadWillStart(options).then(() =>
new Promise<ApiUploadResponse>((resolve, reject) => {
const call = grpcCall(
this.initUploadRequest(request, options, instance)
);
if (cancellationToken) {
toDisposeOnFinally.push(
cancellationToken.onCancellationRequested(() => call.cancel())
);
}
call
grpcCall(this.initUploadRequest(request, options, instance))
.on('data', handler.onData)
.on('error', (error) => {
if (!ServiceError.is(error)) {
console.error(`Unexpected error occurred while ${task}.`, error);
reject(error);
return;
} else {
const message = nls.localize(
'arduino/upload/error',
'{0} error: {1}',
firstToUpperCase(task),
error.details
);
this.sendResponse(error.details, OutputMessage.Severity.Error);
reject(
errorCtor(
message,
tryParseError({
content: handler.content,
sketch: options.sketch,
})
)
);
}
if (ServiceError.isCancel(error)) {
console.log(userAbort);
reject(UserAbortApplicationError());
return;
}
if (
ServiceError.isInstanceOf(
error,
ProgrammerIsRequiredForUploadError
)
) {
reject(CoreError.UploadRequiresProgrammer());
return;
}
const message = nls.localize(
'arduino/upload/error',
'{0} error: {1}',
firstToUpperCase(task),
error.details
);
this.sendResponse(error.details, OutputMessage.Severity.Error);
reject(
errorCtor(
message,
tryParseError({
content: handler.content,
sketch: options.sketch,
})
)
);
})
.on('end', () => {
if (isUploadResponse(uploadResponseFragment)) {
@@ -341,7 +285,7 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService {
}
});
}).finally(async () => {
toDisposeOnFinally.dispose();
handler.dispose();
await this.notifyUploadDidFinish(
Object.assign(options, {
afterPort: uploadResponseFragment.portAfterUpload,
@@ -376,25 +320,16 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService {
return request;
}
async burnBootloader(
options: CoreService.Options.Bootloader,
cancellationToken?: CancellationToken
): Promise<void> {
async burnBootloader(options: CoreService.Options.Bootloader): Promise<void> {
const coreClient = await this.coreClient;
const { client, instance } = coreClient;
const progressHandler = this.createProgressHandler(options);
const handler = this.createOnDataHandler(progressHandler);
const request = this.burnBootloaderRequest(options, instance);
const toDisposeOnFinally = new DisposableCollection(handler);
return this.notifyUploadWillStart(options).then(() =>
new Promise<void>((resolve, reject) => {
const call = client.burnBootloader(request);
if (cancellationToken) {
toDisposeOnFinally.push(
cancellationToken.onCancellationRequested(() => call.cancel())
);
}
call
client
.burnBootloader(request)
.on('data', handler.onData)
.on('error', (error) => {
if (!ServiceError.is(error)) {
@@ -403,28 +338,23 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService {
error
);
reject(error);
return;
} else {
this.sendResponse(error.details, OutputMessage.Severity.Error);
reject(
CoreError.BurnBootloaderFailed(
nls.localize(
'arduino/burnBootloader/error',
'Error while burning the bootloader: {0}',
error.details
),
tryParseError({ content: handler.content })
)
);
}
if (ServiceError.isCancel(error)) {
console.log(userAbort);
reject(UserAbortApplicationError());
return;
}
this.sendResponse(error.details, OutputMessage.Severity.Error);
reject(
CoreError.BurnBootloaderFailed(
nls.localize(
'arduino/burnBootloader/error',
'Error while burning the bootloader: {0}',
error.details
),
tryParseError({ content: handler.content })
)
);
})
.on('end', resolve);
}).finally(async () => {
toDisposeOnFinally.dispose();
handler.dispose();
await this.notifyUploadDidFinish(
Object.assign(options, { afterPort: options.port })
);
@@ -533,7 +463,7 @@ export class CoreServiceImpl extends CoreClientAware implements CoreService {
for (const uri of Object.keys(options.sourceOverride)) {
const content = options.sourceOverride[uri];
if (content) {
const relativePath = path.relative(sketchPath, FileUri.fsPath(uri));
const relativePath = relative(sketchPath, FileUri.fsPath(uri));
req.getSourceOverrideMap().set(relativePath, content);
}
}
@@ -605,31 +535,18 @@ function updateCompileSummary(
compileSummary: CompileSummaryFragment,
response: CompileResponse
): CompileSummaryFragment {
const messageCase = response.getMessageCase();
if (messageCase !== CompileResponse.MessageCase.RESULT) {
return compileSummary;
}
const result = response.getResult();
if (!result) {
console.warn(
`Build result is missing from response: ${JSON.stringify(
response.toObject(false)
)}`
);
return compileSummary;
}
const buildPath = result.getBuildPath();
const buildPath = response.getBuildPath();
if (buildPath) {
compileSummary.buildPath = buildPath;
compileSummary.buildOutputUri = FileUri.create(buildPath).toString();
}
const executableSectionsSize = result.getExecutableSectionsSizeList();
const executableSectionsSize = response.getExecutableSectionsSizeList();
if (executableSectionsSize) {
compileSummary.executableSectionsSize = executableSectionsSize.map((item) =>
item.toObject(false)
);
}
const usedLibraries = result.getUsedLibrariesList();
const usedLibraries = response.getUsedLibrariesList();
if (usedLibraries) {
compileSummary.usedLibraries = usedLibraries.map((item) => {
const object = item.toObject(false);
@@ -658,15 +575,15 @@ function updateCompileSummary(
return library;
});
}
const boardPlatform = result.getBoardPlatform();
const boardPlatform = response.getBoardPlatform();
if (boardPlatform) {
compileSummary.buildPlatform = boardPlatform.toObject(false);
}
const buildPlatform = result.getBuildPlatform();
const buildPlatform = response.getBuildPlatform();
if (buildPlatform) {
compileSummary.buildPlatform = buildPlatform.toObject(false);
}
const buildProperties = result.getBuildPropertiesList();
const buildProperties = response.getBuildPropertiesList();
if (buildProperties) {
compileSummary.buildProperties = buildProperties.slice();
}

View File

@@ -81,7 +81,7 @@ export class LibraryServiceImpl
}
const req = new LibrarySearchRequest();
req.setSearchArgs(options.query || '');
req.setQuery(options.query || '');
req.setInstance(instance);
req.setOmitReleasesDetails(true);
const resp = await new Promise<LibrarySearchResponse>((resolve, reject) =>

View File

@@ -23,7 +23,6 @@ import {
EnumerateMonitorPortSettingsRequest,
EnumerateMonitorPortSettingsResponse,
MonitorPortConfiguration,
MonitorPortOpenRequest,
MonitorPortSetting,
MonitorRequest,
MonitorResponse,
@@ -230,16 +229,16 @@ export class MonitorService extends CoreClientAware implements Disposable {
const coreClient = await this.coreClient;
const { instance } = coreClient;
const openPortRequest = new MonitorPortOpenRequest();
openPortRequest.setInstance(instance);
const monitorRequest = new MonitorRequest();
monitorRequest.setInstance(instance);
if (this.board?.fqbn) {
openPortRequest.setFqbn(this.board.fqbn);
monitorRequest.setFqbn(this.board.fqbn);
}
if (this.port?.address && this.port?.protocol) {
const rpcPort = new RpcPort();
rpcPort.setAddress(this.port.address);
rpcPort.setProtocol(this.port.protocol);
openPortRequest.setPort(rpcPort);
monitorRequest.setPort(rpcPort);
}
const config = new MonitorPortConfiguration();
for (const id in this.settings.pluggableMonitorSettings) {
@@ -248,9 +247,9 @@ export class MonitorService extends CoreClientAware implements Disposable {
s.setValue(this.settings.pluggableMonitorSettings[id].selectedValue);
config.addSettings(s);
}
openPortRequest.setPortConfiguration(config);
monitorRequest.setPortConfiguration(config);
await this.pollWriteToStream(openPortRequest);
await this.pollWriteToStream(monitorRequest);
// Only store the config, if the monitor has successfully started.
this.currentPortConfigSnapshot = MonitorPortConfiguration.toObject(
false,
@@ -345,7 +344,7 @@ export class MonitorService extends CoreClientAware implements Disposable {
}
}
pollWriteToStream(request: MonitorPortOpenRequest): Promise<void> {
pollWriteToStream(request: MonitorRequest): Promise<void> {
const createWriteToStreamExecutor =
(duplex: ClientDuplexStream<MonitorRequest, MonitorResponse>) =>
(resolve: () => void, reject: (reason?: unknown) => void) => {
@@ -381,7 +380,7 @@ export class MonitorService extends CoreClientAware implements Disposable {
];
this.setDuplexHandlers(duplex, resolvingDuplexHandlers);
duplex.write(new MonitorRequest().setOpenRequest(request));
duplex.write(request);
};
return Promise.race([
@@ -410,8 +409,6 @@ export class MonitorService extends CoreClientAware implements Disposable {
]) as Promise<unknown> as Promise<void>;
}
private endingDuplex: Promise<void> | undefined;
/**
* Pauses the currently running monitor, it still closes the gRPC connection
* with the underlying monitor process but it doesn't stop the message handlers
@@ -421,43 +418,29 @@ export class MonitorService extends CoreClientAware implements Disposable {
* @returns
*/
async pause(): Promise<void> {
const duplex = this.duplex;
if (!duplex) {
this.logger.warn(
`monitor to ${this.port?.address} using ${this.port?.protocol} already stopped`
return new Promise(async (resolve) => {
if (!this.duplex) {
this.logger.warn(
`monitor to ${this.port?.address} using ${this.port?.protocol} already stopped`
);
return resolve();
}
// It's enough to close the connection with the client
// to stop the monitor process
this.duplex.end();
this.logger.info(
`stopped monitor to ${this.port?.address} using ${this.port?.protocol}`
);
return;
}
if (this.endingDuplex) {
return this.endingDuplex;
}
const deferredEnd = new Deferred<void>();
this.endingDuplex = deferredEnd.promise;
// to terminate the monitor connection, send a close request, and wait for the end event
duplex.once('end', () => {
deferredEnd.resolve();
this.duplex.on('end', resolve);
});
try {
await new Promise((resolve) =>
duplex.write(new MonitorRequest().setClose(true), resolve)
);
await this.endingDuplex;
} finally {
this.endingDuplex = undefined;
}
// Sanity check
// Duplexes are allowed to be half open, check whether the monitor server (the readable) has ended
if (!duplex.readableEnded) {
throw new Error('Could not end the monitor connection');
}
}
/**
* Stop the monitor currently running
*/
async stop(): Promise<void> {
return this.pause().finally(() => this.stopMessagesHandlers());
return this.pause().finally(this.stopMessagesHandlers.bind(this));
}
/**
@@ -471,7 +454,11 @@ export class MonitorService extends CoreClientAware implements Disposable {
if (!this.duplex) {
throw createNotConnectedError(this.port);
}
const coreClient = await this.coreClient;
const { instance } = coreClient;
const req = new MonitorRequest();
req.setInstance(instance);
req.setTxData(new TextEncoder().encode(message));
return new Promise<void>((resolve, reject) => {
if (this.duplex) {
@@ -601,13 +588,17 @@ export class MonitorService extends CoreClientAware implements Disposable {
return;
}
const coreClient = await this.coreClient;
const { instance } = coreClient;
this.logger.info(
`Sending monitor request with new port configuration: ${JSON.stringify(
MonitorPortConfiguration.toObject(false, diffConfig)
)}`
);
const req = new MonitorRequest();
req.setUpdatedConfiguration(diffConfig);
req.setInstance(instance);
req.setPortConfiguration(diffConfig);
this.duplex.write(req);
}

View File

@@ -43,7 +43,7 @@ export class NotificationServiceServerImpl
this.clients.forEach((client) => client.notifyIndexUpdateDidFail(params));
}
notifyDaemonDidStart(port: number): void {
notifyDaemonDidStart(port: string): void {
this.clients.forEach((client) => client.notifyDaemonDidStart(port));
}

View File

@@ -1,54 +1,14 @@
import { Metadata, StatusObject } from '@grpc/grpc-js';
import { Status } from './cli-protocol/google/rpc/status_pb';
import { stringToUint8Array } from '../common/utils';
import { ProgrammerIsRequiredForUploadError } from './cli-protocol/cc/arduino/cli/commands/v1/upload_pb';
type ProtoError = typeof ProgrammerIsRequiredForUploadError;
const protoErrorsMap = new Map<string, ProtoError>([
[
'type.googleapis.com/cc.arduino.cli.commands.v1.ProgrammerIsRequiredForUploadError',
ProgrammerIsRequiredForUploadError,
],
// handle other cli defined errors here
]);
export type ServiceError = StatusObject & Error;
export namespace ServiceError {
export function isCancel(arg: unknown): arg is ServiceError & { code: 1 } {
return is(arg) && arg.code === 1; // https://grpc.github.io/grpc/core/md_doc_statuscodes.html
}
export function is(arg: unknown): arg is ServiceError {
return arg instanceof Error && isStatusObject(arg);
return arg instanceof Error && isStatusObjet(arg);
}
export function isInstanceOf(arg: unknown, type: unknown): boolean {
if (!isStatusObject(arg)) {
return false;
}
const bin = arg.metadata.get('grpc-status-details-bin')[0];
const uint8Array =
typeof bin === 'string'
? stringToUint8Array(bin)
: new Uint8Array(bin.buffer, bin.byteOffset, bin.byteLength);
const errors = Status.deserializeBinary(uint8Array)
.getDetailsList()
.map((details) => {
const typeUrl = details.getTypeUrl();
const ErrorType = protoErrorsMap.get(typeUrl);
return ErrorType?.deserializeBinary(details.getValue_asU8());
});
return !!errors.find((error) => {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
return error && error instanceof <any>type;
});
}
function isStatusObject(arg: unknown): arg is StatusObject {
function isStatusObjet(arg: unknown): arg is StatusObject {
if (typeof arg === 'object') {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const any = arg as any;

View File

@@ -167,16 +167,7 @@ export class SketchesServiceImpl
reject(rejectWith);
return;
}
const sketch = resp.getSketch();
if (!sketch) {
reject(
new Error(`Incomplete LoadSketch response. Sketch is missing.`)
);
return;
}
const responseSketchPath = maybeNormalizeDrive(
sketch.getLocationPath()
);
const responseSketchPath = maybeNormalizeDrive(resp.getLocationPath());
if (requestSketchPath !== responseSketchPath) {
this.logger.warn(
`Warning! The request sketch path was different than the response sketch path from the CLI. This could be a potential bug. Request: <${requestSketchPath}>, response: <${responseSketchPath}>.`
@@ -194,14 +185,14 @@ export class SketchesServiceImpl
resolve({
name: path.basename(responseSketchPath),
uri: FileUri.create(responseSketchPath).toString(),
mainFileUri: FileUri.create(sketch.getMainFile()).toString(),
otherSketchFileUris: sketch
mainFileUri: FileUri.create(resp.getMainFile()).toString(),
otherSketchFileUris: resp
.getOtherSketchFilesList()
.map((p) => FileUri.create(p).toString()),
additionalFileUris: sketch
additionalFileUris: resp
.getAdditionalFilesList()
.map((p) => FileUri.create(p).toString()),
rootFolderFileUris: sketch
rootFolderFileUris: resp
.getRootFolderFilesList()
.map((p) => FileUri.create(p).toString()),
mtimeMs,
@@ -609,13 +600,9 @@ export class SketchesServiceImpl
force: true,
});
const sourceMainSketchFilePath = FileUri.fsPath(sketch.mainFileUri);
// Can copy sketch with pde main sketch file: https://github.com/arduino/arduino-ide/issues/2377
const ext = path.extname(sourceMainSketchFilePath);
// rename the main sketch file
await fs.rename(
join(temp, `${sourceFolderBasename}${ext}`),
join(temp, `${sourceFolderBasename}.ino`),
join(temp, `${destinationFolderBasename}.ino`)
);

View File

@@ -170,36 +170,6 @@ describe('board-service-provider', () => {
expect(events).deep.equals([expectedEvent]);
});
it('should ignore custom board configs from the FQBN', () => {
boardsServiceProvider['_boardsConfig'] = {
selectedBoard: uno,
selectedPort: unoSerialPort,
};
const events: BoardsConfigChangeEvent[] = [];
toDisposeAfterEach.push(
boardsServiceProvider.onBoardsConfigDidChange((event) =>
events.push(event)
)
);
const mkr1000WithCustomOptions = {
...mkr1000,
fqbn: `${mkr1000.fqbn}:c1=v1`,
};
const didUpdate = boardsServiceProvider.updateConfig(
mkr1000WithCustomOptions
);
expect(didUpdate).to.be.true;
const expectedEvent: BoardIdentifierChangeEvent = {
previousSelectedBoard: uno,
selectedBoard: mkr1000WithCustomOptions, // the even has the custom board options
};
expect(events).deep.equals([expectedEvent]);
// the persisted state does not have the config options property
expect(boardsServiceProvider.boardsConfig.selectedBoard?.fqbn).to.equal(
mkr1000.fqbn
);
});
it('should not update the board if did not change (board identifier)', () => {
boardsServiceProvider['_boardsConfig'] = {
selectedBoard: uno,

View File

@@ -15,14 +15,11 @@ import {
DisposableCollection,
} from '@theia/core/lib/common/disposable';
import { MessageService } from '@theia/core/lib/common/message-service';
import { wait, waitForEvent } from '@theia/core/lib/common/promise-util';
import { wait } from '@theia/core/lib/common/promise-util';
import { Container, ContainerModule } from '@theia/core/shared/inversify';
import { expect } from 'chai';
import { BoardsDataStore } from '../../browser/boards/boards-data-store';
import {
BoardsServiceProvider,
UpdateBoardsConfigParams,
} from '../../browser/boards/boards-service-provider';
import { BoardsServiceProvider } from '../../browser/boards/boards-service-provider';
import { NotificationCenter } from '../../browser/notification-center';
import {
BoardDetails,
@@ -33,7 +30,6 @@ import {
} from '../../common/protocol/boards-service';
import { NotificationServiceServer } from '../../common/protocol/notification-service';
import { bindBrowser } from './browser-test-bindings';
import { unoSerialPort } from '../common/fixtures';
disableJSDOM();
@@ -260,12 +256,8 @@ describe('boards-data-store', function () {
const result = await boardsDataStore.selectConfigOption({
fqbn,
optionsToUpdate: [
{
option: configOption1.option,
selectedValue: configOption1.values[1].value,
},
],
option: configOption1.option,
selectedValue: configOption1.values[1].value,
});
expect(result).to.be.ok;
@@ -417,12 +409,8 @@ describe('boards-data-store', function () {
);
const result = await boardsDataStore.selectConfigOption({
fqbn,
optionsToUpdate: [
{
option: configOption1.option,
selectedValue: configOption1.values[1].value,
},
],
option: configOption1.option,
selectedValue: configOption1.values[1].value,
});
expect(result).to.be.ok;
expect(didChangeCounter).to.be.equal(1);
@@ -442,220 +430,6 @@ describe('boards-data-store', function () {
});
});
it('should select multiple config options', async () => {
// reconfigure the board details mock for this test case to have multiple config options
toDisposeAfterEach.push(
mockBoardDetails([
{
fqbn,
...baseDetails,
configOptions: [configOption1, configOption2],
},
])
);
let data = await boardsDataStore.getData(fqbn);
expect(data).to.be.deep.equal({
configOptions: [configOption1, configOption2],
programmers: [edbg, jlink],
});
let didChangeCounter = 0;
toDisposeAfterEach.push(
boardsDataStore.onDidChange(() => didChangeCounter++)
);
const result = await boardsDataStore.selectConfigOption({
fqbn,
optionsToUpdate: [
{
option: configOption1.option,
selectedValue: configOption1.values[1].value,
},
{
option: configOption2.option,
selectedValue: configOption2.values[1].value,
},
],
});
expect(result).to.be.ok;
expect(didChangeCounter).to.be.equal(1);
data = await boardsDataStore.getData(fqbn);
expect(data).to.be.deep.equal({
configOptions: [
{
...configOption1,
values: [
{ label: 'C1V1', selected: false, value: 'v1' },
{ label: 'C1V2', selected: true, value: 'v2' },
],
},
{
...configOption2,
values: [
{ label: 'C2V1', selected: false, value: 'v1' },
{ label: 'C2V2', selected: true, value: 'v2' },
],
},
],
programmers: [edbg, jlink],
});
});
it('should emit a did change event when updating with multiple config options and at least one of them is known (valid option + valid value)', async () => {
// reconfigure the board details mock for this test case to have multiple config options
toDisposeAfterEach.push(
mockBoardDetails([
{
fqbn,
...baseDetails,
configOptions: [configOption1, configOption2],
},
])
);
let data = await boardsDataStore.getData(fqbn);
expect(data).to.be.deep.equal({
configOptions: [configOption1, configOption2],
programmers: [edbg, jlink],
});
let didChangeCounter = 0;
toDisposeAfterEach.push(
boardsDataStore.onDidChange(() => didChangeCounter++)
);
const result = await boardsDataStore.selectConfigOption({
fqbn,
optionsToUpdate: [
{
option: 'an unknown option',
selectedValue: configOption1.values[1].value,
},
{
option: configOption1.option,
selectedValue: configOption1.values[1].value,
},
{
option: configOption2.option,
selectedValue: 'an unknown value',
},
],
});
expect(result).to.be.ok;
expect(didChangeCounter).to.be.equal(1);
data = await boardsDataStore.getData(fqbn);
expect(data).to.be.deep.equal({
configOptions: [
{
...configOption1,
values: [
{ label: 'C1V1', selected: false, value: 'v1' },
{ label: 'C1V2', selected: true, value: 'v2' },
],
},
configOption2,
],
programmers: [edbg, jlink],
});
});
it('should not emit a did change event when updating with multiple config options and all of the are unknown', async () => {
let data = await boardsDataStore.getData(fqbn);
expect(data).to.be.deep.equal({
configOptions: [configOption1],
programmers: [edbg, jlink],
});
let didChangeCounter = 0;
toDisposeAfterEach.push(
boardsDataStore.onDidChange(() => didChangeCounter++)
);
const result = await boardsDataStore.selectConfigOption({
fqbn,
optionsToUpdate: [
{
option: 'an unknown option',
selectedValue: configOption1.values[1].value,
},
{
option: configOption1.option,
selectedValue: 'an unknown value',
},
],
});
expect(result).to.be.not.ok;
expect(didChangeCounter).to.be.equal(0);
data = await boardsDataStore.getData(fqbn);
expect(data).to.be.deep.equal({
configOptions: [configOption1],
programmers: [edbg, jlink],
});
});
it("should automatically update the selected config options if the boards config change 'reason' is the 'toolbar' and the (CLI) detected FQBN has config options", async () => {
// reconfigure the board details mock for this test case to have multiple config options
toDisposeAfterEach.push(
mockBoardDetails([
{
fqbn,
...baseDetails,
configOptions: [configOption1, configOption2],
},
])
);
let data = await boardsDataStore.getData(fqbn);
expect(data).to.be.deep.equal({
configOptions: [configOption1, configOption2],
programmers: [edbg, jlink],
});
let didChangeCounter = 0;
toDisposeAfterEach.push(
boardsDataStore.onDidChange(() => didChangeCounter++)
);
const boardsConfig = {
selectedPort: unoSerialPort, // the port value does not matter here, but the change must come from a toolbar as a boards config: with port+board,
selectedBoard: {
fqbn: `${board.fqbn}:${configOption1.option}=${configOption1.values[1].value},${configOption2.option}=${configOption2.values[1].value}`,
name: board.name,
},
};
const params: UpdateBoardsConfigParams = {
...boardsConfig,
reason: 'toolbar',
};
const updated = boardsServiceProvider.updateConfig(params);
expect(updated).to.be.ok;
await waitForEvent(boardsDataStore.onDidChange, 100);
expect(didChangeCounter).to.be.equal(1);
data = await boardsDataStore.getData(fqbn);
expect(data).to.be.deep.equal({
configOptions: [
{
...configOption1,
values: [
{ label: 'C1V1', selected: false, value: 'v1' },
{ label: 'C1V2', selected: true, value: 'v2' },
],
},
{
...configOption2,
values: [
{ label: 'C2V1', selected: false, value: 'v1' },
{ label: 'C2V2', selected: true, value: 'v2' },
],
},
],
programmers: [edbg, jlink],
});
});
it('should not select a config option if the option is absent', async () => {
const fqbn = 'a:b:c';
let data = await boardsDataStore.getData(fqbn);
@@ -670,9 +444,8 @@ describe('boards-data-store', function () {
);
const result = await boardsDataStore.selectConfigOption({
fqbn,
optionsToUpdate: [
{ option: 'missing', selectedValue: configOption1.values[1].value },
],
option: 'missing',
selectedValue: configOption1.values[1].value,
});
expect(result).to.be.not.ok;
expect(didChangeCounter).to.be.equal(0);
@@ -697,9 +470,8 @@ describe('boards-data-store', function () {
);
const result = await boardsDataStore.selectConfigOption({
fqbn,
optionsToUpdate: [
{ option: configOption1.option, selectedValue: 'missing' },
],
option: configOption1.option,
selectedValue: 'missing',
});
expect(result).to.be.not.ok;
expect(didChangeCounter).to.be.equal(0);

View File

@@ -28,6 +28,7 @@ import {
debuggingNotSupported,
isDebugEnabled,
noPlatformInstalledFor,
noProgrammerSelectedFor,
} from '../../browser/contributions/debug';
import { NotificationCenter } from '../../browser/notification-center';
import { noBoardSelected } from '../../common/nls';
@@ -116,20 +117,20 @@ describe('debug', () => {
);
});
it('should resolve when no programmer is selected (arduino/arduino-cli#2540)', async () => {
it('should error when no programmer selected', async () => {
const copyData: Mutable<BoardsDataStore.Data> = deepClone(data);
delete copyData.selectedProgrammer;
await doesNotReject(
await rejects(
isDebugEnabled(
board,
() => boardDetails,
() => copyData,
(fqbn) => fqbn,
async (params) => {
expect(params.programmer).to.be.undefined;
return params.fqbn;
}
)
unexpectedCall()
),
(reason) =>
reason instanceof Error &&
reason.message === noProgrammerSelectedFor(board.name)
);
});

View File

@@ -21,7 +21,7 @@ class SilentArduinoDaemonImpl extends ArduinoDaemonImpl {
override async spawnDaemonProcess(): Promise<{
daemon: ChildProcess;
port: number;
port: string;
}> {
return super.spawnDaemonProcess();
}

View File

@@ -1,18 +1,7 @@
import {
Disposable,
DisposableCollection,
} from '@theia/core/lib/common/disposable';
import { DisposableCollection } from '@theia/core/lib/common/disposable';
import { Container } from '@theia/core/shared/inversify';
import { expect } from 'chai';
import { promises as fs } from 'node:fs';
import path from 'node:path';
import temp from 'temp';
import {
BoardSearch,
BoardsPackage,
BoardsService,
Installable,
} from '../../common/protocol';
import { BoardSearch, BoardsService } from '../../common/protocol';
import { createBaseContainer, startDaemon } from './node-test-bindings';
describe('boards-service-impl', () => {
@@ -21,12 +10,8 @@ describe('boards-service-impl', () => {
before(async function () {
this.timeout(20_000);
const tracked = temp.track();
toDispose = new DisposableCollection(
Disposable.create(() => tracked.cleanupSync())
);
const testDirPath = tracked.mkdirSync();
const container = await createContainer(testDirPath);
toDispose = new DisposableCollection();
const container = await createContainer();
await start(container, toDispose);
boardService = container.get<BoardsService>(BoardsService);
});
@@ -39,29 +24,6 @@ describe('boards-service-impl', () => {
expect(result).is.not.empty;
});
it('should order the available platform release versions in descending order', async function () {
const result = await boardService.search({});
result.forEach((platform) =>
platform.availableVersions.forEach(
(currentVersion, index, versions) => {
if (index < versions.length - 2) {
const nextArrayElement = versions[index + 1];
const actual = Installable.Version.COMPARATOR(
currentVersion,
nextArrayElement
);
expect(actual).to.be.greaterThan(
0,
`Expected '${currentVersion}' to be gt '${nextArrayElement}'. All versions: ${JSON.stringify(
versions
)}`
);
}
}
)
);
});
it("should boost a result when 'types' includes 'arduino', and lower the score if deprecated", async () => {
const result = await boardService.search({});
const arduinoIndexes: number[] = [];
@@ -113,57 +75,22 @@ describe('boards-service-impl', () => {
expect(result.length).greaterThan(1);
const lastIndex = result.length - 1;
const last = result[lastIndex];
expect(last.id).to.be.equal('Microsoft:win10');
expect(last.id).to.be.equal('arduino:mbed');
expect(last.deprecated).to.be.true;
const arduinoMbedCoreIndex = result.findIndex(
(platform) => platform.id === 'arduino:mbed'
const windowsIoTCoreIndex = result.findIndex(
(platform) => platform.id === 'Microsoft:win10'
);
expect(arduinoMbedCoreIndex).to.be.greaterThanOrEqual(0);
expect(arduinoMbedCoreIndex).to.be.lessThan(lastIndex);
expect(windowsIoTCoreIndex).to.be.greaterThanOrEqual(0);
expect(windowsIoTCoreIndex).to.be.lessThan(lastIndex);
const first = result[0];
expect(typeof first.deprecated).to.be.equal('boolean');
expect(first.deprecated).to.be.false;
});
});
it('should have the installed version set', async function () {
const timeout = 5 * 60 * 1_000; // five minutes to install/uninstall the core
this.timeout(timeout);
// ensure installed
let result = await boardService.search({ query: 'arduino:avr' });
let avr = result.find(
(boardsPackage) => boardsPackage.id === 'arduino:avr'
);
expect(avr).to.be.not.undefined;
await boardService.install({
item: <BoardsPackage>avr,
skipPostInstall: true,
});
// when installed the version is set
result = await boardService.search({ query: 'arduino:avr' });
avr = result.find((boardsPackage) => boardsPackage.id === 'arduino:avr');
expect(avr).to.be.not.undefined;
expect(avr?.installedVersion).to.be.not.undefined;
// uninstall the core
await boardService.uninstall({ item: <BoardsPackage>avr });
result = await boardService.search({ query: 'arduino:avr' });
avr = result.find((boardsPackage) => boardsPackage.id === 'arduino:avr');
expect(avr).to.be.not.undefined;
expect(avr?.installedVersion).to.be.undefined;
});
});
async function createContainer(testDirPath: string): Promise<Container> {
const data = path.join(testDirPath, 'data');
const user = path.join(testDirPath, 'user');
await Promise.all([
fs.mkdir(data, { recursive: true }),
fs.mkdir(user, { recursive: true }),
]);
return createBaseContainer({ cliConfig: { directories: { data, user } } });
async function createContainer(): Promise<Container> {
return createBaseContainer();
}
async function start(

View File

@@ -1,178 +0,0 @@
import {
Disposable,
DisposableCollection,
} from '@theia/core/lib/common/disposable';
import { deepClone } from '@theia/core/lib/common/objects';
import type { MaybePromise, Mutable } from '@theia/core/lib/common/types';
import type { Container } from '@theia/core/shared/inversify';
import { expect } from 'chai';
import { load as parseYaml } from 'js-yaml';
import { promises as fs } from 'node:fs';
import { join } from 'node:path';
import temp from 'temp';
import {
Config,
Network,
ProxySettings,
} from '../../common/protocol/config-service';
import { CLI_CONFIG, DefaultCliConfig } from '../../node/cli-config';
import { ConfigServiceImpl } from '../../node/config-service-impl';
import { ConfigDirUriProvider } from '../../node/theia/env-variables/env-variables-server';
import {
createBaseContainer,
createCliConfig,
startDaemon,
} from './node-test-bindings';
describe('config-service-impl', () => {
const noProxy = 'none';
const manualProxy: ProxySettings = {
protocol: 'http',
hostname: 'hostname',
password: 'secret',
username: 'username',
port: '1234',
};
describe('setConfiguration', () => {
let configService: ConfigServiceImpl;
let toDispose: DisposableCollection;
let cliConfigPath: string;
beforeEach(async () => {
const container = await createBaseContainer();
toDispose = new DisposableCollection();
await startDaemon(container, toDispose);
configService = container.get<ConfigServiceImpl>(ConfigServiceImpl);
cliConfigPath = getCliConfigPath(container);
});
afterEach(() => toDispose.dispose());
it("should detect 'none' proxy with th default config", async () => {
const state = await configService.getConfiguration();
expect(state.config).to.be.not.undefined;
const config = <Config>state.config;
expect(config.network).to.be.equal(noProxy);
expect(Network.stringify(config.network)).is.undefined;
await assertRawConfigModel(cliConfigPath, (actualModel) => {
expect(actualModel.network).to.be.undefined;
});
});
it('should ignore noop changes', async () => {
const beforeState = await configService.getConfiguration();
const config = <Mutable<Config>>deepClone(beforeState).config;
let eventCounter = 0;
toDispose.push(configService.onConfigChange(() => eventCounter++));
await configService.setConfiguration(config);
const afterState = await configService.getConfiguration();
expect(beforeState.config).to.be.deep.equal(afterState.config);
expect(eventCounter).to.be.equal(0);
});
it('should set the manual proxy', async () => {
const beforeState = await configService.getConfiguration();
const config = <Mutable<Config>>deepClone(beforeState).config;
config.network = manualProxy;
let eventCounter = 0;
toDispose.push(configService.onConfigChange(() => eventCounter++));
await configService.setConfiguration(config);
const afterState = await configService.getConfiguration();
expect(beforeState.config).to.be.not.deep.equal(afterState.config);
expect(afterState.config?.network).to.be.deep.equal(manualProxy);
expect(eventCounter).to.be.equal(1);
await assertRawConfigModel(cliConfigPath, (actualModel) => {
expect(actualModel.network?.proxy).to.be.equal(
Network.stringify(manualProxy)
);
});
});
it('should unset the manual proxy', async () => {
const initialState = await configService.getConfiguration();
const config = <Mutable<Config>>deepClone(initialState).config;
config.network = manualProxy;
let eventCounter = 0;
toDispose.push(configService.onConfigChange(() => eventCounter++));
await configService.setConfiguration(config);
const beforeState = await configService.getConfiguration();
const config2 = <Mutable<Config>>deepClone(config);
config2.network = noProxy;
await configService.setConfiguration(config2);
const afterState = await configService.getConfiguration();
expect(beforeState.config).to.be.not.deep.equal(afterState.config);
expect(afterState.config?.network).to.be.deep.equal(noProxy);
expect(eventCounter).to.be.equal(2);
await assertRawConfigModel(cliConfigPath, (actualModel) => {
expect(actualModel.network?.proxy).to.be.undefined;
});
});
});
describe('setConfiguration (multiple CLI daemon sessions)', () => {
let tracked: typeof temp;
let toDispose: DisposableCollection;
before(() => {
tracked = temp.track();
toDispose = new DisposableCollection(
Disposable.create(() => tracked.cleanupSync())
);
});
after(() => toDispose.dispose());
it("should unset the 'network#proxy' config value between daemon sessions", async () => {
const configDirPath = tracked.mkdirSync();
const cliConfigPath = join(configDirPath, CLI_CONFIG);
const cliConfig = await createCliConfig(configDirPath);
const setupContainer = await createBaseContainer({
cliConfig,
configDirPath,
});
const toDisposeAfterFirstStart = new DisposableCollection();
toDispose.push(toDisposeAfterFirstStart);
await startDaemon(setupContainer, toDisposeAfterFirstStart);
toDisposeAfterFirstStart.dispose();
// second startup when the indexes are all downloaded and the daemon is initialized with the network#proxy
cliConfig.network = { proxy: Network.stringify(manualProxy) };
const container = await createBaseContainer({ cliConfig, configDirPath });
await startDaemon(container, toDispose);
const configService = container.get<ConfigServiceImpl>(ConfigServiceImpl);
let eventCounter = 0;
toDispose.push(configService.onConfigChange(() => eventCounter++));
const beforeState = await configService.getConfiguration();
const config = <Mutable<Config>>deepClone(beforeState.config);
config.network = noProxy;
await configService.setConfiguration(config);
const afterState = await configService.getConfiguration();
expect(beforeState.config).to.be.not.deep.equal(afterState.config);
expect(afterState.config?.network).to.be.deep.equal(noProxy);
expect(eventCounter).to.be.equal(1);
await assertRawConfigModel(cliConfigPath, (actualModel) => {
expect(actualModel.network?.proxy).to.be.undefined; // currently fails due to arduino/arduino-cli#2275
});
});
});
async function assertRawConfigModel(
cliConfigPath: string,
assert: (actual: DefaultCliConfig) => MaybePromise<void>
): Promise<void> {
const raw = await fs.readFile(cliConfigPath, { encoding: 'utf8' });
const model = parseYaml(raw);
await assert(model);
}
function getCliConfigPath(container: Container): string {
const configDirUriProvider =
container.get<ConfigDirUriProvider>(ConfigDirUriProvider);
return configDirUriProvider
.configDirUri()
.resolve(CLI_CONFIG)
.path.fsPath();
}
});

View File

@@ -37,7 +37,7 @@ describe('exec-utils', () => {
expect(fs.accessSync(cliCopyPath, fs.constants.X_OK)).to.be.undefined;
expect(cliCopyPath.includes(segment)).to.be.true;
const stdout = await spawnCommand(cliCopyPath, ['version']);
expect(stdout.includes(path.parse(filename).name)).to.be.true;
expect(stdout.includes(filename)).to.be.true;
});
});

View File

@@ -111,7 +111,7 @@ class TestNotificationServiceServer implements NotificationServiceServer {
notifyIndexUpdateDidFail(params: IndexUpdateDidFailParams): void {
this.events.push(`notifyIndexUpdateDidFail:${JSON.stringify(params)}`);
}
notifyDaemonDidStart(port: number): void {
notifyDaemonDidStart(port: string): void {
this.events.push(`notifyDaemonDidStart:${port}`);
}
notifyDaemonDidStop(): void {
@@ -289,6 +289,7 @@ export async function createCliConfig(
const directories = {
data: join(configDirPath, 'data', 'Arduino15'),
downloads: join(configDirPath, 'data', 'Arduino15', 'staging'),
builtin: join(configDirPath, 'data', 'Arduino15', 'libraries'),
user: join(configDirPath, 'user', 'Arduino'),
};
for (const directoryPath of Object.values(directories)) {

View File

@@ -3,19 +3,18 @@ import {
DisposableCollection,
} from '@theia/core/lib/common/disposable';
import { isWindows } from '@theia/core/lib/common/os';
import { URI } from '@theia/core/lib/common/uri';
import { FileUri } from '@theia/core/lib/node/file-uri';
import { Container } from '@theia/core/shared/inversify';
import { expect } from 'chai';
import { rejects } from 'node:assert/strict';
import { promises as fs } from 'node:fs';
import path, { basename, join } from 'node:path';
import { basename, join } from 'node:path';
import { rejects } from 'node:assert/strict';
import { sync as rimrafSync } from 'rimraf';
import temp from 'temp';
import { Sketch, SketchesError, SketchesService } from '../../common/protocol';
import {
SketchesServiceImpl,
isAccessibleSketchPath,
SketchesServiceImpl,
} from '../../node/sketches-service-impl';
import { ErrnoException } from '../../node/utils/errors';
import { createBaseContainer, startDaemon } from './node-test-bindings';
@@ -333,37 +332,6 @@ describe('sketches-service-impl', () => {
);
});
it('should copy sketch if the main sketch file has pde extension (#2377)', async () => {
const sketchesService =
container.get<SketchesServiceImpl>(SketchesService);
let sketch = await sketchesService.createNewSketch();
toDispose.push(disposeSketch(sketch));
expect(sketch.mainFileUri.endsWith('.ino')).to.be.true;
// Create a sketch and rename the main sketch file to .pde
const mainSketchFilePathIno = FileUri.fsPath(new URI(sketch.mainFileUri));
const sketchFolderPath = path.dirname(mainSketchFilePathIno);
const mainSketchFilePathPde = path.join(
sketchFolderPath,
`${basename(sketchFolderPath)}.pde`
);
await fs.rename(mainSketchFilePathIno, mainSketchFilePathPde);
sketch = await sketchesService.loadSketch(sketch.uri);
expect(sketch.mainFileUri.endsWith('.pde')).to.be.true;
const tempDirPath = await sketchesService['createTempFolder']();
const destinationPath = join(tempDirPath, 'GH-2377');
const destinationUri = FileUri.create(destinationPath).toString();
await sketchesService.copy(sketch, {
destinationUri,
});
const copiedSketch = await sketchesService.loadSketch(destinationUri);
expect(copiedSketch.mainFileUri.endsWith('.ino')).to.be.true;
});
it('should copy sketch inside the sketch folder', async () => {
const sketchesService =
container.get<SketchesServiceImpl>(SketchesService);

View File

@@ -1,7 +1,7 @@
{
"private": true,
"name": "electron-app",
"version": "2.3.3",
"version": "2.3.1",
"license": "AGPL-3.0-or-later",
"main": "./src-gen/backend/electron-main.js",
"dependencies": {
@@ -19,7 +19,7 @@
"@theia/preferences": "1.41.0",
"@theia/terminal": "1.41.0",
"@theia/workspace": "1.41.0",
"arduino-ide-extension": "2.3.3"
"arduino-ide-extension": "2.3.1"
},
"devDependencies": {
"@theia/cli": "1.41.0",
@@ -133,8 +133,7 @@
"msi",
"nsis",
"zip"
],
"sign": "./scripts/windowsCustomSign.js"
]
},
"mac": {
"darkModeSupport": true,
@@ -197,7 +196,7 @@
"theiaPlugins": {
"vscode-builtin-cpp": "https://open-vsx.org/api/vscode/cpp/1.52.1/file/vscode.cpp-1.52.1.vsix",
"vscode-arduino-api": "https://github.com/dankeboy36/vscode-arduino-api/releases/download/0.1.2/vscode-arduino-api-0.1.2.vsix",
"vscode-arduino-tools": "https://downloads.arduino.cc/vscode-arduino-tools/vscode-arduino-tools-0.1.3.vsix",
"vscode-arduino-tools": "https://downloads.arduino.cc/vscode-arduino-tools/vscode-arduino-tools-0.1.2.vsix",
"vscode-builtin-json": "https://open-vsx.org/api/vscode/json/1.46.1/file/vscode.json-1.46.1.vsix",
"vscode-builtin-json-language-features": "https://open-vsx.org/api/vscode/json-language-features/1.46.1/file/vscode.json-language-features-1.46.1.vsix",
"cortex-debug": "https://downloads.arduino.cc/marus25.cortex-debug/marus25.cortex-debug-1.5.1.vsix",

View File

@@ -1,30 +0,0 @@
const childProcess = require('child_process');
exports.default = async function (configuration) {
if (!process.env.GITHUB_ACTIONS) {
return;
}
const SIGNTOOL_PATH = process.env.SIGNTOOL_PATH;
const INSTALLER_CERT_WINDOWS_CER = process.env.INSTALLER_CERT_WINDOWS_CER;
const CERT_PASSWORD = process.env.WIN_CERT_PASSWORD;
const CONTAINER_NAME = process.env.WIN_CERT_CONTAINER_NAME;
const filePath = configuration.path;
if (
SIGNTOOL_PATH &&
INSTALLER_CERT_WINDOWS_CER &&
CERT_PASSWORD &&
CONTAINER_NAME
) {
childProcess.execSync(
`"${SIGNTOOL_PATH}" sign -d "Arduino IDE" -f "${INSTALLER_CERT_WINDOWS_CER}" -csp "eToken Base Cryptographic Provider" -k "[{{${CERT_PASSWORD}}}]=${CONTAINER_NAME}" -fd sha256 -tr http://timestamp.digicert.com -td SHA256 -v "${filePath}"`,
{ stdio: 'inherit' }
);
} else {
console.warn(
`Custom windows signing was no performed one of the following variables was not provided: SIGNTOOL_PATH (${SIGNTOOL_PATH}), INSTALLER_CERT_WINDOWS_CERT (${INSTALLER_CERT_WINDOWS_CER}), CERT_PASSWORD (${CERT_PASSWORD}), CONTAINER_NAME (${CONTAINER_NAME})`
);
process.exit(1);
}
};

View File

@@ -152,8 +152,7 @@
"serialMonitor": "Seriaal Monitor",
"type": "Type",
"unknown": "Onbekend",
"updateable": "Updatable",
"userAbort": "User abort"
"updateable": "Updatable"
},
"compile": {
"error": "Compilation error: {0}"
@@ -214,6 +213,7 @@
"debuggingNotSupported": "Debugging is not supported by '{0}'",
"getDebugInfo": "Getting debug info...",
"noPlatformInstalledFor": "Platform is nie geïnstalleer vir ' {0} '",
"noProgrammerSelectedFor": "No programmer selected for '{0}'",
"optimizeForDebugging": "Geoptimaliseerd vir ontfouting",
"sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?"
},
@@ -368,7 +368,6 @@
"cloud.pull.warn": "True if users should be warned before pulling a cloud sketch. Defaults to true.",
"cloud.push.warn": "True if users should be warned before pushing a cloud sketch. Defaults to true.",
"cloud.pushpublic.warn": "True if users should be warned before pushing a public sketch to the cloud. Defaults to true.",
"cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.",
"cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.",
"compile": "saamstel",
"compile.experimental": "True if the IDE should handle multiple compiler errors. False by default",

View File

@@ -152,8 +152,7 @@
"serialMonitor": "مراقب المنفذ التسلسلي \"سيريال بورت\"\n ",
"type": "النوع",
"unknown": "غير معروف",
"updateable": "يمكن تحديثه",
"userAbort": "User abort"
"updateable": "يمكن تحديثه"
},
"compile": {
"error": "خطا في الترجمة : {0}"
@@ -214,6 +213,7 @@
"debuggingNotSupported": "'{0}' لا يقبل التصحيح البرمجي",
"getDebugInfo": "Getting debug info...",
"noPlatformInstalledFor": "المنصة غير مثبتة ل '{0}'",
"noProgrammerSelectedFor": "No programmer selected for '{0}'",
"optimizeForDebugging": "التحسين من اجل التصحيح البرمجي",
"sketchIsNotCompiled": "المشروع '{0}' يجب ان يتم التحقق منه قبل بدء جلسة تصحيح الاخطاء . الرجاء التحقق من المشروع و اعادة تشغيل مصحح الاخطاء مرة اخرى .\nهل تريد التحقق من المشروع الان؟"
},
@@ -368,7 +368,6 @@
"cloud.pull.warn": "True اذا كان يجب تحذير المستخدمين قبل سحب مشروع من السحابة . True افتراضيا",
"cloud.push.warn": "True اذا كان يجب تحذير المستخدمين قبل دفع مشروع الى السحابة . True افتراضيا",
"cloud.pushpublic.warn": "True اذا كان يجب تحذير المستخدمين قبل دفع مشروع عام الى السحابة . True افتراضيا",
"cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.",
"cloud.sketchSyncEndpoint": "الوجهة المستخدمة لدفع و سحب المشاريع من الخلفية . تشير افتراضيا الى Arduino Cloud API.",
"compile": "الترجمة",
"compile.experimental": "مُفعل اذا وَجَبَ على الIDE التعامل مع عدة اخطاء اثناء الترجمة . غير مفعل بشكل افتراضي ",

View File

@@ -152,8 +152,7 @@
"serialMonitor": "Serial Monitor",
"type": "Type",
"unknown": "Bilnməyən",
"updateable": "Updatable",
"userAbort": "User abort"
"updateable": "Updatable"
},
"compile": {
"error": "Compilation error: {0}"
@@ -214,6 +213,7 @@
"debuggingNotSupported": "Debugging is not supported by '{0}'",
"getDebugInfo": "Getting debug info...",
"noPlatformInstalledFor": "Platform is not installed for '{0}'",
"noProgrammerSelectedFor": "No programmer selected for '{0}'",
"optimizeForDebugging": "Optimize for Debugging",
"sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?"
},
@@ -368,7 +368,6 @@
"cloud.pull.warn": "True if users should be warned before pulling a cloud sketch. Defaults to true.",
"cloud.push.warn": "True if users should be warned before pushing a cloud sketch. Defaults to true.",
"cloud.pushpublic.warn": "True if users should be warned before pushing a public sketch to the cloud. Defaults to true.",
"cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.",
"cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.",
"compile": "compile",
"compile.experimental": "True if the IDE should handle multiple compiler errors. False by default",

View File

@@ -1,552 +0,0 @@
{
"arduino": {
"about": {
"detail": "Версія: {0}\nДата: {1}{2}\nВерсія CLI: {3}\n\n{4}",
"label": "Пра {0}"
},
"account": {
"goToCloudEditor": "Перайсці ў сродак праўкі воблака",
"goToIoTCloud": "Перайсці ў воблака IoT",
"goToProfile": "Перайсці ў профіль",
"menuTitle": "Воблака Arduino"
},
"board": {
"board": "Плата{0}",
"boardConfigDialogTitle": "Абярыце іншую плату і порт",
"boardInfo": "Інфармацыя пра плату",
"boards": "платы",
"configDialog1": "Абярыце як плату, так і порт, калі вы жадаеце загрузіць сцэнар.",
"configDialog2": "Калі вы выбіраеце толькі плату, вы зможаце кампіліраваць, але не загружаць сцэнар.",
"couldNotFindPreviouslySelected": "Не атрымалася знайсці раней абраную плату '{0}' на ўсталяванай платформе '{1}'.\nКалі ласка, абярыце ўручную плату, якую вы жадаеце ўжываць.\nЦі жадаеце вы паўторна абраць яе зараз?",
"editBoardsConfig": "Змяніць плату і порт…",
"getBoardInfo": "Атрымаць інфармацыю пра плату",
"inSketchbook": " (у альбоме з сцэнарамі)",
"installNow": "Ядро \"{0} {1}\" павінна быць усталяванае для абранай у бягучы час платы \"{2}\".\nЦі жадаеце вы ўсталяваць яе зараз?",
"noBoardsFound": "Не знойдзена плат для \"{0}\"",
"noNativeSerialPort": "Уласны паслядоўны порт, не атрымалася атрымаць інфармацыю.",
"noPortsDiscovered": "Парты не выяўленыя",
"nonSerialPort": "Уласны паслядоўны порт, не атрымалася атрымаць інфармацыю.",
"openBoardsConfig": "Абярыце іншую плату і порт…",
"pleasePickBoard": "Калі ласка, абярыце плату, якая злучаная з абраным вамі портам.",
"port": "Порт{0}",
"ports": "порты",
"programmer": "Сродак праграмавання",
"reselectLater": "Абярыце паўторна пазней",
"revertBoardsConfig": "Ужыта '{0}' выяўлена ў '{1}'",
"searchBoard": "Знайсці плату",
"selectBoard": "Знайсці плату",
"selectPortForInfo": "Калі ласка, абярыце порт, каб атрымаць інфармацыю пра плату.",
"showAllAvailablePorts": "Паказвае ўсе даступныя порты, калі яны ўключаныя",
"showAllPorts": "Паказаць усе порты",
"succesfullyInstalledPlatform": "Платформа {0}:{1} паспяхова ўсталяваная",
"succesfullyUninstalledPlatform": "Платформа {0}:{1} паспяхова выдаленая",
"typeOfPorts": "{0} порты",
"unconfirmedBoard": "Непацвержданная плата",
"unknownBoard": "Невядомая плата"
},
"boardsManager": "Кіраванне платамі",
"boardsType": {
"arduinoCertified": "Сертыфікаваны Arduino"
},
"bootloader": {
"burnBootloader": "Прашыць загрузнік",
"burningBootloader": "Прашыўка загрузніка…",
"doneBurningBootloader": "Прашыўка загрузніка скончаная."
},
"burnBootloader": {
"error": "Памылка пры запісу загрузніка: {0}"
},
"certificate": {
"addNew": "Дадаць новы",
"addURL": "Дадаць адрас URL для атрымання сертыфіката SSL",
"boardAtPort": "{0} у {1}",
"certificatesUploaded": "Сертыфікаты загружаныя.",
"enterURL": "Увядзіце адрас URL",
"noSupportedBoardConnected": "Плата, якая падтрымліваецца, не падключаная",
"openContext": "Адчыніць кантэкст",
"remove": "Выдаліць",
"selectBoard": "Абраць плату…",
"selectCertificateToUpload": "1. Абярыце сертыфікат для выгрузкі",
"selectDestinationBoardToUpload": "2. Абярыце мэтавую плату, і выгрузіце сертыфікат",
"upload": "Выгрузіць",
"uploadFailed": "Не атрымалася выгрузіць.\nКалі ласка, паспрабуйце зноў.",
"uploadRootCertificates": "Выгрузіць каранёвые сертыфікаты SSL",
"uploadingCertificates": "Выгрузка сертыфікатаў."
},
"checkForUpdates": {
"checkForUpdates": "Праверыць наяўнасць абнаўленняў Arduino",
"installAll": "Усталяваць усе",
"noUpdates": "Апошнія абнаўленні недаступныя.",
"promptUpdateBoards": "Даступныя абнаўленні для некаторых вашых плат.",
"promptUpdateLibraries": "Даступныя абнаўленні для некаторых вашых бібліятэк.",
"updatingBoards": "Абнаўленне плат…",
"updatingLibraries": "Абнаўленне бібліятэк…"
},
"cli-error-parser": {
"keyboardError": "'Keyboard' не знойдзеная.\nЦі прысутнічае ў вашым сцэнары радок '#include <Keyboard.h>'?",
"mouseError": "'Mouse' Не знойдзеная.\nЦі прысутнічае ў вашым сцэнары радок '#include <Mouse.h>'?"
},
"cloud": {
"chooseSketchVisibility": "Абярыце бачнасць вашага сцэнару:",
"cloudSketchbook": "Альбом з сцэнарамі ў воблаке",
"connected": "Злучана",
"continue": "Працягнуць",
"donePulling": "Скончана выцягванне '{0}'.",
"donePushing": "Скончана адпраўка '{0}'.",
"embed": "Убудаваны:",
"emptySketchbook": "Ваш альбом з сцэнарамі пусты",
"goToCloud": "Перайсці ў воблака",
"learnMore": "Вывучыць больш",
"link": "Спасылак:",
"notYetPulled": "Не атрымалася паслаць у воблака.\nСцэнар яшчэ не выцягнуты.",
"offline": "Не ў сетцы",
"openInCloudEditor": "Адчыніць у сродку праўкі воблака",
"options": "Налады…",
"privateVisibility": "Асабісты.\nТолькі вы можаце глядзець сцэнар.",
"profilePicture": "Выява профілю",
"publicVisibility": "Грамадскі.\nЛюбы, хто мае спасылак, можа глядзець сцэнар.",
"pull": "Выцягнуць",
"pullFirst": "Спачатку вы павінны выцягнуць, каб мець магчымасць перайсці да воблака.",
"pullSketch": "Выцягнуць сцэнар",
"pullSketchMsg": "Пры выцягванні гэтага сцэнару з воблаку, будзе перазапісаная яго лакальная версія.\nЦі жадаеце працягнуць?",
"push": "Адправіць",
"pushSketch": "Адправіць сцэнар",
"pushSketchMsg": "Гэта грамадскі сцэнар.\nПерад адпраўкай пераканайцеся, што ў файлах arduino_secrets.h паказана любая канфідэнцыйная інфармацыя.\nВы можаце зрабіць сцэнар прыватным з панэлі агульнага доступу.",
"remote": "Падалены",
"share": "Падзяліцца…",
"shareSketch": "Падзяліцца сцэнарам",
"showHideSketchbook": "Адлюстраваць/схаваць альбом з сцэнарамі ў воблаке",
"signIn": "Увайсці",
"signInToCloud": "Увайсці ў воблака Arduino",
"signOut": "Выйсці",
"sync": "Сінхранізаваць",
"syncEditSketches": "Сінхранізаваць і змяніць сцэнары ў воблаку Arduino",
"visitArduinoCloud": "Наведаць воблака Arduino, каб стварыць сцэнары ў воблаке."
},
"cloudSketch": {
"alreadyExists": "Сцэнар '{0}' ў воблаке ўжо існуе.",
"creating": "Стварэнне сцэнара '{0}' ў воблаке…",
"new": "Новы сцэнар у воблаку",
"notFound": "Не атрымалася выцягнуць сцэнар '{0}' з воблака.\nСцэнар не існуе.",
"pulling": "Сінхранізацыя альбому, выцягванне '{0}'…",
"pushing": "Сінхранізацыя альбому, адпраўка '{0}'…",
"renaming": "Пераназваць сцэнар '{0}' у '{1}' у воблаке…",
"synchronizingSketchbook": "Сінхранізацыя альбому з сцэнарамі…"
},
"common": {
"all": "Усе",
"contributed": "Уклад",
"installManually": "Усталяваць уручную",
"later": "Пазней",
"noBoardSelected": "плата не абраная",
"noSketchOpened": "Сцэнар не абраны",
"notConnected": "[не злучана]",
"offlineIndicator": "Падобна на тое, што вы знаходзіцеся не ў сетцы.\nБез злучэння з інтэрнэтам Arduino CLI можа не загружаць неабходныя рэсурсы і гэтае можа прывесці да збою ў працы.\nКалі ласка, злучыцеся з інтэрнэтам, і запусціце праграму нанова.",
"oldFormat": "'{0}' ужывае стары фармат `.pde`.\nЦі жадаеце вы перайсці на новае пашырэнне `.ino`?",
"partner": "Партнёр",
"processing": "Апрацоўка",
"recommended": "Рэкамендаваны",
"retired": "У адстаўцы",
"selectManually": "Абраць уручную",
"selectedOn": "уключана {0}",
"serialMonitor": "Манітор паслядоўнага порта",
"type": "Тып",
"unknown": "Невядома",
"updateable": "Абнаўляецца",
"userAbort": "Перапыненне карыстальнікам"
},
"compile": {
"error": "Памылка кампіляцыі: {0}"
},
"component": {
"boardsIncluded": "Платы, якія ўваходзяць у гэты пакет:",
"by": "ад",
"clickToOpen": "Пстрыкніце, каб адчыніць ў інтэрнэт-аглядальніку: {0}",
"filterSearch": "Фільтраваць пошук…",
"install": "Усталяваць",
"installLatest": "Усталяваць пазней",
"installVersion": "Усталяваць {0}",
"installed": "{0} усталяваны",
"moreInfo": "Дадатковая інфармацыя",
"otherVersions": "Іншыя версіі",
"remove": "Выдаліць",
"title": "{0} ад {1}",
"uninstall": "Выдаліць",
"uninstallMsg": "Ці сапраўды вы жадаеце выдаліць {0}?",
"update": "Абнавіць"
},
"configuration": {
"cli": {
"inaccessibleDirectory": "Не атрымалася атрымаць доступ да размяшчэння альбому па адрасу '{0}': {1}"
}
},
"connectionStatus": {
"connectionLost": "Злучэнне страчанае.\nДзеянні і абнаўленні сцэнараў воблаку будуць недаступныя."
},
"contributions": {
"addFile": "Дадаць файл",
"fileAdded": "Адзін файл дададзены ў сцэнар.",
"plotter": {
"couldNotOpen": "Не атрымалася адчыніць паслядоўны плотэр"
},
"replaceTitle": "Замяніць"
},
"core": {
"compilerWarnings": {
"all": "Усе",
"default": "Першапачаткова",
"more": "Больш",
"none": "Ніхто"
}
},
"coreContribution": {
"copyError": "Капіраваць паведамленні пра памылкі",
"noBoardSelected": "Плата не выбрана.\nКалі ласка, абярыце вашу плату Arduino у меню Інструменты > Плата."
},
"createCloudCopy": "Перамясціць сцэнар у воблака",
"daemon": {
"restart": "Запусціць Daemon нанова",
"start": "Запусціць Daemon",
"stop": "Спыніць Daemon"
},
"debug": {
"debugWithMessage": "Адладзіць - {0}",
"debuggingNotSupported": "Адладка не падтрымліваецца для '{0}'",
"getDebugInfo": "Атрыманне дадатковай інфармацыі…",
"noPlatformInstalledFor": "Платформа не ўсталяваная для '{0}'",
"optimizeForDebugging": "Аптымізаваць для адладкі",
"sketchIsNotCompiled": "Сцэнар '{0}' неабходна праверыць перад пачаткам сеансу адладкі.\nКалі ласка, праверце сцэнар, і пачніце адладку нанова.\nЦі жадаеце праверыць сцэнар зараз?"
},
"developer": {
"clearBoardList": "Ачысціць гісторыю спісу плат",
"clearBoardsConfig": "Ачысціць плату і абраць порт",
"dumpBoardList": "Звалка спісу плат"
},
"dialog": {
"dontAskAgain": "Болей не пытаць"
},
"editor": {
"autoFormat": "Аўтаматычнае фарматаванне",
"commentUncomment": "Каментаваць/раскаментаваць",
"copyForForum": "Капіраваць для форуму (Markdown)",
"decreaseFontSize": "Паменшыць памер шрыфту",
"decreaseIndent": "Паменшыць водступ",
"increaseFontSize": "Павялічыць памер шрыфту",
"increaseIndent": "Павялічыць водступ",
"nextError": "Наступная памылка",
"previousError": "Папярэдняя памылка",
"revealError": "Выявіць памылку"
},
"examples": {
"builtInExamples": "Убудаваныя прыклады",
"couldNotInitializeExamples": "Не атрымалася ініцыялізаваць убудаваныя прыклады.",
"customLibrary": "Прыклады з карыстальніцкіх бібліятэк",
"for": "Прыклады для {0}",
"forAny": "Прыклады для любой платы",
"menu": "Прыклады"
},
"firmware": {
"checkUpdates": "Праверыць наяўнасць абнаўленняў",
"failedInstall": "Памылка ўсталявання.\nКалі ласка, паспрабуйце зноў.",
"install": "Усталяваць",
"installingFirmware": "Усталяванне прашыўкі.",
"overwriteSketch": "Усталяванне перазапіша сцэнар на плаце.",
"selectBoard": "Знайсці плату",
"selectVersion": "Абярыце версію прашыўкі",
"successfullyInstalled": "Прашыўка паспяхова ўсталяваная.",
"updater": "Сродак абнаўлення прашыўкі"
},
"help": {
"environment": "Асяроддзе",
"faq": "Часта задаваныя пытанні",
"findInReference": "Знайсці ў даведніку",
"gettingStarted": "Прыступаючы да працы",
"keyword": "Увядзіце ключавае слова",
"privacyPolicy": "Палітыка прыватнасці",
"reference": "Даведнік",
"search": "Пошук на Arduino.cc",
"troubleshooting": "Дыягностыка",
"visit": "Перайсці на Arduino.cc"
},
"ide-updater": {
"checkForUpdates": "Праверыць наяўнасць абнаўленняў Arduino IDE",
"closeAndInstallButton": "Зачыніць і ўсталяваць",
"closeToInstallNotice": "Зачыніце праграмнае забеспячэнне і ўсталюйце абнаўленне на свой кампутар.",
"downloadButton": "Спампаваць",
"downloadingNotice": "Пампуе апошнюю версію Arduino IDE.",
"errorCheckingForUpdates": "Памылка пры праверцы абнаўленняў Arduino IDE.\n{0}",
"goToDownloadButton": "Перайсці да спампоўкі",
"goToDownloadPage": "Даступна абнаўленне для Arduino IDE, але мы не можам загрузіць і ўсталяваць яго аўтаматычна.\nКалі ласка, перайдзіце на старонку спампоўкі і спампуйце адтуль апошнюю версію.",
"ideUpdaterDialog": "Абнаўленне праграмнага забеспячэння",
"newVersionAvailable": "Новая версія Arduino IDE ({0}) даступная для спампоўкі.",
"noUpdatesAvailable": "Апошнія абнаўленні для Arduino IDE недаступныя",
"notNowButton": "Не цяпер",
"skipVersionButton": "Прапусціць версію",
"updateAvailable": "Даступна абнаўленне",
"versionDownloaded": "Arduino IDE {0} быў спампаваны."
},
"installable": {
"libraryInstallFailed": "Не атрымалася ўсталяваць бібліятэку: '{0}{1}'.",
"platformInstallFailed": "Не атрымалася ўсталяваць платформу: '{0}{1}'."
},
"library": {
"addZip": "Дадаць бібліятэку .ZIP…",
"arduinoLibraries": "Бібліятэкі Arduino",
"contributedLibraries": "Прадстаўленыя бібліятэкі",
"include": "Уключыць бібліятэку",
"installAll": "Усталяваць усе",
"installLibraryDependencies": "Усталяваць залежнасці бібліятэк",
"installMissingDependencies": "Ці жадаеце вы ўсталяваць усе залежнасці, якія адсутнічаюць?",
"installOneMissingDependency": "Ці жадаеце вы ўсталяваць залежнасць, якая адсутнічае?",
"installWithoutDependencies": "Усталяваць без залежнасцяў",
"installedSuccessfully": "Бібліятэка {0}:{1} паспяхова ўсталяваная",
"libraryAlreadyExists": "Бібліятэка ўжо існуе.\nЦі жадаеце вы перазапісаць яе?",
"manageLibraries": "Кіраваць бібліятэкамі…",
"namedLibraryAlreadyExists": "Каталог бібліятэкі {0} ужо існуе.\nЦі жадаеце вы перазапісаць яе?",
"needsMultipleDependencies": "Бібліятэцы <b>{0}:{1}</b> патрэбныя некаторыя іншыя залежнасці, якія ў бягучы час не ўсталяваныя:",
"needsOneDependency": "Бібліятэцы <b>{0}:{1}</b> патрабуецца іншая залежнасць, якая ў бягучы час не ўсталяваная:",
"overwriteExistingLibrary": "Ці жадаеце вы перазапісаць існуючую бібліятэку?",
"successfullyInstalledZipLibrary": "Бібліятэка з архіва {0} паспяхова ўсталяваная",
"title": "Кіраванне бібліятэкай",
"uninstalledSuccessfully": "Бібліятэка {0}:{1} паспяхова выдаленая",
"zipLibrary": "Бібліятэка"
},
"librarySearchProperty": {
"topic": "Тэма"
},
"libraryTopic": {
"communication": "Зносіны",
"dataProcessing": "Апрацоўка дадзеных",
"dataStorage": "Сховішча дадзеных",
"deviceControl": "Кіраванне прыладай",
"display": "Дысплей",
"other": "Іншае",
"sensors": "Датчыкі",
"signalInputOutput": "Сігналы ўводу/вываду",
"timing": "Сінхранізацыя",
"uncategorized": "Без рубрыкі"
},
"libraryType": {
"installed": "Усталяваная"
},
"menu": {
"advanced": "Пашыраны",
"sketch": "Сцэнар",
"tools": "Інструменты"
},
"monitor": {
"alreadyConnectedError": "Не атрымалася злучыцца з портам {0} {1}.\nУжо злучаны.",
"baudRate": "{0} бод",
"connectionFailedError": "Не атрымалася злучыцца з портам {0} {1}",
"connectionFailedErrorWithDetails": "{0} не атрымалася злучыцца з портам {1} {2}.",
"connectionTimeout": "Затрымка.\nIDE не атрымалася паведамленне 'success' ад манітора паслядоўнага злучэння",
"missingConfigurationError": "Не атрымалася злучыцца з портам {0} {1}.\nКанфігурацыя манітора адсутнічае.",
"notConnectedError": "Не злучаны з портам {0} {1}.",
"unableToCloseWebSocket": "Не атрымалася зачыніць вэб-сокет",
"unableToConnectToWebSocket": "Не атрымалася злучыцца з вэб-сокетам"
},
"newCloudSketch": {
"newSketchTitle": "Назва новага сцэнара ў воблаку"
},
"portProtocol": {
"network": "Сетка",
"serial": "Паслядоўны порт"
},
"preferences": {
"additionalManagerURLs": "Адрасы URL кіраўніка дадатковых плат",
"auth.audience": "Аўдыторыя OAuth2.",
"auth.clientID": "Ідэнтыфікатар кліенту OAuth2.",
"auth.domain": "Дамен OAuth2.",
"auth.registerUri": "URI, які ўжываецца пры рэгістрацыі новага карыстальніка.",
"automatic": "Аўтаматычна",
"board.certificates": "Спіс сертыфікатаў, якія могуць быць загружаныя на плату",
"browse": "Праглядзець",
"checkForUpdate": "Атрымліваць апавяшчэнні аб даступных абнаўленнях для IDE, плат і бібліятэк.\nПатрабуецца запусціць IDE нанова пасля ўнясення змяненняў.\nПершапачаткова true.",
"choose": "Выбраць",
"cli.daemonDebug": "Уключыць вядзенне часопісу адладкі выклікаў gRPC ў Arduino CLI.\nКаб уступіла ў сілу гэтая налада, патрабуецца запусціць IDE нанова.\nПершапачаткова false.",
"cloud.enabled": "Калі true, функцыі сінхранізацыі сцэнару ўключаныя.\nПершапачаткова true.",
"cloud.pull.warn": "Калі true, карыстальнікі павінны быць папярэджаныя перад стварэннем сцэнара ў воблаку.\nПершапачаткова true.",
"cloud.push.warn": "Калі true, карыстальнікі павінны быць папярэджаныя перад запускам сцэнара ў воблаку.\nПершапачаткова true.",
"cloud.pushpublic.warn": "Калі true, карыстальнікі павінны быць папярэджаныя перад адпраўкай агульнадаступнага сцэнара ў воблака.\nПершапачаткова true.",
"cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.",
"cloud.sketchSyncEndpoint": "Канчатковая кропка, якая ўжываецца для адпраўкі і выцягвання сцэнара з сервернай часткі.\nПершапачаткова яна паказвае на API воблака Arduino.",
"compile": "кампіляваць",
"compile.experimental": "Калі true, асяроддзе IDE павінна апрацоўваць некалькі памылак кампілятара.\nПершапачаткова false",
"compile.revealRange": "Наладжвае спосаб адлюстравання памылак кампілятара ў сродку праўкі пасля няўдалай праверкі/загрузкі.\nМагчымыя значэнні:\n'auto': пракруціць па вертыкалі па меры неабходнасці і адлюстраваць радок.\n'center': пракруціць па вертыкалі па меры неабходнасці і адлюстраваць радок па цэнтры па вертыкалі.\n'top': пракруціць па вертыкалі па меры неабходнасці і паказаць лінію блізка да верхняй частцы вобласці прагляду, аптымізаваную для прагляду вызначэння кода.\n'centerIfOutsideViewport': пракруціць па вертыкалі па меры неабходнасці і паказаць лінію, цэнтраваць па вертыкалі, толькі калі яна знаходзіцца за межамі вобласці прагляду.\nПершапачаткова - '{0}'.",
"compile.verbose": "Калі true, каб быў падрабязны вывад кампілятарам.\nПершапачаткова false",
"compile.warnings": "Паказвае gcc, які ўжываць узровень папярэджанняў.\nПершапачаткова 'None'",
"compilerWarnings": "Папярэджанні кампілятара",
"editorFontSize": "Памер шрыфту ў сродку праўкі",
"editorQuickSuggestions": "Хуткія падказкі ў сродку праўкі",
"enterAdditionalURLs": "Увядзіце дадатковыя адрасы URL, па адным на кожным радку",
"files.inside.sketches": "Адлюстраваць файлы ўнутры сцэнара",
"ide.updateBaseUrl": "Асноўны адрас URL, з якога можна спампаваць абнаўленні.\nПершапачаткова 'https://downloads.arduino.cc/arduino-ide'",
"ide.updateChannel": "Канал выпуску, з якога можна атрымліваць абнаўленні.\n'stable' - гэта стабільны выпуск, 'nightly' - апошняя зборка для распрацоўшчыкаў.",
"interfaceScale": "Маштабаванне інтэрфейсу",
"invalid.editorFontSize": "Хібны памер шрыфту сродку праўкі.\nПавінны быць станоўчы цэлы лік.",
"invalid.sketchbook.location": "Хібнае размяшчэнне альбому з сцэнарамі: {0}",
"invalid.theme": "Хібная тэма.",
"language.asyncWorkers": "Колькасць асінхронных працоўных працэсаў, якія ўжываюцца моўным серверам Arduino (clangd).\nФонавы індэкс таксама ўжывае дадзеную колькасць працоўных працэсаў.\nНайменшае значэнне 0, а найбольшае - 8.\nКалі 0, моўны сервер ужывае ўсе даступныя ядры.\nПершапачаткова 0.",
"language.log": "Калі true, моўны сервер Arduino павінен ствараць файлы часопісу ў каталог з сцэнарам.\nУ адваротным выпадку false.\nПершапачаткова false.",
"language.realTimeDiagnostics": "Калі true, моўны сервер забяспечвае дыягностыку пры ўводзе тэксту ў сродку праўкі ў рэальным часе.\nПершапачаткова false.",
"manualProxy": "Ручная налада проксі-сервера",
"monitor": {
"dockPanel": "Вобласць асяроддзя праграмы, дзе будзе знаходзіцца віджэт _{0}_.\nГэта \"bottom\" ці \"right\".\nПершапачаткова \"{1}\"."
},
"network": "Сетка",
"newSketchbookLocation": "Абраць новае месцазнаходжанне альбому з сцэнарамі",
"noCliConfig": "Не атрымалася загрузіць канфігурацыю CLI",
"noProxy": "Без проксі-сервера",
"proxySettings": {
"hostname": "Назва вузла",
"password": "Пароль",
"port": "Нумар порта",
"username": "Імя карыстальніка"
},
"showVerbose": "Паказаць падрабязныя выходныя дадзеныя падчас",
"sketch": {
"inoBlueprint": "Абсалютны шлях файлавай сістэмы да першапачатковага файла схемы `.ino`.\nКалі паказана, змест файлу схемы будзе ўжывацца для кожнага новага сцэнара, які створаны ў IDE.\nСцэнары будуць створаныя з ужываннем першапачатковага зместу Arduino, калі не пазначана.\nНедаступныя файлы схемы ігнаруюцца.\nКаб гэты параметр уступіў сілу, **патрабуецца запуск IDE нанова**."
},
"sketchbook.location": "Месцазнаходжанне альбому з сцэнарамі",
"sketchbook.showAllFiles": "Калі true, адлюстроўваюцца ўсе файлы сцэнараў унутры сцэнара.\nПершапачаткова false.",
"survey.notification": "Калі true, карыстальнікі павінны атрымліваць апавяшчэнні аб даступнасці апытання.\nПершапачаткова true.",
"unofficialBoardSupport": "Пстрыкніце, каб праглядзець спіс адрасоў URL падтрымкі неафіцыйных плат",
"upload": "выгрузіць",
"upload.verbose": "Калі true, каб быў падрабязны вывад пры загрузцы.\nПершапачаткова false.",
"verifyAfterUpload": "Праверыць код пасля выгрузкі",
"window.autoScale": "Калі true, карыстальніцкі інтэрфейс аўтаматычна маштабуецца ў адпаведнасці з памерам шрыфту.",
"window.zoomLevel": {
"deprecationMessage": "Састарэлы.\nЗамест гэтага ўжывайце 'window.zoomLevel'."
}
},
"renameCloudSketch": {
"renameSketchTitle": "Новая назва сцэнара ў воблаку"
},
"replaceMsg": "Ці замяніць існуючую версію {0}?",
"selectZip": "Абярыце файл zip, які змяшчае бібліятэку, якую вы жадаеце дадаць",
"serial": {
"autoscroll": "Аўтаматычная пракрутка",
"carriageReturn": "CR - вяртанне карэткі",
"connecting": "Злучэнне з '{0}' на '{1}'…",
"message": "Паведамленне (увядзіце, каб адправіць паведамленне '{0}' на '{1}')",
"newLine": "NL - новы радок",
"newLineCarriageReturn": "NL & CR - новы радок і вяртанне карэткі",
"noLineEndings": "Без канца радка",
"notConnected": "Не злучаны.\nАбярыце плату і порт для аўтаматычнага злучэння.",
"openSerialPlotter": "Паслядоўны плотэр",
"timestamp": "Адзнака часу",
"toggleTimestamp": "Пераключыць адзнаку часу"
},
"sketch": {
"archiveSketch": "Архіваваць сцэнар",
"cantOpen": "Каталог \"{0}\" ужо існуе.\nНе атрымалася адчыніць сцэнар.",
"compile": "Кампіляцыя сцэнара…",
"configureAndUpload": "Наладзіць і выгрузіць",
"createdArchive": "Створаны архіў '{0}'.",
"doneCompiling": "Кампіляцыя скончана.",
"doneUploading": "Выгрузка скончана.",
"editInvalidSketchFolderLocationQuestion": "Ці жадаеце вы паспрабаваць захаваць сцэнар у іншым месцы?",
"editInvalidSketchFolderQuestion": "Ці жадаеце вы паспрабаваць захаваць сцэнар пад іншай назвай?",
"exportBinary": "Экспартаваць скампіляваны двайковы файл",
"invalidCloudSketchName": "Назва павінна пачынацца з літары, лічбы ці знака падкрэсляння, за якім ідуць літары, лічбы, працяжнікі, кропкі і знакі падкрэсляння.\nНайбольшая даўжыня - 36 знакаў.",
"invalidSketchFolderLocationDetails": "Вы не можаце захаваць сцэнар у каталогу ўнутры самога сабе.",
"invalidSketchFolderLocationMessage": "Хібнае размяшчэнне каталогу з сцэнарам: '{0}'",
"invalidSketchFolderNameMessage": "Хібнае імя каталогу з сцэнарам: '{0}'",
"invalidSketchName": "Назва павінна пачынацца з літары, лічбы ці знака падкрэсляння, за якім ідуць літары, лічбы, працяжнікі, кропкі і знакі падкрэсляння.\nНайбольшая даўжыня - 63 знакі.",
"moving": "Які рухаецца",
"movingMsg": "Файл \"{0}\" павінен знаходзіцца ў каталогу з сцэнарам \"{1}\".\nЦі стварыць каталог, перамясціць файл, і працягнуць?",
"new": "Новы сцэнар",
"noTrailingPeriod": "Імя файла не можа заканчвацца кропкай",
"openFolder": "Адчыніць каталог",
"openRecent": "Адчыніць нядаўні",
"openSketchInNewWindow": "Адчыніць сцэнар у новым акне",
"reservedFilename": "'{0}' - зарэзерваванае імя файла.",
"saveFolderAs": "Захаваць каталог з сцэнарам як…",
"saveSketch": "Захаваць сцэнар, каб адчыніць яго пазней.",
"saveSketchAs": "Захаваць каталог з сцэнарам як…",
"showFolder": "Адлюстраваць каталог з сцэнарам",
"sketch": "Сцэнар",
"sketchAlreadyContainsThisFileError": "Сцэнар ужо ўтрымлівае файл з іменем '{0}'",
"sketchAlreadyContainsThisFileMessage": "Не атрымалася захаваць сцэнар \"{0}\" як \"{1}\".\n{2}",
"sketchbook": "Альбом з сцэнарам",
"titleLocalSketchbook": "Лакальны альбом з сцэнарам",
"titleSketchbook": "Альбом з сцэнарам",
"upload": "Выгрузіць",
"uploadUsingProgrammer": "Выгрузіць з дапамогай сродку праграмавання",
"uploading": "Выгрузка…",
"userFieldsNotFoundError": "Не атрымалася знайсці карыстальніцкія палі для злучанай платы",
"verify": "Праверыць",
"verifyOrCompile": "Праверыць/Кампіляваць"
},
"sketchbook": {
"newCloudSketch": "Новы сцэнар у воблаку",
"newSketch": "Новы сцэнар"
},
"survey": {
"answerSurvey": "Апытанне з адказамі",
"dismissSurvey": "Болей не адлюстроўваць",
"surveyMessage": "Калі ласка, дапамажыце нам стаць лепш, адказаўшы на гэтае звышкароткае апытанне.\nМы цэнім нашу супольнасць і хацелі б даведацца нашых прыхільнікаў трохі лепш."
},
"theme": {
"currentThemeNotFound": "Не атрымалася знайсці абраную ў дадзены момант тэму: {0}.\nArduino IDE абрала ўбудаваную тэму, якая сумяшчальная з адсутнай.",
"dark": "Цёмная",
"deprecated": "{0} (састарэлая)",
"hc": "Цёмная высокакантрасная",
"hcLight": "Светлая высокакантрасная",
"light": "Светлая",
"user": "{0} (карыстальніцкая)"
},
"title": {
"cloud": "Воблака"
},
"updateIndexes": {
"updateIndexes": "Абнавіць індэксы",
"updateLibraryIndex": "Абнавіць індэксы бібліятэкі",
"updatePackageIndex": "Абнавіць індэксы пакетаў"
},
"upload": {
"error": "{0} памылка: {1}"
},
"userFields": {
"cancel": "Адмяніць",
"enterField": "Увясці {0}",
"upload": "Выгрузіць"
},
"validateSketch": {
"abortFixMessage": "Сцэнар па-ранейшаму хібны.\nЦі жадаеце вы ліквідаваць пакінутыя праблемы?\nНацісніце '{0}', адчыніцца новы сцэнар.",
"abortFixTitle": "Хібны сцэнар",
"renameSketchFileMessage": "Файл сцэнара '{0}' не можа быць ужыты.\n{1} Ці жадаеце вы пераназваць файл сцэнара прама зараз?",
"renameSketchFileTitle": "Хібнае імя файлу сцэнара",
"renameSketchFolderMessage": "Сцэнар '{0}' не можа быць ужыты.\n{1} Каб пазбавіцца ад гэтага паведамлення, пераназавіце сцэнар.\nЦі жадаеце вы пераназваць сцэнар?",
"renameSketchFolderTitle": "Хібная назва сцэнара"
},
"workspace": {
"alreadyExists": "{0}' ужо існуе."
}
},
"theia": {
"core": {
"cannotConnectBackend": "Не атрымалася злучыцца з сервернай часткай.",
"cannotConnectDaemon": "Не атрымалася злучыцца з дэманам CLI.",
"couldNotSave": "Не атрымалася захаваць сцэнар.\nКалі ласка, скапіруйце вашую незахаваную працу ў ваш любімы тэкставы сродак праўкі, і запусціце асяроддзе IDE нанова.",
"daemonOffline": "Дэман CLI у аўтаномным рэжыме",
"offline": "Аўтаномны",
"offlineText": "Не ў сетцы",
"quitTitle": "Ці ўпэўненыя вы, што жадаеце выйсці?"
},
"editor": {
"unsavedTitle": "Незахаваны {0}"
},
"messages": {
"collapse": "Згарнуць",
"expand": "Разгарнуць"
},
"workspace": {
"deleteCloudSketch": "Сцэнар у воблаку '{0}' будзе незваротна выдалены з сервераў Arduino і лакальных кэшаў.\nГэтае дзеянне незваротнае.\nЦі жадаеце вы выдаліць бягучы сцэнар?",
"deleteCurrentSketch": "Сцэнар '{0}' будзе незваротна выдалены.\nГэтае дзеянне незваротнае.\nЦі жадаеце вы выдаліць бягучы сцэнар?",
"fileNewName": "Імя для новага файла",
"invalidExtension": ".{0} не з'яўляецца дапушчальным пашырэннем",
"newFileName": "Новае імя для файла"
}
}
}

View File

@@ -152,8 +152,7 @@
"serialMonitor": "Сериен Монитор",
"type": "Type",
"unknown": "Неизвестно",
"updateable": "Updatable",
"userAbort": "User abort"
"updateable": "Updatable"
},
"compile": {
"error": "Грешка при компилация: {0}"
@@ -214,6 +213,7 @@
"debuggingNotSupported": "Отстраняването на грешки не се поддържа от „{0}“",
"getDebugInfo": "Getting debug info...",
"noPlatformInstalledFor": "Платформата не е инсталирана за „{0}“",
"noProgrammerSelectedFor": "No programmer selected for '{0}'",
"optimizeForDebugging": "Оптимизиране за отстраняване на грешки",
"sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?"
},
@@ -368,7 +368,6 @@
"cloud.pull.warn": "True е, ако потребителите трябва да бъдат предупредени, преди да се изтегли скица от облака. По подразбиране е true.",
"cloud.push.warn": "True, ако потребителите трябва да бъдат предупредени, преди да бъде пусната скица в облака. По подразбиране е true.",
"cloud.pushpublic.warn": "True, ако потребителите трябва да бъдат предупредени, преди да бъде изпратена публична скица в облака. По подразбиране е true.",
"cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.",
"cloud.sketchSyncEndpoint": "Крайната точка, използвана за изпращане и изтегляне на скици от бекенда. По подразбиране той сочи към Arduino Cloud API.",
"compile": "компилиране",
"compile.experimental": "True if the IDE should handle multiple compiler errors. False by default",

View File

@@ -18,7 +18,7 @@
"configDialog1": "Selecciona una placa i un port si vols carregar un programa.",
"configDialog2": "Si només selecciones una placa, podràs compilar, però no carregar un programa.",
"couldNotFindPreviouslySelected": "No s'ha trobat la placa \"{0}\" seleccionada anteriorment en la plataforma instal·lada \"{1}\". Torna a seleccionar manualment la placa que vols utilitzar. Vols tornar-la a seleccionar ara?",
"editBoardsConfig": "Selecciona placa i port...",
"editBoardsConfig": "Edit Board and Port...",
"getBoardInfo": "Obtín informació de la placa",
"inSketchbook": "(al quadern de programes)",
"installNow": "El nucli de \"{0} {1}\" s'ha d'instal·lar en la placa \"{2}\" seleccionada actualment. Vols instal·lar-lo ara?",
@@ -32,7 +32,7 @@
"ports": "ports",
"programmer": "Programador",
"reselectLater": "Torna a triar més tard",
"revertBoardsConfig": "Fes servir ' {0} ' descobert a ' {1} '",
"revertBoardsConfig": "Use '{0}' discovered on '{1}'",
"searchBoard": "Busca una placa",
"selectBoard": "Tria una placa",
"selectPortForInfo": "Tria un port per obtenir informació de la placa.",
@@ -41,7 +41,7 @@
"succesfullyInstalledPlatform": "Plataforma instal·lada correctament {0}:{1}",
"succesfullyUninstalledPlatform": "Plataforma desinstal·lada correctament {0}:{1}",
"typeOfPorts": "{0} ports",
"unconfirmedBoard": "Placa no confirmada",
"unconfirmedBoard": "Unconfirmed board",
"unknownBoard": "Placa desconeguda"
},
"boardsManager": "Gestor de plaques",
@@ -139,7 +139,7 @@
"installManually": "Instal·la manualment",
"later": "Més tard",
"noBoardSelected": "No s'ha seleccionat cap placa",
"noSketchOpened": "Cap sketch obert",
"noSketchOpened": "No sketch opened",
"notConnected": "[no connectat]",
"offlineIndicator": "Sembla que estàs fora de línia. Sense connexió a Internet, és possible que l'Arduino CLI no pugui descarregar els recursos necessaris i podria provocar un mal funcionament. Connecteu-vos a Internet i reinicieu l'aplicació.",
"oldFormat": "El \"{0}\" encara utilitza l'antic format \".pde\". Voleu canviar a la nova extensió \".ino\"?",
@@ -147,13 +147,12 @@
"processing": "Processant",
"recommended": "Recomanat",
"retired": "Retirat",
"selectManually": "Selecciona manualment",
"selectManually": "Select Manually",
"selectedOn": "sobre {0}",
"serialMonitor": "Monitor sèrie",
"type": "Tipus",
"unknown": "Desconegut",
"updateable": "Actualitzable",
"userAbort": "Abortar per l'usuari"
"updateable": "Actualitzable"
},
"compile": {
"error": "Error de compilació: {0}"
@@ -212,14 +211,15 @@
"debug": {
"debugWithMessage": "Depuració - {0}",
"debuggingNotSupported": "La depuració no és compatible amb '{0}'",
"getDebugInfo": "Recopilant info depuració",
"getDebugInfo": "Getting debug info...",
"noPlatformInstalledFor": "La plataforma no està instal·lada per a '{0}'",
"noProgrammerSelectedFor": "No programmer selected for '{0}'",
"optimizeForDebugging": "Optimitzar per a la depuració",
"sketchIsNotCompiled": "El programa \"{0}\" s'ha de comprovar abans de començar la depuració. Per favor, verifica el programa i comença a depurar de nou. Vols verificar el programa ara?"
},
"developer": {
"clearBoardList": "Esborra historial del llistat de plaques",
"clearBoardsConfig": "Esborra la selecció de placa i port",
"clearBoardList": "Clear the Board List History",
"clearBoardsConfig": "Clear the Board and Port Selection",
"dumpBoardList": "Dump the Board List"
},
"dialog": {
@@ -254,7 +254,7 @@
"selectBoard": "Selecciona una placa",
"selectVersion": "Selecciona la versió de l'entorn",
"successfullyInstalled": "L'entorn s'ha instal·lat correctament.",
"updater": "Actualitzador de l'entorn WiFi101 / WiFiNINA"
"updater": "Firmware Updater"
},
"help": {
"environment": "Entorn",
@@ -286,8 +286,8 @@
"versionDownloaded": "L'IDE d'Arduino {0} s'ha descarregat"
},
"installable": {
"libraryInstallFailed": "Instal.lació de llibrería fallida '{0}{1}'.",
"platformInstallFailed": "Instal.lació fallida de plataforma '{0}{1}'."
"libraryInstallFailed": "Failed to install library: '{0}{1}'.",
"platformInstallFailed": "Failed to install platform: '{0}{1}'."
},
"library": {
"addZip": "Afegeix llibreria .ZIP...",
@@ -368,7 +368,6 @@
"cloud.pull.warn": "És cert si s'ha d'avisar als usuaris abans de baixar un programa del núvol. Per defecte està activat.",
"cloud.push.warn": "És cert si s'ha d'avisar als usuaris abans d'enviar un programa del núvol. Per defecte està activat.",
"cloud.pushpublic.warn": "És cert si s'ha d'avisar als usuaris abans d'enviar un programa públic al núvol. Per defecte està activat.",
"cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.",
"cloud.sketchSyncEndpoint": "El punt final s'utilitza per a enviar i descarregar programes des d'un administrador. Per defecte apunta a l'API d'Arduino Cloud.",
"compile": "compila",
"compile.experimental": "És cert si l'IDE gestiona múltiples errors de compilació. Per defecte està desactivat.",
@@ -466,8 +465,8 @@
"saveSketchAs": "Desa la carpeta del programa com a...",
"showFolder": "Mostra la carpeta del programa",
"sketch": "Programa",
"sketchAlreadyContainsThisFileError": "L' sketch ja conté un arxiu anomenat '{0}'",
"sketchAlreadyContainsThisFileMessage": "No s'ha pogut desar l' sketch \"{0}\" com a \"{1}\". {2}",
"sketchAlreadyContainsThisFileError": "The sketch already contains a file named '{0}'",
"sketchAlreadyContainsThisFileMessage": "Failed to save sketch \"{0}\" as \"{1}\". {2}",
"sketchbook": "Quadern de programes",
"titleLocalSketchbook": "Quadern de programes local",
"titleSketchbook": "Quadern de programes",
@@ -491,8 +490,8 @@
"currentThemeNotFound": "No s'ha trobat el nom seleccionat: {0}. L'IDE d'Arduino ha agafat un tema compatible amb el que falta.",
"dark": "Fosc",
"deprecated": "{0} (obsolet)",
"hc": "Fosc alt contrast",
"hcLight": "Clar alt contrast",
"hc": "Dark High Contrast",
"hcLight": "Light High Contrast",
"light": "Clar",
"user": "{0} (usuari)"
},

View File

@@ -152,8 +152,7 @@
"serialMonitor": "Seriový monitor",
"type": "typ",
"unknown": "Neznámý",
"updateable": "Updatable",
"userAbort": "User abort"
"updateable": "Updatable"
},
"compile": {
"error": "Chyba kompilace: {0}"
@@ -214,6 +213,7 @@
"debuggingNotSupported": "Debugging není podporován s '{0}'",
"getDebugInfo": "Getting debug info...",
"noPlatformInstalledFor": "Platforma není nainstalována pro '{0}'",
"noProgrammerSelectedFor": "No programmer selected for '{0}'",
"optimizeForDebugging": "optimalizovat pro Debugging",
"sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?"
},
@@ -368,7 +368,6 @@
"cloud.pull.warn": "Ano pokud by měl být uživatel varován před stahováním cloud sketche. Ano je výchozí hodnota. ",
"cloud.push.warn": "Ano pokud by měl být uživatel varován před odesláním cloud sketche. Ano je výchozí hodnota. ",
"cloud.pushpublic.warn": "Ano pokud by měl být uživatel varován před odesláním veřejné sketche do cloudu. Ano je výchozí hodnota. ",
"cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.",
"cloud.sketchSyncEndpoint": "Endpoint použitý pro stahování a odesílání sketchí z backendu. Ve výchozím stavu je toto směrováno na Arduino Cloud API.",
"compile": "kompilovat",
"compile.experimental": "True if the IDE should handle multiple compiler errors. False by default",

View File

@@ -1,552 +0,0 @@
{
"arduino": {
"about": {
"detail": "Version: {0}\nDate: {1}{2}\nCLI Version: {3}\n\n{4}",
"label": "About {0}"
},
"account": {
"goToCloudEditor": "Go to Cloud Editor",
"goToIoTCloud": "Go to IoT Cloud",
"goToProfile": "Go to Profile",
"menuTitle": "Arduino Cloud"
},
"board": {
"board": "Board{0}",
"boardConfigDialogTitle": "Select Other Board and Port",
"boardInfo": "Board Info",
"boards": "boards",
"configDialog1": "Select both a Board and a Port if you want to upload a sketch.",
"configDialog2": "If you only select a Board you will be able to compile, but not to upload your sketch.",
"couldNotFindPreviouslySelected": "Could not find previously selected board '{0}' in installed platform '{1}'. Please manually reselect the board you want to use. Do you want to reselect it now?",
"editBoardsConfig": "Edit Board and Port...",
"getBoardInfo": "Get Board Info",
"inSketchbook": " (in Sketchbook)",
"installNow": "The \"{0} {1}\" core has to be installed for the currently selected \"{2}\" board. Do you want to install it now?",
"noBoardsFound": "No boards found for \"{0}\"",
"noNativeSerialPort": "Native serial port, can't obtain info.",
"noPortsDiscovered": "No ports discovered",
"nonSerialPort": "Non-serial port, can't obtain info.",
"openBoardsConfig": "Select other board and port…",
"pleasePickBoard": "Please pick a board connected to the port you have selected.",
"port": "Port{0}",
"ports": "ports",
"programmer": "Programmer",
"reselectLater": "Reselect later",
"revertBoardsConfig": "Use '{0}' discovered on '{1}'",
"searchBoard": "Search board",
"selectBoard": "Select Board",
"selectPortForInfo": "Please select a port to obtain board info.",
"showAllAvailablePorts": "Shows all available ports when enabled",
"showAllPorts": "Show all ports",
"succesfullyInstalledPlatform": "Successfully installed platform {0}:{1}",
"succesfullyUninstalledPlatform": "Successfully uninstalled platform {0}:{1}",
"typeOfPorts": "{0} ports",
"unconfirmedBoard": "Unconfirmed board",
"unknownBoard": "Unknown board"
},
"boardsManager": "Boards Manager",
"boardsType": {
"arduinoCertified": "Arduino Certified"
},
"bootloader": {
"burnBootloader": "Burn Bootloader",
"burningBootloader": "Burning bootloader...",
"doneBurningBootloader": "Done burning bootloader."
},
"burnBootloader": {
"error": "Error while burning the bootloader: {0}"
},
"certificate": {
"addNew": "Add New",
"addURL": "Add URL to fetch SSL certificate",
"boardAtPort": "{0} at {1}",
"certificatesUploaded": "Certificates uploaded.",
"enterURL": "Enter URL",
"noSupportedBoardConnected": "No supported board connected",
"openContext": "Open context",
"remove": "Remove",
"selectBoard": "Select a board...",
"selectCertificateToUpload": "1. Select certificate to upload",
"selectDestinationBoardToUpload": "2. Select destination board and upload certificate",
"upload": "Upload",
"uploadFailed": "Upload failed. Please try again.",
"uploadRootCertificates": "Upload SSL Root Certificates",
"uploadingCertificates": "Uploading certificates."
},
"checkForUpdates": {
"checkForUpdates": "Check for Arduino Updates",
"installAll": "Install All",
"noUpdates": "There are no recent updates available.",
"promptUpdateBoards": "Updates are available for some of your boards.",
"promptUpdateLibraries": "Updates are available for some of your libraries.",
"updatingBoards": "Updating boards...",
"updatingLibraries": "Updating libraries..."
},
"cli-error-parser": {
"keyboardError": "'Keyboard' not found. Does your sketch include the line '#include <Keyboard.h>'?",
"mouseError": "'Mouse' not found. Does your sketch include the line '#include <Mouse.h>'?"
},
"cloud": {
"chooseSketchVisibility": "Choose visibility of your Sketch:",
"cloudSketchbook": "Cloud Sketchbook",
"connected": "Connected",
"continue": "Continue",
"donePulling": "Done pulling '{0}'.",
"donePushing": "Done pushing '{0}'.",
"embed": "Embed:",
"emptySketchbook": "Your Sketchbook is empty",
"goToCloud": "Go to Cloud",
"learnMore": "Learn more",
"link": "Link:",
"notYetPulled": "Cannot push to Cloud. It is not yet pulled.",
"offline": "Offline",
"openInCloudEditor": "Open in Cloud Editor",
"options": "Options...",
"privateVisibility": "Private. Only you can view the Sketch.",
"profilePicture": "Profile picture",
"publicVisibility": "Public. Anyone with the link can view the Sketch.",
"pull": "Pull",
"pullFirst": "You have to pull first to be able to push to the Cloud.",
"pullSketch": "Pull Sketch",
"pullSketchMsg": "Pulling this Sketch from the Cloud will overwrite its local version. Are you sure you want to continue?",
"push": "Push",
"pushSketch": "Push Sketch",
"pushSketchMsg": "This is a Public Sketch. Before pushing, make sure any sensitive information is defined in arduino_secrets.h files. You can make a Sketch private from the Share panel.",
"remote": "Remote",
"share": "Share...",
"shareSketch": "Share Sketch",
"showHideSketchbook": "Show/Hide Cloud Sketchbook",
"signIn": "SIGN IN",
"signInToCloud": "Sign in to Arduino Cloud",
"signOut": "Sign Out",
"sync": "Sync",
"syncEditSketches": "Sync and edit your Arduino Cloud Sketches",
"visitArduinoCloud": "Visit Arduino Cloud to create Cloud Sketches."
},
"cloudSketch": {
"alreadyExists": "Cloud sketch '{0}' already exists.",
"creating": "Creating cloud sketch '{0}'...",
"new": "New Cloud Sketch",
"notFound": "Could not pull the cloud sketch '{0}'. It does not exist.",
"pulling": "Synchronizing sketchbook, pulling '{0}'...",
"pushing": "Synchronizing sketchbook, pushing '{0}'...",
"renaming": "Renaming cloud sketch from '{0}' to '{1}'...",
"synchronizingSketchbook": "Synchronizing sketchbook..."
},
"common": {
"all": "All",
"contributed": "Contributed",
"installManually": "Install Manually",
"later": "Later",
"noBoardSelected": "No board selected",
"noSketchOpened": "No sketch opened",
"notConnected": "[not connected]",
"offlineIndicator": "You appear to be offline. Without an Internet connection, the Arduino CLI might not be able to download the required resources and could cause malfunction. Please connect to the Internet and restart the application.",
"oldFormat": "The '{0}' still uses the old `.pde` format. Do you want to switch to the new `.ino` extension?",
"partner": "Partner",
"processing": "Processing",
"recommended": "Recommended",
"retired": "Retired",
"selectManually": "Select Manually",
"selectedOn": "on {0}",
"serialMonitor": "Serial Monitor",
"type": "Type",
"unknown": "Unknown",
"updateable": "Updatable",
"userAbort": "User abort"
},
"compile": {
"error": "Compilation error: {0}"
},
"component": {
"boardsIncluded": "Boards included in this package:",
"by": "by",
"clickToOpen": "Click to open in browser: {0}",
"filterSearch": "Filter your search...",
"install": "Install",
"installLatest": "Install Latest",
"installVersion": "Install {0}",
"installed": "{0} installed",
"moreInfo": "More info",
"otherVersions": "Other Versions",
"remove": "Remove",
"title": "{0} by {1}",
"uninstall": "Uninstall",
"uninstallMsg": "Do you want to uninstall {0}?",
"update": "Update"
},
"configuration": {
"cli": {
"inaccessibleDirectory": "Could not access the sketchbook location at '{0}': {1}"
}
},
"connectionStatus": {
"connectionLost": "Connection lost. Cloud sketch actions and updates won't be available."
},
"contributions": {
"addFile": "Add File",
"fileAdded": "One file added to the sketch.",
"plotter": {
"couldNotOpen": "Couldn't open serial plotter"
},
"replaceTitle": "Replace"
},
"core": {
"compilerWarnings": {
"all": "All",
"default": "Default",
"more": "More",
"none": "None"
}
},
"coreContribution": {
"copyError": "Copy error messages",
"noBoardSelected": "No board selected. Please select your Arduino board from the Tools > Board menu."
},
"createCloudCopy": "Push Sketch to Cloud",
"daemon": {
"restart": "Restart Daemon",
"start": "Start Daemon",
"stop": "Stop Daemon"
},
"debug": {
"debugWithMessage": "Debug - {0}",
"debuggingNotSupported": "Debugging is not supported by '{0}'",
"getDebugInfo": "Getting debug info...",
"noPlatformInstalledFor": "Platform is not installed for '{0}'",
"optimizeForDebugging": "Optimize for Debugging",
"sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?"
},
"developer": {
"clearBoardList": "Clear the Board List History",
"clearBoardsConfig": "Clear the Board and Port Selection",
"dumpBoardList": "Dump the Board List"
},
"dialog": {
"dontAskAgain": "Don't ask again"
},
"editor": {
"autoFormat": "Auto Format",
"commentUncomment": "Comment/Uncomment",
"copyForForum": "Copy for Forum (Markdown)",
"decreaseFontSize": "Decrease Font Size",
"decreaseIndent": "Decrease Indent",
"increaseFontSize": "Increase Font Size",
"increaseIndent": "Increase Indent",
"nextError": "Next Error",
"previousError": "Previous Error",
"revealError": "Reveal Error"
},
"examples": {
"builtInExamples": "Built-in examples",
"couldNotInitializeExamples": "Could not initialize built-in examples.",
"customLibrary": "Examples from Custom Libraries",
"for": "Examples for {0}",
"forAny": "Examples for any board",
"menu": "Examples"
},
"firmware": {
"checkUpdates": "Check Updates",
"failedInstall": "Installation failed. Please try again.",
"install": "Install",
"installingFirmware": "Installing firmware.",
"overwriteSketch": "Installation will overwrite the Sketch on the board.",
"selectBoard": "Select Board",
"selectVersion": "Select firmware version",
"successfullyInstalled": "Firmware successfully installed.",
"updater": "Firmware Updater"
},
"help": {
"environment": "Environment",
"faq": "Frequently Asked Questions",
"findInReference": "Find in Reference",
"gettingStarted": "Getting Started",
"keyword": "Type a keyword",
"privacyPolicy": "Privacy Policy",
"reference": "Reference",
"search": "Search on Arduino.cc",
"troubleshooting": "Troubleshooting",
"visit": "Visit Arduino.cc"
},
"ide-updater": {
"checkForUpdates": "Check for Arduino IDE Updates",
"closeAndInstallButton": "Close and Install",
"closeToInstallNotice": "Close the software and install the update on your machine.",
"downloadButton": "Download",
"downloadingNotice": "Downloading the latest version of the Arduino IDE.",
"errorCheckingForUpdates": "Error while checking for Arduino IDE updates.\n{0}",
"goToDownloadButton": "Go To Download",
"goToDownloadPage": "An update for the Arduino IDE is available, but we're not able to download and install it automatically. Please go to the download page and download the latest version from there.",
"ideUpdaterDialog": "Software Update",
"newVersionAvailable": "A new version of Arduino IDE ({0}) is available for download.",
"noUpdatesAvailable": "There are no recent updates available for the Arduino IDE",
"notNowButton": "Not now",
"skipVersionButton": "Skip Version",
"updateAvailable": "Update Available",
"versionDownloaded": "Arduino IDE {0} has been downloaded."
},
"installable": {
"libraryInstallFailed": "Failed to install library: '{0}{1}'.",
"platformInstallFailed": "Failed to install platform: '{0}{1}'."
},
"library": {
"addZip": "Add .ZIP Library...",
"arduinoLibraries": "Arduino libraries",
"contributedLibraries": "Contributed libraries",
"include": "Include Library",
"installAll": "Install All",
"installLibraryDependencies": "Install library dependencies",
"installMissingDependencies": "Would you like to install all the missing dependencies?",
"installOneMissingDependency": "Would you like to install the missing dependency?",
"installWithoutDependencies": "Install without dependencies",
"installedSuccessfully": "Successfully installed library {0}:{1}",
"libraryAlreadyExists": "A library already exists. Do you want to overwrite it?",
"manageLibraries": "Manage Libraries...",
"namedLibraryAlreadyExists": "A library folder named {0} already exists. Do you want to overwrite it?",
"needsMultipleDependencies": "The library <b>{0}:{1}</b> needs some other dependencies currently not installed:",
"needsOneDependency": "The library <b>{0}:{1}</b> needs another dependency currently not installed:",
"overwriteExistingLibrary": "Do you want to overwrite the existing library?",
"successfullyInstalledZipLibrary": "Successfully installed library from {0} archive",
"title": "Library Manager",
"uninstalledSuccessfully": "Successfully uninstalled library {0}:{1}",
"zipLibrary": "Library"
},
"librarySearchProperty": {
"topic": "Topic"
},
"libraryTopic": {
"communication": "Communication",
"dataProcessing": "Data Processing",
"dataStorage": "Data Storage",
"deviceControl": "Device Control",
"display": "Display",
"other": "Other",
"sensors": "Sensors",
"signalInputOutput": "Signal Input/Output",
"timing": "Timing",
"uncategorized": "Uncategorized"
},
"libraryType": {
"installed": "Installed"
},
"menu": {
"advanced": "Advanced",
"sketch": "Sketch",
"tools": "Tools"
},
"monitor": {
"alreadyConnectedError": "Could not connect to {0} {1} port. Already connected.",
"baudRate": "{0} baud",
"connectionFailedError": "Could not connect to {0} {1} port.",
"connectionFailedErrorWithDetails": "{0} Could not connect to {1} {2} port.",
"connectionTimeout": "Timeout. The IDE has not received the 'success' message from the monitor after successfully connecting to it",
"missingConfigurationError": "Could not connect to {0} {1} port. The monitor configuration is missing.",
"notConnectedError": "Not connected to {0} {1} port.",
"unableToCloseWebSocket": "Unable to close websocket",
"unableToConnectToWebSocket": "Unable to connect to websocket"
},
"newCloudSketch": {
"newSketchTitle": "Name of the new Cloud Sketch"
},
"portProtocol": {
"network": "Network",
"serial": "Serial"
},
"preferences": {
"additionalManagerURLs": "Additional Boards Manager URLs",
"auth.audience": "The OAuth2 audience.",
"auth.clientID": "The OAuth2 client ID.",
"auth.domain": "The OAuth2 domain.",
"auth.registerUri": "The URI used to register a new user.",
"automatic": "Automatic",
"board.certificates": "List of certificates that can be uploaded to boards",
"browse": "Browse",
"checkForUpdate": "Receive notifications of available updates for the IDE, boards, and libraries. Requires an IDE restart after change. It's true by default.",
"choose": "Choose",
"cli.daemonDebug": "Enable debug logging of the gRPC calls to the Arduino CLI. A restart of the IDE is needed for this setting to take effect. It's false by default.",
"cloud.enabled": "True if the sketch sync functions are enabled. Defaults to true.",
"cloud.pull.warn": "True if users should be warned before pulling a cloud sketch. Defaults to true.",
"cloud.push.warn": "True if users should be warned before pushing a cloud sketch. Defaults to true.",
"cloud.pushpublic.warn": "True if users should be warned before pushing a public sketch to the cloud. Defaults to true.",
"cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.",
"cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.",
"compile": "compile",
"compile.experimental": "True if the IDE should handle multiple compiler errors. False by default",
"compile.revealRange": "Adjusts how compiler errors are revealed in the editor after a failed verify/upload. Possible values: 'auto': Scroll vertically as necessary and reveal a line. 'center': Scroll vertically as necessary and reveal a line centered vertically. 'top': Scroll vertically as necessary and reveal a line close to the top of the viewport, optimized for viewing a code definition. 'centerIfOutsideViewport': Scroll vertically as necessary and reveal a line centered vertically only if it lies outside the viewport. The default value is '{0}'.",
"compile.verbose": "True for verbose compile output. False by default",
"compile.warnings": "Tells gcc which warning level to use. It's 'None' by default",
"compilerWarnings": "Compiler warnings",
"editorFontSize": "Editor font size",
"editorQuickSuggestions": "Editor Quick Suggestions",
"enterAdditionalURLs": "Enter additional URLs, one for each row",
"files.inside.sketches": "Show files inside Sketches",
"ide.updateBaseUrl": "The base URL where to download updates from. Defaults to 'https://downloads.arduino.cc/arduino-ide'",
"ide.updateChannel": "Release channel to get updated from. 'stable' is the stable release, 'nightly' is the latest development build.",
"interfaceScale": "Interface scale",
"invalid.editorFontSize": "Invalid editor font size. It must be a positive integer.",
"invalid.sketchbook.location": "Invalid sketchbook location: {0}",
"invalid.theme": "Invalid theme.",
"language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.",
"language.log": "True if the Arduino Language Server should generate log files into the sketch folder. Otherwise, false. It's false by default.",
"language.realTimeDiagnostics": "If true, the language server provides real-time diagnostics when typing in the editor. It's false by default.",
"manualProxy": "Manual proxy configuration",
"monitor": {
"dockPanel": "The area of the application shell where the _{0}_ widget will reside. It is either \"bottom\" or \"right\". It defaults to \"{1}\"."
},
"network": "Network",
"newSketchbookLocation": "Select new sketchbook location",
"noCliConfig": "Could not load the CLI configuration",
"noProxy": "No proxy",
"proxySettings": {
"hostname": "Host name",
"password": "Password",
"port": "Port number",
"username": "Username"
},
"showVerbose": "Show verbose output during",
"sketch": {
"inoBlueprint": "Absolute filesystem path to the default `.ino` blueprint file. If specified, the content of the blueprint file will be used for every new sketch created by the IDE. The sketches will be generated with the default Arduino content if not specified. Unaccessible blueprint files are ignored. **A restart of the IDE is needed** for this setting to take effect."
},
"sketchbook.location": "Sketchbook location",
"sketchbook.showAllFiles": "True to show all sketch files inside the sketch. It is false by default.",
"survey.notification": "True if users should be notified if a survey is available. True by default.",
"unofficialBoardSupport": "Click for a list of unofficial board support URLs",
"upload": "upload",
"upload.verbose": "True for verbose upload output. False by default.",
"verifyAfterUpload": "Verify code after upload",
"window.autoScale": "True if the user interface automatically scales with the font size.",
"window.zoomLevel": {
"deprecationMessage": "Deprecated. Use 'window.zoomLevel' instead."
}
},
"renameCloudSketch": {
"renameSketchTitle": "New name of the Cloud Sketch"
},
"replaceMsg": "Replace the existing version of {0}?",
"selectZip": "Select a zip file containing the library you'd like to add",
"serial": {
"autoscroll": "Autoscroll",
"carriageReturn": "Carriage Return",
"connecting": "Connecting to '{0}' on '{1}'...",
"message": "Message (Enter to send message to '{0}' on '{1}')",
"newLine": "New Line",
"newLineCarriageReturn": "Both NL & CR",
"noLineEndings": "No Line Ending",
"notConnected": "Not connected. Select a board and a port to connect automatically.",
"openSerialPlotter": "Serial Plotter",
"timestamp": "Timestamp",
"toggleTimestamp": "Toggle Timestamp"
},
"sketch": {
"archiveSketch": "Archive Sketch",
"cantOpen": "A folder named \"{0}\" already exists. Can't open sketch.",
"compile": "Compiling sketch...",
"configureAndUpload": "Configure and Upload",
"createdArchive": "Created archive '{0}'.",
"doneCompiling": "Done compiling.",
"doneUploading": "Done uploading.",
"editInvalidSketchFolderLocationQuestion": "Do you want to try saving the sketch to a different location?",
"editInvalidSketchFolderQuestion": "Do you want to try saving the sketch with a different name?",
"exportBinary": "Export Compiled Binary",
"invalidCloudSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 36 characters.",
"invalidSketchFolderLocationDetails": "You cannot save a sketch into a folder inside itself.",
"invalidSketchFolderLocationMessage": "Invalid sketch folder location: '{0}'",
"invalidSketchFolderNameMessage": "Invalid sketch folder name: '{0}'",
"invalidSketchName": "The name must start with a letter, number, or underscore, followed by letters, numbers, dashes, dots and underscores. Maximum length is 63 characters.",
"moving": "Moving",
"movingMsg": "The file \"{0}\" needs to be inside a sketch folder named \"{1}\".\nCreate this folder, move the file, and continue?",
"new": "New Sketch",
"noTrailingPeriod": "A filename cannot end with a dot",
"openFolder": "Open Folder",
"openRecent": "Open Recent",
"openSketchInNewWindow": "Open Sketch in New Window",
"reservedFilename": "'{0}' is a reserved filename.",
"saveFolderAs": "Save sketch folder as...",
"saveSketch": "Save your sketch to open it again later.",
"saveSketchAs": "Save sketch folder as...",
"showFolder": "Show Sketch Folder",
"sketch": "Sketch",
"sketchAlreadyContainsThisFileError": "The sketch already contains a file named '{0}'",
"sketchAlreadyContainsThisFileMessage": "Failed to save sketch \"{0}\" as \"{1}\". {2}",
"sketchbook": "Sketchbook",
"titleLocalSketchbook": "Local Sketchbook",
"titleSketchbook": "Sketchbook",
"upload": "Upload",
"uploadUsingProgrammer": "Upload Using Programmer",
"uploading": "Uploading...",
"userFieldsNotFoundError": "Can't find user fields for connected board",
"verify": "Verify",
"verifyOrCompile": "Verify/Compile"
},
"sketchbook": {
"newCloudSketch": "New Cloud Sketch",
"newSketch": "New Sketch"
},
"survey": {
"answerSurvey": "Answer survey",
"dismissSurvey": "Don't show again",
"surveyMessage": "Please help us improve by answering this super short survey. We value our community and would like to get to know our supporters a little better."
},
"theme": {
"currentThemeNotFound": "Could not find the currently selected theme: {0}. Arduino IDE has picked a built-in theme compatible with the missing one.",
"dark": "Dark",
"deprecated": "{0} (deprecated)",
"hc": "Dark High Contrast",
"hcLight": "Light High Contrast",
"light": "Light",
"user": "{0} (user)"
},
"title": {
"cloud": "Cloud"
},
"updateIndexes": {
"updateIndexes": "Update Indexes",
"updateLibraryIndex": "Update Library Index",
"updatePackageIndex": "Update Package Index"
},
"upload": {
"error": "{0} error: {1}"
},
"userFields": {
"cancel": "Cancel",
"enterField": "Enter {0}",
"upload": "Upload"
},
"validateSketch": {
"abortFixMessage": "The sketch is still invalid. Do you want to fix the remaining problems? By clicking '{0}', a new sketch will open.",
"abortFixTitle": "Invalid sketch",
"renameSketchFileMessage": "The sketch file '{0}' cannot be used. {1} Do you want to rename the sketch file now?",
"renameSketchFileTitle": "Invalid sketch filename",
"renameSketchFolderMessage": "The sketch '{0}' cannot be used. {1} To get rid of this message, rename the sketch. Do you want to rename the sketch now?",
"renameSketchFolderTitle": "Invalid sketch name"
},
"workspace": {
"alreadyExists": "'{0}' already exists."
}
},
"theia": {
"core": {
"cannotConnectBackend": "Cannot connect to the backend.",
"cannotConnectDaemon": "Cannot connect to the CLI daemon.",
"couldNotSave": "Could not save the sketch. Please copy your unsaved work into your favorite text editor, and restart the IDE.",
"daemonOffline": "CLI Daemon Offline",
"offline": "Offline",
"offlineText": "Offline",
"quitTitle": "Are you sure you want to quit?"
},
"editor": {
"unsavedTitle": "Unsaved {0}"
},
"messages": {
"collapse": "Collapse",
"expand": "Expand"
},
"workspace": {
"deleteCloudSketch": "The cloud sketch '{0}' will be permanently deleted from the Arduino servers and the local caches. This action is irreversible. Do you want to delete the current sketch?",
"deleteCurrentSketch": "The sketch '{0}' will be permanently deleted. This action is irreversible. Do you want to delete the current sketch?",
"fileNewName": "Name for new file",
"invalidExtension": ".{0} is not a valid extension",
"newFileName": "New name for file"
}
}
}

View File

@@ -1,47 +1,47 @@
{
"arduino": {
"about": {
"detail": "Version: {0}\nDatum: {1}{2}\nCLI Version: {3}\n\n{4}",
"detail": "Version: {0}\nDatum: {1}{2}\nCLI Version: {3}{4} [{5}]\n\n{6}",
"label": "Über {0}"
},
"account": {
"goToCloudEditor": "Zum Cloud-Editor",
"goToIoTCloud": "Zur IoT-Cloud",
"goToCloudEditor": "Zum Cloud-Editor gehen",
"goToIoTCloud": "Zur IoT-Cloud gehen",
"goToProfile": "Profil aufrufen",
"menuTitle": "Arduino-Cloud"
},
"board": {
"board": "Board{0}",
"boardConfigDialogTitle": " Anderes Board und anderen Ports wählen",
"boardConfigDialogTitle": "Andere Boards und Ports wählen",
"boardInfo": "Board-Informationen",
"boards": "Boards",
"configDialog1": " Wähle ein Board und einen Port, wenn du den Sketch hochladen möchtest.",
"configDialog1": "Wählen Sie ein Board und einen Port, wenn Sie den Sketch hochladen möchten.",
"configDialog2": "Wenn Sie nur ein Board auswählen, werden Sie den Sketch nur kompilieren können, jedoch nicht hochladen.",
"couldNotFindPreviouslySelected": " Das vorher gewählte Board '{0}' gehört nicht zur installierten Plattform '{1}'. Möchtest du das Board neu auswählen?",
"couldNotFindPreviouslySelected": "Zuvor gewähltes Board '{0}' wurde nicht in der installierten Plattform '{1}' gefunden. Bitte Board erneut auswählen. Jetzt auswählen?",
"editBoardsConfig": "Board und Port ändern...",
"getBoardInfo": "Board-Infos abrufen",
"getBoardInfo": "Board-Informationen abrufen",
"inSketchbook": "(im Sketchbook)",
"installNow": " Der Core \"{0}{1}\" muss für das ausgewählte Board \"{2}\" installiert werden. Möchtest du jetzt installieren?",
"installNow": "Der \"{0} {1}\" Core muss für das ausgewählte \"{2}\" Board installiert werden. Jetzt installieren?",
"noBoardsFound": "Für \"{0}\" wurden keine Boards gefunden.",
"noNativeSerialPort": " Nativer serieller Port, keine Infos verfügbar.",
"noNativeSerialPort": "Nativer serieller Port, keine Informationen verfügbar.",
"noPortsDiscovered": "Keine Ports gefunden",
"nonSerialPort": " Nicht-serieller Port, keine Infos verfügbar.",
"openBoardsConfig": " Wähle ein anderes Board und einen anderen Port ...",
"pleasePickBoard": " Wähle bitte ein Board, das am angegebenen Port angeschlossen ist.",
"nonSerialPort": "Nicht-serieller Port, keine Informationen verfügbar.",
"openBoardsConfig": "Wähle einen anderes Board und einen anderen Port...",
"pleasePickBoard": "Bitte wählen Sie das Board, welches am ausgewählten Port angeschlossen ist.",
"port": "Port{0}",
"ports": "Ports",
"programmer": "Programmer",
"reselectLater": "Später auswählen",
"revertBoardsConfig": "'{0}' an '{1}' verwenden",
"revertBoardsConfig": "Verwende {0} an {1}",
"searchBoard": "Board suchen",
"selectBoard": "Board wählen",
"selectPortForInfo": " Wähle einen Port, um Infos über das Board zu erhalten.",
"showAllAvailablePorts": " Alle verfügbaren Ports anzeigen, wenn aktiviert.",
"showAllPorts": "Alle Ports anzeigen",
"selectPortForInfo": "Wähle ein Port, um Informationen über das Board zu erhalten.",
"showAllAvailablePorts": "Zeige alle verfügbaren Ports, wenn aktiviert.",
"showAllPorts": "Zeige alle Ports",
"succesfullyInstalledPlatform": "Plattform erfolgreich installiert {0}:{1}",
"succesfullyUninstalledPlatform": "Plattform erfolgreich deinstalliert {0}:{1}",
"typeOfPorts": "{0} Ports",
"unconfirmedBoard": "Unbestätigtes Board",
"unconfirmedBoard": "Board nicht bestätigt",
"unknownBoard": "Unbekanntes Board"
},
"boardsManager": "Board-Verwaltung",
@@ -50,41 +50,41 @@
},
"bootloader": {
"burnBootloader": "Bootloader brennen",
"burningBootloader": "Bootloader wird gebrannt ...",
"burningBootloader": "Bootloader überschreiben ...",
"doneBurningBootloader": "Bootloader erfolgreich gebrannt."
},
"burnBootloader": {
"error": " Fehler beim Brennen des Bootloaders: {0}"
"error": "Fehler beim Überschreiben des Bootloaders: {0}"
},
"certificate": {
"addNew": "Neu hinzufügen",
"addURL": "URL hinzufügen, um das SSL-Zertifikat abzurufen",
"boardAtPort": "{0} bei {1}",
"certificatesUploaded": "Zertifikate erfolgreich hochgeladen.",
"certificatesUploaded": "Die Zertifikate wurden erfolgreich hochgeladen.",
"enterURL": "URL eingeben",
"noSupportedBoardConnected": "Kein unterstütztes Board angeschlossen",
"openContext": "Kontext öffnen",
"remove": "Entfernen",
"selectBoard": "Wähle ein Board...",
"selectCertificateToUpload": "1. Zertifikat zum Hochladen auswählen",
"selectCertificateToUpload": "1. Zertifikat zum hochladen auswählen",
"selectDestinationBoardToUpload": "2. Zielboard wählen und Zertifikat hochladen",
"upload": "Hochladen",
"uploadFailed": "Hochladen fehlgeschlagen. Versuche es bitte noch einmal.",
"uploadFailed": "Hochladen fehlgeschlagen. Bitte versuchen Sie es erneut.",
"uploadRootCertificates": "SSL Root Zertifikat hochladen",
"uploadingCertificates": "Zertifikate hochladen..."
},
"checkForUpdates": {
"checkForUpdates": "Arduino-Updates suchen",
"checkForUpdates": "Nach Arduino Updates suchen",
"installAll": "Alle installieren",
"noUpdates": " Es sind keine neuen Updates verfügbar.",
"promptUpdateBoards": " Es sind Updates für einige deiner Boards verfügbar.",
"promptUpdateLibraries": " Es sind Updates für einige deiner Bibliotheken verfügbar.",
"noUpdates": "Es sind keine aktuellen Updates verfügbar.",
"promptUpdateBoards": "Es sind Updates für einige Ihrer Boards verfügbar.",
"promptUpdateLibraries": "Es sind Updates für einige Ihrer Blibliotheken verfügbar.",
"updatingBoards": "Boards werden aktualisiert ...",
"updatingLibraries": "Bibliotheken werden aktualisiert ..."
},
"cli-error-parser": {
"keyboardError": " 'Keyboard' nicht gefunden. Enthält dein Sketch die Zeile '#include <Keyboard.h>'?",
"mouseError": " 'Mouse' nicht gefunden. Enthält dein Sketch die Zeile '#include <Mouse.h>'?"
"keyboardError": "'Keyboard' nicht gefunden. Enthält ihr Sketch die Zeile '#include <Keyboard.h>'?",
"mouseError": "'Mouse' nicht gefunden. Enthält ihr Sketch die Zeile '#include <Mouse.h>'?"
},
"cloud": {
"chooseSketchVisibility": "Wähle die Sichtbarkeit deines Sketches:",
@@ -104,34 +104,34 @@
"options": "Optionen ...",
"privateVisibility": "Privat. Nur du siehst diesen Sketch.",
"profilePicture": "Profilbild",
"publicVisibility": " Öffentlich. Jeder mit diesen Link kann den Sketch sehen.",
"publicVisibility": "Öffentlich - Jeder kann mit diesen Link den Sketch sehen.",
"pull": "Pull",
"pullFirst": "Du musst zuerst herunterladen, damit du in die Cloud schieben kannst.",
"pullSketch": "Pull Sketch",
"pullSketchMsg": "Wenn du diesen Sketch aus der Cloud lädst, wird die lokale Version überschrieben. Möchtest du fortfahren?",
"push": "Push",
"pushSketch": "Push Sketch",
"pushSketchMsg": " Der Sketch ist öffentlich. Prüfe vor dem Pushen, dass alle sensiblen Infos in arduino_secrets.h definiert sind. Du kannst einen Sketch beim Teilen als privat definieren.",
"pushSketchMsg": "Das ist ein öffentlicher Sketch. Vor dem Pushen solltest du überprüfen, ob alle sensiblen Informationen in arduino_secrets.h definiert sind. Du kannst einen Sketch mit dem Teilen-Feld als privat definieren.",
"remote": "Remote",
"share": "Teilen ...",
"share": "Teilen....",
"shareSketch": "Sketch teilen",
"showHideSketchbook": "Zeige/verstecke Cloud Sketchbook",
"showHideSketchbook": "Zeige/Verstecke Cloud Sketchbook",
"signIn": "Anmelden",
"signInToCloud": "Anmelden zur Arduino Cloud",
"signOut": "Abmelden",
"sync": "Synchronisieren",
"sync": "Synchronisiere",
"syncEditSketches": "Synchronisiere und editiere deine Arduino Cloud Sketches.",
"visitArduinoCloud": "Arduino Cloud besuchen, um Cloud Sketches zu erstellen."
"visitArduinoCloud": "Besuche Arduino Cloud um Cloud Sketche zu erstellen."
},
"cloudSketch": {
"alreadyExists": "Cloud-Sketch '{0}' existiert bereits.",
"creating": "Cloud-Sketch '{0}' wird erstellt...",
"new": "Neuer Cloud-Sketch",
"notFound": "Cloud-Sketch '{0}' konnte nicht heruntergeladen werden. Er existiert nicht.",
"pulling": "Sketchbook synchronisieren und '{0}' herunterladen ...",
"pushing": "Sketchbook synchronisieren und '{0}' hochladen ...",
"pulling": "Synchronisiere Sketchbook, lade '{0}' runter...",
"pushing": "Synchronisiere Sketchbook, lade '{0}' hoch...",
"renaming": "Cloud-Sketch wird von '{0}' nach '{1}' umbenannt ...",
"synchronizingSketchbook": "Sketchbook wird synchronisiert ..."
"synchronizingSketchbook": "Synchronisiere Sketchbook..."
},
"common": {
"all": "Alle",
@@ -139,55 +139,54 @@
"installManually": "Manuell installieren",
"later": "später",
"noBoardSelected": "Kein Board ausgewählt",
"noSketchOpened": "Kein Sketch geöffnet",
"noSketchOpened": "No sketch opened",
"notConnected": "[keine Verbindung]",
"offlineIndicator": "Anscheinend bist du offline. Ohne eine aktive Internetverbindung kann das Arduino CLI nicht die nötigen Ressourcen herunterladen, was zu Problemen führen kann. Bitte überprüfe deine Internetverbindung und starte das Programm neu. ",
"oldFormat": " Der Sketch '{0}' verwendet das alte Format '.pde'. Möchtest du auf die neue Endung '.ino' wechseln?",
"oldFormat": "Der Sketch '{0}' verwendet noch das alte '.pde' Format. Möchtest du auf die neuere '.ino' Endung wechseln?",
"partner": "Partner",
"processing": "Verarbeiten",
"recommended": "Empfohlen",
"retired": "Zurückgezogen",
"selectManually": "Manuell auswählen",
"selectManually": "Select Manually",
"selectedOn": "an {0}",
"serialMonitor": "Serieller Monitor",
"type": "Typ",
"unknown": "unbekannt",
"updateable": "Aktualisierbar",
"userAbort": "Nutzerabbruch"
"updateable": "Aktualisierbar"
},
"compile": {
"error": "Fehler beim kompilieren: {0}"
},
"component": {
"boardsIncluded": "Im Paket enthaltene Boards:",
"boardsIncluded": "In diesem Paket enthaltene Boards:",
"by": "von",
"clickToOpen": " Klicke, um im Browser zu öffnen: {0}",
"filterSearch": "Filtere deine Suche ...",
"clickToOpen": "Klicken, um im Browser zu öffnen: {0}",
"filterSearch": "Filtern Sie Ihre Suche ...",
"install": "Installieren",
"installLatest": "Neueste installieren",
"installVersion": "{0} installieren",
"installVersion": "Installiere {0}",
"installed": "{0} installiert",
"moreInfo": "Mehr Information",
"otherVersions": "Andere Versionen",
"remove": "Entfernen",
"title": "{0} von {1}",
"title": "{0} durch {1}",
"uninstall": "Deinstallieren",
"uninstallMsg": "Möchtest du {0} deinstallieren?",
"uninstallMsg": "Möchten Sie {0} deinstallieren?",
"update": "Aktualisieren"
},
"configuration": {
"cli": {
"inaccessibleDirectory": "Kein Zugriff möglich auf Sketchbook-Pfad bei '{0}': {1}"
"inaccessibleDirectory": "Kein Zugriff möglich auf Sketchbook-Ort bei '{0}': {1}"
}
},
"connectionStatus": {
"connectionLost": "Keine Verbindung. Aktionen und Updates für Cloud-Sketches sind nicht möglich."
"connectionLost": "Verbindung verloren. Cloud-Sketch Aktionen und Updates werden nicht verfügbar sein."
},
"contributions": {
"addFile": " Datei hinzufügen",
"addFile": "Datei hinzufügen...",
"fileAdded": "Eine Datei wurde zum Sketch hinzugefügt.",
"plotter": {
"couldNotOpen": " Der serielle Plotter konnte nicht geöffnet werden."
"couldNotOpen": "Konnte den seriellen Plotter nicht öffnen"
},
"replaceTitle": "Ersetzen"
},
@@ -196,29 +195,30 @@
"all": "Alle",
"default": "Standard",
"more": "Mehr",
"none": "Keine"
"none": "Kein/e/r"
}
},
"coreContribution": {
"copyError": "Fehlermeldungen kopieren",
"noBoardSelected": "Kein Board ausgewählt. Wähle dein Arduino-Board im Menü 'Werkzeuge > Board'."
"noBoardSelected": "Kein Board ausgewählt. Bitte Arduino Board im Menü wählen mit Werkzeuge > Board"
},
"createCloudCopy": "Sketch in die Cloud hochladen",
"createCloudCopy": "Sketch in Cloud hochladen",
"daemon": {
"restart": "Daemon neustarten",
"start": "Daemon starten",
"stop": "Daemon stoppen"
"stop": "Stoppe Daemon"
},
"debug": {
"debugWithMessage": "Debug - {0}",
"debuggingNotSupported": "Debugging wird von '{0}' nicht unterstützt.",
"getDebugInfo": "Debug-Infos holen ...",
"noPlatformInstalledFor": "Plattform ist für \"{0}\" nicht installiert.",
"debuggingNotSupported": "'{0}' unterstützt kein Debuggen",
"getDebugInfo": "Getting debug info...",
"noPlatformInstalledFor": "Die Platform für '{0}' ist nicht instaliert.",
"noProgrammerSelectedFor": "No programmer selected for '{0}'",
"optimizeForDebugging": "Für Debugging optimieren",
"sketchIsNotCompiled": "Der Sketch '{0}' muss vor dem Debugging überprüft werden. Überprüfe den Sketch und starte das Debugging erneut. Möchtest du den Sketch jetzt überprüfen?"
"sketchIsNotCompiled": "Der Sketch '{0}' muss vor dem Starten einer Debugging-Sitzung überprüft werden. Bitte überprüfe den Sketch und starte das Debugging erneut. Möchtest du den Sketch jetzt überprüfen?"
},
"developer": {
"clearBoardList": "Board-Tabellen-Verlauf löschen",
"clearBoardList": "Board-Tabellen-Historie leeren",
"clearBoardsConfig": "Board- und Portauswahl aufheben",
"dumpBoardList": "Board-Tabelle löschen"
},
@@ -226,12 +226,12 @@
"dontAskAgain": "Nicht noch einmal fragen"
},
"editor": {
"autoFormat": "Automatisch formatieren",
"autoFormat": "automatisch Formatieren",
"commentUncomment": "Kommentieren/Kommentar aufheben",
"copyForForum": "Für Forum kopieren (Markdown)",
"decreaseFontSize": "Schrift verkleinern",
"decreaseIndent": "Einrückung verringern ",
"increaseFontSize": "Schrift vergrößern",
"increaseFontSize": "Schriftgröße vergrößern ",
"increaseIndent": "Einrückung erweitern",
"nextError": "Nächster Fehler",
"previousError": "Vorheriger Fehler",
@@ -239,8 +239,8 @@
},
"examples": {
"builtInExamples": "Mitgelieferte Beispiele",
"couldNotInitializeExamples": "Die integrierten Beispiele konnten nicht initialisiert werden.",
"customLibrary": "Beispiele aus angepassten Bibliotheken",
"couldNotInitializeExamples": "Mitgelieferte Beispiele konnten nicht initialisiert werden",
"customLibrary": "Beispiele aus eigenen Bibliotheken",
"for": "Beispiele für {0}",
"forAny": "Beispiele für jedes Board",
"menu": "Beispiele"
@@ -250,17 +250,17 @@
"failedInstall": "Installation fehlgeschlagen. Bitte versuche es erneut ",
"install": "Installieren",
"installingFirmware": "Firmware wird installiert.",
"overwriteSketch": "Die Installation überschreibt den Sketch auf dem Board.",
"overwriteSketch": "Die Installation wird den Sketch auf dem Board überschreiben.",
"selectBoard": "Board auswählen",
"selectVersion": "Firmware-Version wählen",
"successfullyInstalled": "Die Firmware wurde erfolgreich installiert.",
"updater": "Firmware-Updater"
"selectVersion": "Firmware Version wählen",
"successfullyInstalled": "Firmware wurde erfolgreich installiert.",
"updater": "Firmware Updater"
},
"help": {
"environment": "Umgebung",
"faq": "Häufig gestellte Fragen",
"findInReference": "Referenzsuche",
"gettingStarted": "Loslegen ...",
"gettingStarted": "Loslegen...",
"keyword": "Schlagwort eingeben",
"privacyPolicy": "Datenschutzbestimmungen",
"reference": "Referenz",
@@ -269,17 +269,17 @@
"visit": "Besuche Arduino.cc"
},
"ide-updater": {
"checkForUpdates": "Arduino IDE Updates suchen",
"checkForUpdates": "Nach Arduino IDE Updates suchen",
"closeAndInstallButton": "Schließen und Installieren",
"closeToInstallNotice": "Software beenden und Update auf deinem Computer installieren",
"closeToInstallNotice": "Beende die Software und installiere das Update auf deinem Computer",
"downloadButton": "Download",
"downloadingNotice": "Die neueste Version der Arduino IDE wird heruntergeladen.",
"downloadingNotice": "Die neueste Version der Arduino IDE wird heruntergeladen",
"errorCheckingForUpdates": "Fehler bei der Suche nach IDE Updates{0}",
"goToDownloadButton": "Zum Download wechseln",
"goToDownloadPage": "Ein Update für die Arduino IDE ist verfügbar, konnte aber nicht automatisch installiert werden. Gehe zur Download-Seite und lade dort die neueste Version herunter. ",
"ideUpdaterDialog": "Software-Update",
"newVersionAvailable": "Eine neue Version der Arduino IDE ({0}) ist zum Download verfügbar.",
"noUpdatesAvailable": "Es gibt keine neuen Updates für die Arduino IDE.",
"goToDownloadPage": "Ein Update für die Arduino IDE ist verfügbar, konnte aber nicht automatisch heruntergeladen und installiert werden. Bitte gehen sie zur Download-Seite und laden sie dort die neueste Version herunter ",
"ideUpdaterDialog": "Software Update",
"newVersionAvailable": "Eine neue Version der Arduino IDE ({0}) ist zum Download verfügbar",
"noUpdatesAvailable": "Es gibt keine neuen Updates für die Arduino IDE",
"notNowButton": "Später",
"skipVersionButton": "Version überspringen",
"updateAvailable": "Update verfügbar",
@@ -291,22 +291,22 @@
},
"library": {
"addZip": ".ZIP-Bibliothek hinzufügen...",
"arduinoLibraries": "Arduino-Bibliotheken",
"contributedLibraries": "Beigesteuerte Bibliotheken",
"arduinoLibraries": "Arduino Bibliotheken",
"contributedLibraries": "Bibliotheken, zu denen beigetragen wurde",
"include": "Bibliothek einbinden",
"installAll": "Alle installieren",
"installLibraryDependencies": "Bibliotheksabhängigkeiten installieren",
"installMissingDependencies": "Möchtest du die fehlenden Abhängigkeiten installieren?",
"installOneMissingDependency": "Möchtest du die fehlende Abhängigkeit installieren?",
"installMissingDependencies": "Möchtest Du die fehlenden Abhängigkeiten installieren?",
"installOneMissingDependency": "Möchtest Du die fehlende Abhängigkeit installieren?",
"installWithoutDependencies": "Ohne Abhängigkeiten installieren",
"installedSuccessfully": "Bibliothek {0}:{1} erfolgreich installiert",
"libraryAlreadyExists": "Die Bibliothek existiert bereits. Möchtest du sie überschreiben?",
"libraryAlreadyExists": "Eine Bibliothek existiert bereits. Möchten sie diese überschreiben?",
"manageLibraries": "Bibliotheken verwalten ...",
"namedLibraryAlreadyExists": "Der Bibliothek-Ordner '{0}' existiert bereits. Möchtest du ihn überschreiben?",
"needsMultipleDependencies": "Die Bibliothek <b>{0}:{1}</b> benötigt ein paar weitere Abhängigkeiten, die derzeit nicht installiert sind:",
"needsOneDependency": "Die Bibliothek <b>{0}:{1}</b> benötigt eine weitere Abhängigkeit, die derzeit nicht installiert ist:",
"namedLibraryAlreadyExists": "Der Bibliothek-Ordner '{0}' existiert bereits. Überschreiben?",
"needsMultipleDependencies": "Die Bibliothek <b>{0}:{1}</b> benötigt ein paar andere Abhängigkeiten, die derzeit nicht installiert sind:",
"needsOneDependency": "Die Bibliothek <b>{0}:{1}</b> benötigt eine andere Abhängigkeit, welche derzeit nicht installiert ist:",
"overwriteExistingLibrary": "Möchtest du die existierende Bibliothek überschreiben?",
"successfullyInstalledZipLibrary": "Bibliothek erfolgreich vom Archiv {0} installiert",
"successfullyInstalledZipLibrary": "Bibliothek erfolgreich vom {0} Archiv installiert",
"title": "Bibliotheksverwalter",
"uninstalledSuccessfully": "Bibliothek {0}:{1} erfolgreich deinstalliert",
"zipLibrary": "Bibliothek"
@@ -320,7 +320,7 @@
"dataStorage": "Datenspeicher",
"deviceControl": "Gerätesteuerung",
"display": "Anzeige",
"other": "Weitere",
"other": "Andere/s",
"sensors": "Sensoren",
"signalInputOutput": "Signal Ein-/Ausgang",
"timing": "Timing",
@@ -339,7 +339,7 @@
"baudRate": "{0} Baud",
"connectionFailedError": "Konnte nicht mit {0} {1} Port verbinden.",
"connectionFailedErrorWithDetails": "{0} Konnte nicht mit {1} {2} Port verbinden.",
"connectionTimeout": "Timeout. Die IDE hat keine 'Success'-Nachricht erhalten, nachdem der Monitor erfolgreich verbunden wurde.",
"connectionTimeout": "Zeitüberschreitung. Die IDE hat die 'success'-Nachricht nach erfolgreicher Verbindung nicht vom Monitor erhalten.",
"missingConfigurationError": "Konnte nicht mit {0} {1} Port verbinden. Monitor-Konfiguration fehlt.",
"notConnectedError": "Nicht mit {0} {1} Port verbunden.",
"unableToCloseWebSocket": "Websocket wurde nicht geschlossen",
@@ -354,85 +354,84 @@
},
"preferences": {
"additionalManagerURLs": "Zusätzliche Boardverwalter-URLs",
"auth.audience": "OAuth2-Audience",
"auth.clientID": "OAuth2-ClientID",
"auth.domain": "OAuth2-Domain",
"auth.registerUri": "Das URI hat einen neuen Nutzer registriert.",
"auth.audience": "Die OAuth2 Audience",
"auth.clientID": "Die OAuth2 client ID.",
"auth.domain": "Die OAuth2 Domain.",
"auth.registerUri": "Das URI hat einen neuen Benutzer registriert.",
"automatic": "Automatisch",
"board.certificates": "Liste der Zertifikate, die zu den Boards hochgeladen werden können.",
"board.certificates": "Liste der Zertifikate, welche zu den Boards hochgeladen werden können.",
"browse": "Durchsuchen",
"checkForUpdate": "Benachrichtigungen bei verfügbaren Updates für IDE, Boards und Bibliotheken erhalten. Nach einer Änderung ist ein Neustart der IDE notwendig. Standardmäßig eingeschaltet.",
"checkForUpdate": "Erhalte Benachrichtigungen bei verfügbaren Updates für die IDE, die Boards und Bibliotheken. Nach Änderung ist ein Neustart der IDE notwendig. Standardmäßig eingeschaltet.",
"choose": "Wähle",
"cli.daemonDebug": "Debug-Protokoll von gRPC-Aufrufe an das Arduino CLI aktivieren. Nach der Änderung ist ein Neustart der IDE notwendig. Standardmäßig deaktiviert.",
"cloud.enabled": "Wenn diese Option aktiviert ist, sind die Sketch-Syncfunktionen aktiv. Standardmäßig aktiviert.",
"cloud.pull.warn": "Wenn diese Option aktiviert ist, werden Nutzer vor dem Herunterladen eines Sketches aus der Cloud gewarnt. Standardmäßig aktiviert.",
"cloud.push.warn": "Wenn diese Option aktiviert ist, werden Nutzer vor dem Hochladen eines Sketches in die Cloud gewarnt. Standardmäßig aktiviert. ",
"cloud.pushpublic.warn": "Wenn diese Option aktiviert ist, werden Nutzer vor dem Hochladen eines öffentlichen Sketches in die Cloud gewarnt. Standardmäßig aktiviert. ",
"cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.",
"cloud.sketchSyncEndpoint": "Endpunkt, um Sketches zu/von einem Backend zu laden. Standardeinstellung ist die Arduino Cloud API.",
"cli.daemonDebug": "Aktivieren Sie die Debug-Protokollierung der gRPC-Aufrufe an das Arduino CLI. Ein Neustart der IDE ist erforderlich, damit diese Einstellung wirksam wird. Standardmäßig ist sie deaktiviert.",
"cloud.enabled": "Wahr, wenn die Sketch-Syncfunctionen aktiv sind. Standardeinstellung ist wahr.",
"cloud.pull.warn": "Wahr, wenn Benutzer vor dem Herunterladen eines Sketches aus der Cloud gewarnt werden sollen. Standardmäßig Wahr.",
"cloud.push.warn": "Wahr, wenn Benutzer vor dem Hochladen eines Cloud-Sketches gewarnt werden sollen. Standardmäßig Wahr.",
"cloud.pushpublic.warn": "Wahr, wenn Benutzer vor dem Hochladen eines öffentlichen Sketches in die Cloud gewarnt werden sollen. Standardmäßig Wahr.",
"cloud.sketchSyncEndpoint": "Der Endpunkt, um Sketches zu/von einem Backend zu laden. Standardeinstellung ist die Arduino Cloud API.",
"compile": "Kompilieren",
"compile.experimental": "Wenn diese Option aktiviert, werden mehrere Compiler-Fehler in der IDE gleichzeitig behandelt. Standardmäßig deaktiviert.",
"compile.revealRange": "Diese Option steuert, wie Compiler-Fehler im Editor angezeigt werden. Mögliche Werte sind: \n'auto': bei Bedarf vertikal scrollen, um die Zeile anzuzeigen. 'center': bei Bedarf vertikal scrollen und die Zeile zentriert anzeigen. 'top': bei Bedarf vertikal scrollen und die Zeile oben im Textbereich anzeigen, optimiert für das Betrachten einer Codedefinition. 'centerIfOutsideViewport': bei Bedarf vertikal scrollen und die Zeile nur anzeigen, wenn sie außerhalb des Anzeigebereichs liegt. Der Standardwert ist '{0}'.",
"compile.verbose": "Wenn diese Option aktiviert ist, werden ausführliche Compiler-Meldungen angezeigt. Standardgemäß deaktiviert.",
"compile.warnings": "Einstellung der Compiler-Warnungen für den GCC. Standardmäßig 'Keine'. ",
"compile.experimental": "Aktivieren, wenn die IDE mehrere Fehler des Compiler behandeln soll. Standardmäßig ausgeschaltet.",
"compile.revealRange": "Legt fest, wie Compilerfehler im Editor nach einer fehlgeschlagenen Überprüfung/einem fehlgeschlagenen Upload angezeigt werden. Mögliche Werte: 'auto': bei Bedarf vertikal scrollen, um die Zeile anzuzeigen. 'center': bei Bedarf vertikal scrollen und die Zeile zentriert anzeigen. 'top': bei Bedarf vertikal scrollen und die Zeile nahe am oberen Ende des Darstellungsbereichs anzeigen. Optimiert für das Betrachten einer Codedefinition. 'centerIfOutsideViewport': bei Bedarf vertikal scrollen und die Zeile nur anzeigen, wenn sie außerhalb des Anzeigebereichs liegt. Der Standardwert ist '{0}'.",
"compile.verbose": "Aktivieren Sie diese Option, wenn ausführliche Compiler-Meldungen angezeigt werden sollen. Standardgemäß deaktiviert.",
"compile.warnings": "Einstellung der Compiler-Warnungen für den GCC. Standardeinstellung ist 'Keine'. ",
"compilerWarnings": "Compiler-Meldungen",
"editorFontSize": "Schriftgröße im Editor",
"editorQuickSuggestions": "Schnelle Editor-Vorschläge",
"enterAdditionalURLs": "Zusätzliche URLs hinzufügen, jeweils eine pro Zeile.",
"editorFontSize": "Editor Schriftgröße",
"editorQuickSuggestions": "Schnelle Editor Vorschläge",
"enterAdditionalURLs": "Füge zusätzliche URLs hinzu, jede Reihe einzeln",
"files.inside.sketches": "Dateien im Sketch zeigen",
"ide.updateBaseUrl": "URL für den Download von Updates. Standardmäßig 'https://downloads.arduino.cc/arduino-ide'",
"ide.updateBaseUrl": "URL für den Download von Updates. Standard-URL: \"https://downloads.arduino.cc/arduino-ide\"",
"ide.updateChannel": "Release-Channel, von dem Updates bezogen werden sollen. 'stable' für stabile und getestete Updates. 'nightly' für allerneuste Updates, welche jedoch noch nicht ausreichend getestet wurden.",
"interfaceScale": "Skalierung der Darstellung",
"invalid.editorFontSize": "Ungültige Schriftgröße. Der Wert muss eine positie ganze Zahl sein.",
"invalid.sketchbook.location": "Ungültiger Sketchbook-Pfad: {0}",
"invalid.theme": "Ungültiges Design",
"language.asyncWorkers": "Anzahl der asynchronen Worker, die vom Arduino-Sprachserver (clangd) verwendet werden. Der Hintergrundindex verwendet diese Anzahl an Workern ebenfalls. Der Mindestwert ist 0 und der Höchstwert ist 8. Wenn der Wert 0 ist, verwendet der Sprachserver alle verfügbaren Kerne. Der Standardwert ist 0.",
"language.log": "Wenn diese Option aktiviert ist, schreibt der Arduino-Sprachserver seine Logdateien in den Sketch-Ordner. Standardmäßig deaktivert. ",
"language.realTimeDiagnostics": "Wenn diese Option aktiviert ist, wird bei der Eingabe im Editor eine Echtzeitdiagnose angeboten. Standardmäßig deaktiviert.",
"manualProxy": "Manuelle Proxy-Einstellung",
"interfaceScale": "Größe der Benutzeroberfläche",
"invalid.editorFontSize": "Ungültige Editor-Schriftgröße. Wert muss eine Ganzzahl größer 0 (Null) sein.",
"invalid.sketchbook.location": "Ungültiger Sketchbook Speicherort: {0}",
"invalid.theme": "Ungültiges Erscheinungsbild",
"language.asyncWorkers": "Number of async workers used by the Arduino Language Server (clangd). Background index also uses this many workers. The minimum value is 0, and the maximum is 8. When it is 0, the language server uses all available cores. The default value is 0.",
"language.log": "Wenn aktivert, werden Arduino-Sprach-Server-Logdateien in den Sketch-Ordner geschrieben. Standardmäßig deaktivert. ",
"language.realTimeDiagnostics": "Wenn aktiviert, bietet der Sprachserver bei der Eingabe im Editor eine Echtzeitdiagnose. Ist standardmäßig deaktiviert.",
"manualProxy": "Manuelle Proxy Einstellung",
"monitor": {
"dockPanel": "Der Bereich der Applikations-Shell wo das {0}-Widget angezeigt werden soll. Entweder \"unten\" oder \"rechts\". Standardmäßig \"{1}\"."
},
"network": "Netzwerk",
"newSketchbookLocation": "Wähle einen neuen Ort für das Sketchbook ",
"noCliConfig": "CLI-Konfiguration konnte nicht geladen werden.",
"noCliConfig": "CLI-Konfiguration konnte nicht geladen werden",
"noProxy": "Kein Proxy",
"proxySettings": {
"hostname": "Hostname",
"password": "Kennwort",
"port": "Port",
"username": "Nutzername"
"password": "Passwort",
"port": "Portnummer",
"username": "Benutzername"
},
"showVerbose": "Compiler-Meldungen anzeigen beim",
"sketch": {
"inoBlueprint": "Dateipfad zur Standardvorlage '.ino'. Wenn eine Vorlage angegeben ist, wird deren Inhalt für alle mit der IDE erstellten Sketches verwendet. Wenn keine Vorlage angegeben ist, werden Sketches mit dem Standard-Arduino-Inhalt erstellt. Nichtauffindbare Vorlagen werden ignoriert. **Ein Neustart der IDE ist erforderlich**, um diese Einstellung zu übernehmen."
"inoBlueprint": "Absoluter Dateipfad zur Standard-'.ino'-Dateivorlage. Wenn angegeben, wird der Inhalt der Dateivorlage für jeden, mit der IDE erstellten, Sketch verwendet. Wenn nicht angegeben, werden die Sketches mit dem Standard-Arduino-Inhalt erstellt. Unauffindbare Dateivorlagen werden ignoriert. **Ein Neustarten der IDE ist erforderlich**, um diese Einstellung zu übernehmen."
},
"sketchbook.location": "Pfad für Sketchbook",
"sketchbook.showAllFiles": "Wenn diese Option aktiviert ist, werden alle Sketch-Dateien innerhalb des Sketches angezeigt. Standardmäßig deaktiviert. ",
"survey.notification": "Wenn diese Option aktiviert ist, werden Nutzer über eine verfügbare Umfrage informiert. Standardmäßig aktiviert.",
"unofficialBoardSupport": "Klicke hier, um eine URL-Liste von inoffiziell unterstützten Boards anzuzeigen.",
"sketchbook.location": "Dateipfad des Sketchbooks",
"sketchbook.showAllFiles": "Wenn aktiviert, werden alle Sketch-Dateien innerhalb des Sketch angezeigt. Standardmäßig deaktiviert. ",
"survey.notification": "Wenn aktiviert, werden Nutzer benachrichtigt, wenn eine Umfrage verfügbar ist. Standardmäßig aktiviert.",
"unofficialBoardSupport": "Klicke hier für eine Liste von inoffiziell unterstützten Boards",
"upload": "Hochladen",
"upload.verbose": "Wenn die Option aktiviert ist, werden ausführliche Compiler-Meldungen angezeigt. Standardmäßig deaktiviert.",
"upload.verbose": "Wenn aktiviert, werden ausführliche Compiler-Meldungen angezeigt. Standardmäßig deaktiviert.",
"verifyAfterUpload": "Code nach Hochladen überprüfen ",
"window.autoScale": "Wenn die Option aktiviert ist, skaliert die Nutzeroberfläche automatisch mit der Schriftgröße.",
"window.autoScale": "Wenn aktiviert: Benutzeroberfläche soll mit Schriftgröße skalieren.",
"window.zoomLevel": {
"deprecationMessage": "Veraltet. Verwende stattdessen 'window.zoomLevel'."
"deprecationMessage": "Veraltet. Bitte 'window.zoomLevel' stattdessen benutzen."
}
},
"renameCloudSketch": {
"renameSketchTitle": "Neuer Name des Cloud-Sketches"
},
"replaceMsg": "Existierende Version von {0} ersetzen?",
"selectZip": "Wähle die ZIP-Datei mit der Bibliothek, die du hinzufügen möchtest.",
"selectZip": "Wähle die ZIP-Datei, welche die hinzuzufügende Bibliothek enthält",
"serial": {
"autoscroll": "Automatisch scrollen",
"carriageReturn": "Zeilenumbruch (CR)",
"carriageReturn": "Zeilenumbruch",
"connecting": "Verbindung zu '{0}' auf '{1}'...",
"message": "Nachicht (drücke Enter zum Senden für '{0}' auf '{1}')",
"message": "Nachicht (Enter um Nachricht für '{0}' auf '{1}' zu senden)",
"newLine": "Neue Zeile",
"newLineCarriageReturn": "Beides CR/LF",
"newLineCarriageReturn": "Sowohl NL als auch CR",
"noLineEndings": "Kein Zeilenende",
"notConnected": "Keine Verbindung. Wähle ein Board und einen Port, um automatisch zu verbinden.",
"notConnected": "Nicht verbunden. Wählen Sie ein Board und einen Port, um automatisch zu verbinden.",
"openSerialPlotter": "Serieller Plotter",
"timestamp": "Zeitstempel",
"toggleTimestamp": "Zeitstempel an/aus"
@@ -443,13 +442,13 @@
"compile": "Kompiliere Sketch ...",
"configureAndUpload": "Konfigurieren und Hochladen",
"createdArchive": "Archiv '{0}' erstellt.",
"doneCompiling": "Kompilieren erfolgreich.",
"doneUploading": "Hochladen erfolgreich.",
"editInvalidSketchFolderLocationQuestion": "Möchtest du versuchen, den Sketch an einer anderen Stelle abzuspeichern?",
"editInvalidSketchFolderQuestion": "Möchtest du versuchen, den Sketch mit einem anderen Namen abzuspeichern?",
"doneCompiling": "Kompilieren erfolgreich!",
"doneUploading": "Hochladen erfolgreich! ",
"editInvalidSketchFolderLocationQuestion": "Wollen Sie versuchen, den Sketch an einer anderen Stelle abzuspeichern?",
"editInvalidSketchFolderQuestion": "Wollen Sie versuchen, den Sketch mit einem anderen Namen abzuspeichern?",
"exportBinary": "Kompilierte Binärdatei exportieren",
"invalidCloudSketchName": "Der Name muss mit einem Buchstaben, einer Ziffer oder einem Unterstrich beginnen. Der Name darf nur Buchstaben, Ziffern, Bindestriche, Punkte und Unterstriche enthalten. Die maximale Länge ist 36 Zeichen.",
"invalidSketchFolderLocationDetails": "Ein Sketch kann nicht innerhalb eines seiner Ordner gespeichert werden.",
"invalidCloudSketchName": "Der Name muss mit einem Buchstaben, einer Ziffer oder einem Unterstrich beginnen und darf Buchstaben, Ziffern, Bindestriche, Punkte und Unterstriche enthalten. Die maximale Länge ist 36 Zeichen.",
"invalidSketchFolderLocationDetails": "Ein Sketch kann nicht innerhalb einem seiner Ordner gespeichert werden.",
"invalidSketchFolderLocationMessage": "Ungültiger Ort für Sketch-Ordner: '{0}'",
"invalidSketchFolderNameMessage": "Ungültiger Name für einen Sketch-Ordner: '{0}'",
"invalidSketchName": "Der Name muss mit einem Buchstaben, einer Ziffer oder einem Unterstrich beginnen und darf Buchstaben, Ziffern, Bindestriche, Punkte und Unterstriche enthalten. Die maximale Länge ist 63 Zeichen.",
@@ -466,15 +465,15 @@
"saveSketchAs": "Sketch Ordner speichern als...",
"showFolder": "Zeige Sketch Ordner",
"sketch": "Sketch",
"sketchAlreadyContainsThisFileError": "Der Sketch enthält bereits eine Datei \"{0}\".",
"sketchAlreadyContainsThisFileMessage": "Fehler beim Speichern von \"{0}\" als \"{1}\". {2}",
"sketchAlreadyContainsThisFileError": "The sketch already contains a file named '{0}'",
"sketchAlreadyContainsThisFileMessage": "Failed to save sketch \"{0}\" as \"{1}\". {2}",
"sketchbook": "Sketchbook",
"titleLocalSketchbook": "Lokales Sketchbook",
"titleSketchbook": "Sketchbook",
"upload": "Hochladen",
"uploadUsingProgrammer": "Mit Programmer hochladen",
"uploading": "Hochladen ...",
"userFieldsNotFoundError": "Nutzerfelder für das angeschlossene Board nicht gefunden",
"userFieldsNotFoundError": "User Fields für das angeschlossene Board nicht gefunden",
"verify": "Überprüfen",
"verifyOrCompile": "Überprüfen/Kompilieren"
},
@@ -513,11 +512,11 @@
"upload": "Hochladen"
},
"validateSketch": {
"abortFixMessage": "Der Sketch ist noch immer ungültig. Möchtest du die verbliebenen Probleme beheben? Beim Klicken auf '{0}' wird ein neuer Sketch geöffnet.",
"abortFixMessage": "Der Sketch ist noch immer ungültig. Sollen die verbliebenen Probleme behoben werden? Durch Klicken auf '{0}' wird ein neuer Sketch geöffnet.",
"abortFixTitle": "Ungültiger Sketch",
"renameSketchFileMessage": "Die Sketch-Datei '{0}' kann nicht verwendet werden. {1} Soll die Sketch-Datei jetzt umbenannt werden?",
"renameSketchFileTitle": "Ungültiger Sketch-Dateiname",
"renameSketchFolderMessage": "Der Sketch '{0}' kann nicht verwendet werden. {1} Um diese Meldung loszuwerden, muss der Sketch umbenannt werden. Möchtest du den Sketch jetzt umbenennen?",
"renameSketchFolderMessage": "Der Sketch '{0}' kann nicht verwendet werden. {1} Um diese Meldung loszuwerden, muss der Sketch umbenannt werden. Wollen Sie den Sketch jetzt umbenennen?",
"renameSketchFolderTitle": "Ungültiger Sketch-Name"
},
"workspace": {
@@ -542,8 +541,8 @@
"expand": "Ausklappen"
},
"workspace": {
"deleteCloudSketch": " Der Cloud-Sketch '{0}' wird dauerhaft von den Arduino-Servern und den lokalen Caches gelöscht. Diese Aktion ist nicht umkehrbar. Möchtest du den aktuellen Sketch wirklich löschen?",
"deleteCurrentSketch": " Der Sketch '{0}' wird dauerhaft gelöscht. Diese Aktion ist nicht umkehrbar. Möchtest du den aktuellen Sketch wirklich löschen?",
"deleteCloudSketch": "Der Cloud-Sketch '{0}' wird dauerhaft von den Arduino-Servern und den lokalen Caches gelöscht. Diese Aktion ist nicht umkehrbar. Möchtest Du den aktuellen Sketch löschen?",
"deleteCurrentSketch": "Der Sketch {0} wird dauerhaft gelöscht. Diese Aktion ist nicht umkehrbar. Möchtest Du den aktuellen Sketch löschen?",
"fileNewName": "Name für die neue Datei",
"invalidExtension": "\".{0}\" ist keine gültige Dateierweiterung.",
"newFileName": "Neuer Name für die Datei"

View File

@@ -15,7 +15,7 @@
"boardConfigDialogTitle": "Επιλέξτε Άλλη Πλακέτα & Θύρα",
"boardInfo": "Πληροφορίες Πλακέτας",
"boards": "Πίνακες - Πλακέτες",
"configDialog1": "Επίλεξε Πλακέτα και Θύρα αν θέλεις να ανεβάσεις ένα έργο.",
"configDialog1": "Επίλεξε και Πλακέτα και Θύρα αν θέλεις να ανεβάσεις ένα σχέδιο.",
"configDialog2": "Αν επιλέξεις μονο Πλακέτα θα μπορείς να κάνεις μόνο μεταγγλώτιση, αλλά οχι να ανεβάσεις το σχέδιο.",
"couldNotFindPreviouslySelected": "Δεν έγινε εντοπισμός της προηγουμένως επιλεγμένης πλακέτας '{0}' στην εγκατεστημένη πλατφόρμα '{1}'. Παρακαλώ επίλεξε πάλι χειροκίνητα την πλακέτα που θέλεις να χρησιμοποιήσεις. Θέλεις να την επιλέξεις τώρα;",
"editBoardsConfig": "Πλακέτα και θύρα...",
@@ -32,7 +32,7 @@
"ports": "Θύρες",
"programmer": "Προγραμματιστής",
"reselectLater": "Επιλογή αργότερα",
"revertBoardsConfig": "Χρησιμοποιήστε '{0}' που ανακαλύφθηκε στο '{1}'",
"revertBoardsConfig": "Use '{0}' discovered on '{1}'",
"searchBoard": "Αναζήτηση πλακέτας",
"selectBoard": "Επιλογή Πλακέτας",
"selectPortForInfo": "Παρακαλώ επίλεξε μια θύρα για εμφάνιση πληροφοριών πλακέτας.",
@@ -83,12 +83,12 @@
"updatingLibraries": "Ενημέρωση βιβλιοθηκών..."
},
"cli-error-parser": {
"keyboardError": "Το \"πληκτρολόγιο\" δεν βρέθηκε. Το έργο σας περιλαμβάνει τη γραμμή '#include <Keyboard.h>';",
"mouseError": "Το 'Ποντίκι' δεν βρέθηκε. Περιλαμβάνει το έργο σας τη γραμμή '#include <Mouse.h>'; "
"keyboardError": "Το \"πληκτρολόγιο\" δεν βρέθηκε. Το σχέδιό σας περιλαμβάνει τη γραμμή '#include <Keyboard.h>';",
"mouseError": "Το 'Ποντίκι' δεν βρέθηκε. Περιλαμβάνει το σχέδιό σας τη γραμμή '#include <Mouse.h>'; "
},
"cloud": {
"chooseSketchVisibility": "Επιλέξτε την εμφάνιση του έργου σας:",
"cloudSketchbook": "Cloud Άλμπουμ έργων.",
"chooseSketchVisibility": "Επίλεξε την ορατότητα του Σχεδίου σου:",
"cloudSketchbook": "Σχέδια Cloud",
"connected": "Συνδέθηκε",
"continue": "Συνέχεια",
"donePulling": "Τελείωσε το κατέβασμα '{0}'.",
@@ -109,8 +109,8 @@
"pullFirst": "Πρώτα πρέπει να τραβήξετε για να μπορέσετε να το ανεβάσετε στο Cloud.",
"pullSketch": "Τραβήξτε το σχέδιο",
"pullSketchMsg": "Αν τραβήξετε αυτό το Σχέδιο από το Cloud, θα αντικατασταθεί η τοπική του έκδοση. Είσαι σίγουρος ότι θέλεις να συνεχίσεις;",
"push": "Πιέστε",
"pushSketch": "Τραβήξτε το σχέδιο",
"push": "Push",
"pushSketch": "Push Sketch",
"pushSketchMsg": "Αυτό είναι ένα Δημόσιο Σχέδιο. Βεβαιωθείτε ότι οποιεσδήποτε ευαίσθητες πληροφορίες έχουν οριστεί στο φάκελο arduino_secrets.h. Μπορείτε να κάνετε ένα Σχέδιο ιδιωτικό από τον πίνακα Κοινή χρήση.",
"remote": "Απομακρυνσμένο",
"share": "Κοινοποίηση...",
@@ -126,16 +126,16 @@
"cloudSketch": {
"alreadyExists": "Υπάρχει ήδη το σχέδιο '{0}' στο Cloud ",
"creating": "Δημιουργία σχεδίου στο cloud '{0}'...",
"new": "Νέο έργο στο Cloud",
"notFound": "Δεν ήταν δυνατή η ανάκτηση του έργου'{0}'. από το could. Δεν υπάρχει.",
"pulling": "Συγχρονισμός βιβλιοθήκη έργων, τραβώντας '{0}'...",
"new": "Νέο σχέδιο Cloud ",
"notFound": "Could not pull the cloud sketch '{0}'. It does not exist.",
"pulling": "Synchronizing sketchbook, pulling '{0}'...",
"pushing": "Synchronizing sketchbook, pushing '{0}'...",
"renaming": "Μετονομασία έργου could από '{0}' σε '{1}'...",
"renaming": "Μετονομασία σχεδίου cloud από '{0}' σε '{1}'...",
"synchronizingSketchbook": "Synchronizing sketchbook..."
},
"common": {
"all": "Όλα",
"contributed": "Συνεισέφερε",
"contributed": "Contributed",
"installManually": "Χειροκίνητη Εγκατάσταση",
"later": "Αργότερα",
"noBoardSelected": "Δεν έχει επιλεχθεί πλακέτα",
@@ -143,17 +143,16 @@
"notConnected": "[μη συνδεμένο]",
"offlineIndicator": "Φαίνεται πως είστε εκτός σύνδεσης. Χωρίς σύνδεση στο Internet, το Arduino CLI ίσως να μη μπορεί να κάνει λήψη των απαιτούμενων πόρων και να υπάρξει δυσλειτουργία. Παρακαλώ συνδεθείτε στο Internet και επανεκκινήστε την εφαρμογή.",
"oldFormat": "Το '{0}' χρησιμοποιεί ακόμα το παλιό '.pde' στυλ. Θέλετε να αλλάξετε στην νέα κατάληξη '.ino';",
"partner": "Συνεργάτης",
"partner": "Partner",
"processing": "Επεξεργασία",
"recommended": "Συνιστάται",
"recommended": "Recommended",
"retired": "Παλιό ",
"selectManually": "Επιλέξτε Χειροκίνητα",
"selectedOn": "στο {0}",
"serialMonitor": "Παρακολούθηση Σειριακής",
"type": "Τύπος",
"unknown": "Άγνωστο",
"updateable": "Με δυνατότητα ενημέρωσης",
"userAbort": "Ακύρωση χρήστη"
"updateable": "Με δυνατότητα ενημέρωσης"
},
"compile": {
"error": "Σφάλμα μεταγλώττισης: {0}"
@@ -214,13 +213,14 @@
"debuggingNotSupported": "Δεν υποστιρίζεται αποσφαλμάτωση από '{0}'",
"getDebugInfo": "Getting debug info...",
"noPlatformInstalledFor": "Δεν έχει εγκατασταθεί πλατφόρμα για '{0}'",
"noProgrammerSelectedFor": "No programmer selected for '{0}'",
"optimizeForDebugging": "Βελτιστοποίηση για Αποσφαλμάτωση",
"sketchIsNotCompiled": "Το έργο '{0}' πρέπει να επαληθευτεί πριν από την έναρξη μιας διαδικασίας αποσφαλμάτωσης. Παρακαλώ επαληθεύστε το σκίτσο και ξεκινήστε ξανά την αποσφαλμάτωση. Θέλετε να επαληθεύσετε το έργο τώρα;"
"sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?"
},
"developer": {
"clearBoardList": "Clear the Board List History",
"clearBoardsConfig": "Διαγράψτε την επιλογή πλακέτας και θύρας",
"dumpBoardList": "Αδειάστε τη λίστα του Πίνακα"
"dumpBoardList": "Dump the Board List"
},
"dialog": {
"dontAskAgain": "Μην με ξαναρωτήσεις"
@@ -250,7 +250,7 @@
"failedInstall": "Η εγκατάσταση απέτυχε. Παρακαλώ προσπαθήστε ξανά.",
"install": "Εγκατάσταση",
"installingFirmware": "Εγκατάσταση λογισμικού.",
"overwriteSketch": "Η εγκατάσταση θα αντικαταστήσει το σχέδιο στον πίνακα.",
"overwriteSketch": "Installation will overwrite the Sketch on the board.",
"selectBoard": "Επιλογή Πλακέτας",
"selectVersion": "Επιλέξτε έκδοση λογισμικού",
"successfullyInstalled": "Το λογισμικό εγκαταστάθηκε με επιτυχία.",
@@ -263,7 +263,7 @@
"gettingStarted": "Ξεκινώντας",
"keyword": "Πληκτρολογήστε μια λέξη-κλειδί",
"privacyPolicy": "Πολιτική Απορρήτου",
"reference": "Αναφορά",
"reference": "Reference",
"search": "Αναζήτηση στο Arduino.cc",
"troubleshooting": "Αντιμετώπιση προβλημάτων",
"visit": "Επίσκεψη Arduino.cc"
@@ -277,17 +277,17 @@
"errorCheckingForUpdates": "Σφάλμα κατά τον έλεγχο για ενημερώσεις του Arduino IDE.\n{0}",
"goToDownloadButton": "Μετάβαση στη λήψη",
"goToDownloadPage": "Υπάρχει διαθέσιμη ενημέρωση για το Arduino IDE, αλλά δεν μπορούμε να το κατεβάσουμε και να το εγκαταστήσουμε αυτόματα. Μεταβείτε στη σελίδα λήψης και κατεβάστε την πιο πρόσφατη έκδοση από εκεί. ",
"ideUpdaterDialog": "Ενημέρωση λογισμικού",
"ideUpdaterDialog": "Software Update",
"newVersionAvailable": "Μια νέα έκδοση του Arduino IDE ({0}) είναι διαθέσιμη για λήψη.",
"noUpdatesAvailable": "Δεν υπάρχουν διαθέσιμες πρόσφατες ενημερώσεις για το Arduino IDE",
"notNowButton": "Όχι τώρα",
"skipVersionButton": "Παράλειψη έκδοσης",
"updateAvailable": "Διαθέσιμη ενημέρωση",
"versionDownloaded": "Arduino IDE {0} έχει ληφθεί."
"versionDownloaded": "Arduino IDE {0} has been downloaded."
},
"installable": {
"libraryInstallFailed": "Αποτυχία εγκατάστασης βιβλιοθήκης: '{0}{1}'.",
"platformInstallFailed": "Αποτυχία εγκατάστασης πλατφόρμας: '{0}{1}'."
"libraryInstallFailed": "Failed to install library: '{0}{1}'.",
"platformInstallFailed": "Failed to install platform: '{0}{1}'."
},
"library": {
"addZip": "Προσθέστε μια βιβλιοθήκη μορφής .ZIP",
@@ -295,9 +295,9 @@
"contributedLibraries": "Συνεισφορά βιβλιοθηκών",
"include": "Συμπεριλάβετε βιβλιοθήκη",
"installAll": "Εγκατάσταση όλων",
"installLibraryDependencies": "Εγκαταστήστε τα στοιχεία της βιβλιοθήκης.",
"installMissingDependencies": "Θέλετε να εγκαταστήσετε όλα τα στοιχεία που λείπουν;",
"installOneMissingDependency": "Θέλετε να εγκαταστήσετε το στοιχείο που λείπει; ",
"installLibraryDependencies": "Install library dependencies",
"installMissingDependencies": "Would you like to install all the missing dependencies?",
"installOneMissingDependency": "Would you like to install the missing dependency?",
"installWithoutDependencies": "Install without dependencies",
"installedSuccessfully": "Επιτυχής εγκατάσταση Βιβλιοθήκης {0} :{1} ",
"libraryAlreadyExists": "Μια βιβλιοθήκη υπάρχει ήδη. Θέλετε να την αντικαταστήσετε;",
@@ -319,7 +319,7 @@
"dataProcessing": "Επεξεργασία δεδομένων",
"dataStorage": "Αποθήκευση δεδομένων",
"deviceControl": "Έλεγχος συσκευής",
"display": "Εμφάνιση",
"display": "Display",
"other": "Άλλα",
"sensors": "Αισθητήρες",
"signalInputOutput": "Είσοδος/Έξοδος Σήματος",
@@ -368,8 +368,7 @@
"cloud.pull.warn": "Αληθές αν οι χρήστες πρέπει προειδοποιηθούν πριν τραβηχτεί ενα σχέδιο σύννεφου. Προεπιλογή ως αληθές.",
"cloud.push.warn": "Αληθές αν οι χρήστες πρέπει προειδοποιηθούν πριν σπρωχθεί ενα σχέδιο σύννεφου. Προεπιλογή ως αληθές. ",
"cloud.pushpublic.warn": "Αληθές αν οι χρήστες πρέπει προειδοποιηθούν πριν σπρωχθεί ενα δημόσιο σχέδιο σύννεφου. Προεπιλογή ως αληθές. ",
"cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.",
"cloud.sketchSyncEndpoint": "Το σημείο που χρησιμοποιείται για την αποστολή και λήψη σκίτσων από ένα πίσω μέρος. Από προεπιλογή δείχνει στο Arduino Cloud API.",
"cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.",
"compile": "μεταγλώττιση",
"compile.experimental": "Σωστό αν το IDE πρέπει να χειρίζεται πολλαπλά σφάλματα μεταγλωττιστή. Λάθος από προεπιλογή",
"compile.revealRange": "Adjusts how compiler errors are revealed in the editor after a failed verify/upload. Possible values: 'auto': Scroll vertically as necessary and reveal a line. 'center': Scroll vertically as necessary and reveal a line centered vertically. 'top': Scroll vertically as necessary and reveal a line close to the top of the viewport, optimized for viewing a code definition. 'centerIfOutsideViewport': Scroll vertically as necessary and reveal a line centered vertically only if it lies outside the viewport. The default value is '{0}'.",
@@ -391,7 +390,7 @@
"language.realTimeDiagnostics": "Εάν ισχύει, ο διακομιστής γλώσσας παρέχει διαγνωστικά σε πραγματικό χρόνο όταν πληκτρολογείτε στον επεξεργαστή. Είναι ψευδές από προεπιλογή.",
"manualProxy": "Μη αυτόματη διαμόρφωση proxy διακομιστή μεσολάβησης",
"monitor": {
"dockPanel": "Η περιοχή του περιβλήματος της εφαρμογής όπου θα βρίσκεται το γραφικό στοιχείο _{0}_. Είναι είτε \"κάτω\" είτε \"δεξιά\". Προεπιλέγεται σε \"{1}\"."
"dockPanel": "The area of the application shell where the _{0}_ widget will reside. It is either \"bottom\" or \"right\". It defaults to \"{1}\"."
},
"network": "Δίκτυο",
"newSketchbookLocation": "Επιλογή νέας τοποθεσίας σχεδίων",
@@ -455,7 +454,7 @@
"invalidSketchName": "Το όνομα πρέπει να ξεκινά με γράμμα, αριθμό ή κάτω παύλα, ακολουθούμενα από γράμματα, αριθμούς, παύλες, τελείες και κάτω παύλες. Το μέγιστο μήκος είναι 63 χαρακτήρες.",
"moving": "Μετακίνηση",
"movingMsg": "Το αρχείο \"{0}\" πρέπει να βρίσκεται μέσα σε έναν φάκελο σχεδίου με το όνομα \"{1}\". \nΔημιουργία φακέλου, μεταφορά του αρχείου και συνέχεια;",
"new": "Νέο έργο",
"new": "Νέο Σχέδιο ",
"noTrailingPeriod": "Ένα όνομα αρχείου δεν μπορεί να τελειώνει με τελεία",
"openFolder": "Άνοιγμα φακέλου",
"openRecent": "Άνοιγμα πρόσφατου",
@@ -542,8 +541,8 @@
"expand": "Επαναφορά"
},
"workspace": {
"deleteCloudSketch": "Το έργο του cloud '{0}' θα διαγραφεί οριστικά από τους διακομιστές Arduino και τις τοπικές κρυφές μνήμες. Αυτή η ενέργεια είναι μη αναστρέψιμη. Θέλετε να διαγράψετε το τρέχον έργο;",
"deleteCurrentSketch": "Το έργο '{0}' θα διαγραφεί μόνιμα. Αυτή η ενέργεια είναι ανεπανόρθωτη. Θέλετε να διαγράψετε το τρέχον έργο;",
"deleteCloudSketch": "Το σχέδιο του cloud '{0}' θα διαγραφεί οριστικά από τους διακομιστές Arduino και τις τοπικές κρυφές μνήμες. Αυτή η ενέργεια είναι μη αναστρέψιμη. Θέλετε να διαγράψετε το τρέχον σχέδιο;",
"deleteCurrentSketch": "Το σχέδιο '{0}' θα διαγραφεί οριστικά. Αυτή η ενέργεια είναι μη αναστρέψιμη. Θέλετε να διαγράψετε το τρέχον σχέδιο; ",
"fileNewName": "Όνομα για το νεό αρχείο",
"invalidExtension": ". {0}δεν είναι έγκυρη επέκταση",
"newFileName": "Νέο όνομα για το αρχείο"

View File

@@ -152,8 +152,7 @@
"serialMonitor": "Serial Monitor",
"type": "Type",
"unknown": "Unknown",
"updateable": "Updatable",
"userAbort": "User abort"
"updateable": "Updatable"
},
"compile": {
"error": "Compilation error: {0}"
@@ -214,6 +213,7 @@
"debuggingNotSupported": "Debugging is not supported by '{0}'",
"getDebugInfo": "Getting debug info...",
"noPlatformInstalledFor": "Platform is not installed for '{0}'",
"noProgrammerSelectedFor": "No programmer selected for '{0}'",
"optimizeForDebugging": "Optimize for Debugging",
"sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?"
},
@@ -368,7 +368,6 @@
"cloud.pull.warn": "True if users should be warned before pulling a cloud sketch. Defaults to true.",
"cloud.push.warn": "True if users should be warned before pushing a cloud sketch. Defaults to true.",
"cloud.pushpublic.warn": "True if users should be warned before pushing a public sketch to the cloud. Defaults to true.",
"cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.",
"cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.",
"compile": "compile",
"compile.experimental": "True if the IDE should handle multiple compiler errors. False by default",

View File

@@ -152,8 +152,7 @@
"serialMonitor": "Monitor Serie",
"type": "Tipo",
"unknown": "Desconocido",
"updateable": "Actualizable",
"userAbort": "User abort"
"updateable": "Actualizable"
},
"compile": {
"error": "Error de compilación: {0}"
@@ -214,6 +213,7 @@
"debuggingNotSupported": "La depuración no está soportada por '{0}'",
"getDebugInfo": "Getting debug info...",
"noPlatformInstalledFor": "La plataforma no está instalada para '{0}'",
"noProgrammerSelectedFor": "No programmer selected for '{0}'",
"optimizeForDebugging": "Optimizar para depuración",
"sketchIsNotCompiled": "El sketch '{0}' debe ser verificado antes de iniciar una sesión de depuración. Por favor, verifique el sketch e inicia la depuración nuevamente. ¿Deseas verificar el sketch ahora?"
},
@@ -368,7 +368,6 @@
"cloud.pull.warn": "Verdadero si se debe advertir a los usuarios antes de sacar un boceto de la nube. El valor predeterminado es verdadero.",
"cloud.push.warn": "Verdadero si se debe advertir a los usuarios antes de enviar un boceto a la nube. El valor predeterminado es verdadero.",
"cloud.pushpublic.warn": "Verdadero si se debe advertir a los usuarios antes de enviar un boceto público a la nube. El valor predeterminado es verdadero.",
"cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.",
"cloud.sketchSyncEndpoint": "El punto final utilizado para empujar y extraer bocetos de un backend. Por defecto, apunta a la API de Arduino Cloud.",
"compile": "Compliar",
"compile.experimental": "True si el IDE debe manejar multiples errores del compilador. False por defecto",

View File

@@ -152,8 +152,7 @@
"serialMonitor": "Serieko monitorea",
"type": "Type",
"unknown": "Ezezaguna",
"updateable": "Updatable",
"userAbort": "User abort"
"updateable": "Updatable"
},
"compile": {
"error": "Konpilazio-errorea: {0}"
@@ -214,6 +213,7 @@
"debuggingNotSupported": "Ez dauka arazketarako euskarririk: '{0}'",
"getDebugInfo": "Getting debug info...",
"noPlatformInstalledFor": "Plataforma ez dago instalatuta honentzat: '{0}'",
"noProgrammerSelectedFor": "No programmer selected for '{0}'",
"optimizeForDebugging": "Optimizatu arazketarako",
"sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?"
},
@@ -368,7 +368,6 @@
"cloud.pull.warn": "Egia bada erabiltzaileek abisua jasoko dute programa bat hodeitik kargatu aurretik. Lehenetsia egia da.",
"cloud.push.warn": "Egia bada erabiltzaileek abisua jasoko dute programa bat hodeian gorde aurretik. Lehenetsia egia da.",
"cloud.pushpublic.warn": "Egia bada erabiltzaileek abisua jasoko dute programa publiko bat hodeian gorde aurretik. Lehenetsia egia da.",
"cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.",
"cloud.sketchSyncEndpoint": "Zerbitzari batean programak gorde eta kargatzeko amaiera-puntua. Lehenetsia Arduino Cloud API da.",
"compile": "konpilazioa",
"compile.experimental": "True if the IDE should handle multiple compiler errors. False by default",

View File

@@ -152,8 +152,7 @@
"serialMonitor": "نمایشگر ترمینال سریال",
"type": "نوع",
"unknown": "نامعلوم",
"updateable": "قابل به روز رسانی",
"userAbort": "User abort"
"updateable": "قابل به روز رسانی"
},
"compile": {
"error": "خطای کامپایل : {0}"
@@ -214,6 +213,7 @@
"debuggingNotSupported": "رفع خطا توسط {0} پشتیبانی نمی شود.",
"getDebugInfo": "در حال دریافت اطلاعات اشکال زدایی...",
"noPlatformInstalledFor": "دستگاه مورد نظر برای {0} نصب نشده است",
"noProgrammerSelectedFor": "برنامه‌نویسی برای \"{0}\" انتخاب نشده است.",
"optimizeForDebugging": "بهینه کردن برای رفع خطا",
"sketchIsNotCompiled": "طرح «{0}» باید قبل از شروع برای اشکال‌زدایی بازبینی شود. لطفاً طرح را بازبینی کنید و دوباره اشکال زدایی را شروع کنید. آیا می خواهید اکنون طرح را تأیید کنید؟"
},
@@ -368,7 +368,6 @@
"cloud.pull.warn": "اگر هشدار دادن به کاربران قبل از کشیدن یک طرح ابری درست می باشد ، پیش فرض ها صحیح است.",
"cloud.push.warn": "اگر هشدار دادن به کاربران قبل از ارسال یک طرح ابری درست است پیش فرض ها درست می باشد",
"cloud.pushpublic.warn": "اگر هشدار دادن به کاربران قبل از ارسال یک طرح عمومی به فضای درست می باشد پیش فرض ها درست است.",
"cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.",
"cloud.sketchSyncEndpoint": "نقطه ای برای ارسال و دریافت طرح ها استفاده می شود . به طور پیش فرض به رابط ابر آردوینو استفاده می کند.",
"compile": "کامپایل",
"compile.experimental": "درست است اگر IDE باید چندین خطای کامپایلر را مدیریت کند. به طور پیش فرض نادرست است",

View File

@@ -152,8 +152,7 @@
"serialMonitor": "Serial Monitor",
"type": "Type",
"unknown": "Hindi alam",
"updateable": "Updatable",
"userAbort": "User abort"
"updateable": "Updatable"
},
"compile": {
"error": "Compilation error: {0}"
@@ -214,6 +213,7 @@
"debuggingNotSupported": "Ang debugging ay hindi suportado ng '{0}'",
"getDebugInfo": "Getting debug info...",
"noPlatformInstalledFor": "Ang platform ay hindi naka-install para sa '{0}'",
"noProgrammerSelectedFor": "No programmer selected for '{0}'",
"optimizeForDebugging": "Pinahusay para sa Debugging",
"sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?"
},
@@ -368,7 +368,6 @@
"cloud.pull.warn": "True if users should be warned before pulling a cloud sketch. Defaults to true.",
"cloud.push.warn": "True if users should be warned before pushing a cloud sketch. Defaults to true.",
"cloud.pushpublic.warn": "True if users should be warned before pushing a public sketch to the cloud. Defaults to true.",
"cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.",
"cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.",
"compile": "compile",
"compile.experimental": "True if the IDE should handle multiple compiler errors. False by default",

View File

@@ -152,8 +152,7 @@
"serialMonitor": "Moniteur série",
"type": "Type",
"unknown": "Inconnu",
"updateable": "Updatable",
"userAbort": "User abort"
"updateable": "Updatable"
},
"compile": {
"error": "Erreur de compilation : {0}"
@@ -214,6 +213,7 @@
"debuggingNotSupported": "Le débogage n'est pas supporté pour '{0}'",
"getDebugInfo": "Getting debug info...",
"noPlatformInstalledFor": "La plateforme n'est pas installée pour '{0}'",
"noProgrammerSelectedFor": "No programmer selected for '{0}'",
"optimizeForDebugging": "Optimisé pour le déboggage.",
"sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?"
},
@@ -368,7 +368,6 @@
"cloud.pull.warn": "Vrai si les utilisateurs devrait être averti avant de pull un croquis sur le cloud. Par défaut, la valeur est vrai.",
"cloud.push.warn": "Vrai, si les utilisateurs devrait être averti avant de push un croquis sur le cloud. Par défaut, la valeur est vrai.",
"cloud.pushpublic.warn": "Vrai si les utilisateurs devrait être avertit avant de publier un croquis public sur le cloud. Vrai par défaut.",
"cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.",
"cloud.sketchSyncEndpoint": "L'endpoint est utilisé pour pousser et tirer des croquis à partir du backend. Par défault, il pointe vers l'Arduino Cloud API.",
"compile": "compiler",
"compile.experimental": "Vrai si l'IDE doit gérer les multiples erreurs du compilateur. Faux par défaut",

View File

@@ -152,8 +152,7 @@
"serialMonitor": "מוניטור סיריאלי",
"type": "סוג",
"unknown": "לא ידוע",
"updateable": "ניתן לעדכון",
"userAbort": "User abort"
"updateable": "ניתן לעדכון"
},
"compile": {
"error": "שגיאת קומפילציה: {0}"
@@ -214,6 +213,7 @@
"debuggingNotSupported": "דיבאג לא נתמך על ידי '{0}'",
"getDebugInfo": "Getting debug info...",
"noPlatformInstalledFor": "פלטפורמה אינה מותקנת עבור ׳{0}׳",
"noProgrammerSelectedFor": "No programmer selected for '{0}'",
"optimizeForDebugging": "אופטימיזציה לדיבאג",
"sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?"
},
@@ -368,7 +368,6 @@
"cloud.pull.warn": "True if users should be warned before pulling a cloud sketch. Defaults to true.",
"cloud.push.warn": "True if users should be warned before pushing a cloud sketch. Defaults to true.",
"cloud.pushpublic.warn": "True if users should be warned before pushing a public sketch to the cloud. Defaults to true.",
"cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.",
"cloud.sketchSyncEndpoint": "The endpoint used to push and pull sketches from a backend. By default it points to Arduino Cloud API.",
"compile": "קומפילציה",
"compile.experimental": "True if the IDE should handle multiple compiler errors. False by default",

View File

@@ -152,8 +152,7 @@
"serialMonitor": "Soros monitor",
"type": "Type",
"unknown": "ismeretlen",
"updateable": "Updatable",
"userAbort": "User abort"
"updateable": "Updatable"
},
"compile": {
"error": "Összeállítási hiba: {0} "
@@ -214,6 +213,7 @@
"debuggingNotSupported": "A hibakeresést a '{0}' nem támogatja ",
"getDebugInfo": "Getting debug info...",
"noPlatformInstalledFor": "A platform nincs telepítve a következőhöz: „{0}” ",
"noProgrammerSelectedFor": "No programmer selected for '{0}'",
"optimizeForDebugging": "Optimalizálás hibakereséséhez",
"sketchIsNotCompiled": "Sketch '{0}' must be verified before starting a debug session. Please verify the sketch and start debugging again. Do you want to verify the sketch now?"
},
@@ -368,7 +368,6 @@
"cloud.pull.warn": "Kipipálva: figyelmeztetés megjelenítése a vázlat/sketch felhőből letöltése előtt. Alapértelmezés szerint: kipipálva.",
"cloud.push.warn": "Kipipálva: figyelmeztetés megjelenítése a vázlat/sketch felhőből való letöltése előtt. Alapértelmezés: kipipálva. ",
"cloud.pushpublic.warn": "Kipipálva: figyelmeztetés megjelenítése a nyilvános vázlat/sketch felhőbe küldése előtt. Alapértelmezés szerint: kipipálva.",
"cloud.sharedSpaceId": "The ID of the Arduino Cloud shared space to load the sketchbook from. If empty, your private space is selected.",
"cloud.sketchSyncEndpoint": "A végpont/endpoint a vázlatok/sketch-ek háttéből történő letöltésére illetve publikálására szolgál. Alapértelmezés szerint az Arduino Cloud API-ra mutat. ",
"compile": "fordítás",
"compile.experimental": "True if the IDE should handle multiple compiler errors. False by default",

Some files were not shown because too many files have changed in this diff Show More