diff --git a/.gitignore b/.gitignore
index 01b87901..3ba5f170 100644
--- a/.gitignore
+++ b/.gitignore
@@ -41,3 +41,7 @@ cmake-build-*/
# Doxygen doc files
_doc/
+
+# gRPC auto-generated C++ source files
+*.pb.cc
+*.pb.h
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8a1bc576..672b4575 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -30,13 +30,6 @@ stages:
- test
- build
-.rules-branch-and-MR-always:
- rules:
- - if: $CI_COMMIT_BRANCH || $CI_PIPELINE_SOURCE == "merge_request_event"
- when: always
- allow_failure: false
- - when: never
-
.rules-branch-and-MR-manual:
rules:
- if: $CI_COMMIT_BRANCH || $CI_PIPELINE_SOURCE == "merge_request_event"
@@ -44,16 +37,6 @@ stages:
allow_failure: true
- when: never
-.rules-branch-manual-MR-always:
- rules:
- - if: $CI_PIPELINE_SOURCE == "merge_request_event"
- when: always
- allow_failure: false
- - if: $CI_COMMIT_BRANCH
- when: manual
- allow_failure: true
- - when: never
-
.rules-branch-manual-MR-and-devel-always:
rules:
- if: $CI_COMMIT_BRANCH == "devel" || $CI_PIPELINE_SOURCE == "merge_request_event"
@@ -64,173 +47,10 @@ stages:
allow_failure: true
- when: never
-.after-script-code-coverage:
- after_script:
- - go get github.com/boumenot/gocover-cobertura
- - go run github.com/boumenot/gocover-cobertura < /tmp/coverage.out > coverage.xml
- - "go tool cover -func=/tmp/coverage.out | grep total:"
- coverage: '/total:.*\(statements\).*\d+\.\d+%/'
- artifacts:
- reports:
- coverage_report:
- coverage_format: cobertura
- path: coverage.xml
-
-# Stage: TEST
-
-lint:
- stage: test
- extends:
- - .rules-branch-and-MR-always
- script:
- - make lint
- tags:
- - medium
-
-
-.test-base:
- stage: test
- script:
- - make test
-
-test-linux:
- extends:
- - .test-base
- - .rules-branch-manual-MR-and-devel-always
- - .after-script-code-coverage
- tags:
- - large
-
-test-linux-race:
- extends:
- - test-linux
- - .rules-branch-and-MR-manual
- script:
- - make test-race
-
-test-integration:
- extends:
- - test-linux
- script:
- - make test-integration
- tags:
- - large
-
-test-integration-race:
- extends:
- - test-integration
- - .rules-branch-and-MR-manual
- script:
- - make test-integration-race
-
-
-.windows-base:
- before_script:
- - export GOROOT=/c/Go1.20
- - export PATH=$GOROOT/bin:$PATH
- - export GOARCH=amd64
- - export GOPATH=~/go1.20
- - export GO111MODULE=on
- - export PATH=$GOPATH/bin:$PATH
- - export MSYSTEM=
- tags:
- - windows-bridge
-
-#test-windows:
-# extends:
-# - .rules-branch-manual-MR-always
-# - .windows-base
-# stage: test
-# script:
-# - make test
-
-# Stage: BUILD
-
-.build-base:
- stage: build
- needs: ["lint"]
- rules:
- # GODT-1833: use `=~ /qa/` after mac and windows runners are fixed
- - if: $CI_JOB_NAME =~ /build-linux-qa/ && $CI_PIPELINE_SOURCE == "merge_request_event"
- when: always
- allow_failure: false
- - if: $CI_COMMIT_BRANCH || $CI_PIPELINE_SOURCE == "merge_request_event"
- when: manual
- allow_failure: true
- - when: never
- script:
- - make build
- - git diff && git diff-index --quiet HEAD
- - make vault-editor
- artifacts:
- expire_in: 1 day
- when: always
- name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
- paths:
- - bridge_*.tgz
- - vault-editor
-
-
-.linux-build-setup:
- image: gitlab.protontech.ch:4567/go/bridge-internal:build-go1.20-qt6.3.2
- variables:
- VCPKG_DEFAULT_BINARY_CACHE: ${CI_PROJECT_DIR}/.cache
- cache:
- key: linux-vcpkg
- paths:
- - .cache
- when: 'always'
- before_script:
- - mkdir -p .cache/bin
- - export PATH=$(pwd)/.cache/bin:$PATH
- - export GOPATH="$CI_PROJECT_DIR/.cache"
- - export PATH=$PATH:$QT6DIR/bin
- - $(git config --global -l | grep -o 'url.*gitlab.protontech.ch.*insteadof' | xargs -L 1 git config --global --unset &> /dev/null) || echo "nothing to remove"
- - git config --global url.https://gitlab-ci-token:${CI_JOB_TOKEN}@${CI_SERVER_HOST}.insteadOf https://${CI_SERVER_HOST}
- tags:
- - large
-
-build-linux:
- extends:
- - .build-base
- - .linux-build-setup
-
-build-linux-qa:
- extends:
- - build-linux
- variables:
- BUILD_TAGS: "build_qa"
-
-
-.darwin-build-setup:
- before_script:
- - export PATH=/usr/local/bin:$PATH
- - export PATH=/usr/local/opt/git/bin:$PATH
- - export PATH=/usr/local/opt/make/libexec/gnubin:$PATH
- - export PATH=/usr/local/opt/go@1.13/bin:$PATH
- - export PATH=/usr/local/opt/gnu-sed/libexec/gnubin:$PATH
- - export GOPATH=~/go1.20
- - export PATH=$GOPATH/bin:$PATH
- - export CGO_CPPFLAGS='-Wno-error -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-builtin-requires-header'
- - $(git config --global -l | grep -o 'url.*gitlab.protontech.ch.*insteadof' | xargs -L 1 git config --global --unset &> /dev/null) || echo "nothing to remove"
- - git config --global url.https://gitlab-ci-token:${CI_JOB_TOKEN}@${CI_SERVER_HOST}.insteadOf https://${CI_SERVER_HOST}
- cache: {}
- tags:
- - macOS
-
-build-darwin:
- extends:
- - .build-base
- - .darwin-build-setup
-
-build-darwin-qa:
- extends:
- - build-darwin
- variables:
- BUILD_TAGS: "build_qa"
-
-.windows-build-setup:
+# ENV
+.env-windows:
before_script:
+ - export BRIDGE_SYNC_FORCE_MINIMUM_SPEC=1
- export GOROOT=/c/Go1.20/
- export PATH=$GOROOT/bin:$PATH
- export GOARCH=amd64
@@ -249,15 +69,177 @@ build-darwin-qa:
tags:
- windows-bridge
-#build-windows:
-# extends:
-# - .build-base
-# - .windows-build-setup
-#
-##build-windows-qa:
-# extends:
-# - build-windows
-# variables:
-# BUILD_TAGS: "build_qa"
-#
+.env-darwin:
+ before_script:
+ - export BRIDGE_SYNC_FORCE_MINIMUM_SPEC=1
+ - export PATH=/usr/local/bin:$PATH
+ - export PATH=/usr/local/opt/git/bin:$PATH
+ - export PATH=/usr/local/opt/make/libexec/gnubin:$PATH
+ - export PATH=/usr/local/opt/gnu-sed/libexec/gnubin:$PATH
+ - export GOROOT=~/local/opt/go@1.20
+ - export PATH="${GOROOT}/bin:$PATH"
+ - export GOPATH=~/go1.20
+ - export PATH="${GOPATH}/bin:$PATH"
+ - export QT6DIR=/opt/Qt/6.3.2/macos
+ - export PATH="${QT6DIR}/bin:$PATH"
+ - uname -a
+ cache: {}
+ tags:
+ - macos-m1-bridge
+
+.env-linux-build:
+ image: gitlab.protontech.ch:4567/go/bridge-internal:build-go1.20-qt6.3.2
+ variables:
+ VCPKG_DEFAULT_BINARY_CACHE: ${CI_PROJECT_DIR}/.cache
+ cache:
+ key: linux-vcpkg
+ paths:
+ - .cache
+ when: 'always'
+ before_script:
+ - mkdir -p .cache/bin
+ - export BRIDGE_SYNC_FORCE_MINIMUM_SPEC=1
+ - export PATH=$(pwd)/.cache/bin:$PATH
+ - export GOPATH="$CI_PROJECT_DIR/.cache"
+ - export PATH=$PATH:$QT6DIR/bin
+ - $(git config --global -l | grep -o 'url.*gitlab.protontech.ch.*insteadof' | xargs -L 1 git config --global --unset &> /dev/null) || echo "nothing to remove"
+ - git config --global url.https://gitlab-ci-token:${CI_JOB_TOKEN}@${CI_SERVER_HOST}.insteadOf https://${CI_SERVER_HOST}
+ tags:
+ - large
+
+# Stage: TEST
+
+lint:
+ stage: test
+ extends:
+ - .rules-branch-manual-MR-and-devel-always
+ script:
+ - make lint
+ tags:
+ - medium
+
+.script-test:
+ stage: test
+ extends:
+ - .rules-branch-manual-MR-and-devel-always
+ script:
+ - make test
+ artifacts:
+ paths:
+ - coverage/**
+
+test-linux:
+ extends:
+ - .script-test
+ tags:
+ - large
+
+test-linux-race:
+ extends:
+ - test-linux
+ - .rules-branch-and-MR-manual
+ script:
+ - make test-race
+
+test-integration:
+ extends:
+ - test-linux
+ script:
+ - make test-integration
+
+test-integration-race:
+ extends:
+ - test-integration
+ - .rules-branch-and-MR-manual
+ script:
+ - make test-integration-race
+
+test-windows:
+ extends:
+ - .env-windows
+ - .script-test
+ - .rules-branch-and-MR-manual
+
+test-darwin:
+ extends:
+ - .env-darwin
+ - .script-test
+
+test-coverage:
+ stage: test
+ extends:
+ - .rules-branch-manual-MR-and-devel-always
+ script:
+ - ./utils/coverage.sh
+ coverage: '/total:.*\(statements\).*\d+\.\d+%/'
+ needs:
+ - test-linux
+ #- test-windows
+ - test-darwin
+ - test-integration
+ tags:
+ - small
+ artifacts:
+ paths:
+ - coverage*
+ - coverage/**
+ when: 'always'
+ reports:
+ coverage_report:
+ coverage_format: cobertura
+ path: coverage.xml
+
+# Stage: BUILD
+
+.script-build:
+ stage: build
+ needs: ["lint"]
+ extends:
+ - .rules-branch-and-MR-manual
+ script:
+ - make build
+ - git diff && git diff-index --quiet HEAD
+ - make vault-editor
+ artifacts:
+ expire_in: 1 day
+ when: always
+ name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA"
+ paths:
+ - bridge_*.tgz
+ - vault-editor
+
+build-linux:
+ extends:
+ - .script-build
+ - .env-linux-build
+
+build-linux-qa:
+ extends:
+ - build-linux
+ - .rules-branch-manual-MR-and-devel-always
+ variables:
+ BUILD_TAGS: "build_qa"
+
+build-darwin:
+ extends:
+ - .script-build
+ - .env-darwin
+
+build-darwin-qa:
+ extends:
+ - build-darwin
+ variables:
+ BUILD_TAGS: "build_qa"
+
+build-windows:
+ extends:
+ - .script-build
+ - .env-windows
+
+build-windows-qa:
+ extends:
+ - build-windows
+ variables:
+ BUILD_TAGS: "build_qa"
+
# TODO: PUT BACK ALL THE JOBS! JUST DID THIS FOR NOW TO GET CI WORKING AGAIN...
diff --git a/.golangci.yml b/.golangci.yml
index 38a34461..001a5391 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -36,6 +36,14 @@ issues:
- gosec
- goconst
- dogsled
+ - path: utils/smtp-send
+ linters:
+ - dupl
+ - gochecknoglobals
+ - gochecknoinits
+ - gosec
+ - goconst
+ - dogsled
linters-settings:
godox:
diff --git a/COPYING_NOTES.md b/COPYING_NOTES.md
index c5eae0e2..f7f4d43a 100644
--- a/COPYING_NOTES.md
+++ b/COPYING_NOTES.md
@@ -58,7 +58,7 @@ Proton Mail Bridge includes the following 3rd party software:
* [testify](https://github.com/stretchr/testify) available under [license](https://github.com/stretchr/testify/blob/master/LICENSE)
* [cli](https://github.com/urfave/cli/v2) available under [license](https://github.com/urfave/cli/v2/blob/master/LICENSE)
* [msgpack](https://github.com/vmihailenco/msgpack/v5) available under [license](https://github.com/vmihailenco/msgpack/v5/blob/master/LICENSE)
-* [goleak](https://go.uber.org/goleak)
+* [goleak](https://go.uber.org/goleak) available under [license](https://pkg.go.dev/go.uber.org/goleak?tab=licenses)
* [exp](https://golang.org/x/exp) available under [license](https://cs.opensource.google/go/x/exp/+/master:LICENSE)
* [net](https://golang.org/x/net) available under [license](https://cs.opensource.google/go/x/net/+/master:LICENSE)
* [sys](https://golang.org/x/sys) available under [license](https://cs.opensource.google/go/x/sys/+/master:LICENSE)
@@ -66,16 +66,12 @@ Proton Mail Bridge includes the following 3rd party software:
* [grpc](https://google.golang.org/grpc) available under [license](https://github.com/grpc/grpc-go/blob/master/LICENSE)
* [protobuf](https://google.golang.org/protobuf) available under [license](https://github.com/protocolbuffers/protobuf/blob/main/LICENSE)
* [plist](https://howett.net/plist) available under [license](https://github.com/DHowett/go-plist/blob/main/LICENSE)
-* [atlas](https://ariga.io/atlas)
-* [ent](https://entgo.io/ent)
* [bcrypt](https://github.com/ProtonMail/bcrypt) available under [license](https://github.com/ProtonMail/bcrypt/blob/master/LICENSE)
* [go-crypto](https://github.com/ProtonMail/go-crypto) available under [license](https://github.com/ProtonMail/go-crypto/blob/master/LICENSE)
* [go-mime](https://github.com/ProtonMail/go-mime) available under [license](https://github.com/ProtonMail/go-mime/blob/master/LICENSE)
* [go-srp](https://github.com/ProtonMail/go-srp) available under [license](https://github.com/ProtonMail/go-srp/blob/master/LICENSE)
* [readline](https://github.com/abiosoft/readline) available under [license](https://github.com/abiosoft/readline/blob/master/LICENSE)
-* [levenshtein](https://github.com/agext/levenshtein) available under [license](https://github.com/agext/levenshtein/blob/master/LICENSE)
* [cascadia](https://github.com/andybalholm/cascadia) available under [license](https://github.com/andybalholm/cascadia/blob/master/LICENSE)
-* [go-textseg](https://github.com/apparentlymart/go-textseg/v13) available under [license](https://github.com/apparentlymart/go-textseg/v13/blob/master/LICENSE)
* [sonic](https://github.com/bytedance/sonic) available under [license](https://github.com/bytedance/sonic/blob/master/LICENSE)
* [base64x](https://github.com/chenzhuoyu/base64x) available under [license](https://github.com/chenzhuoyu/base64x/blob/master/LICENSE)
* [test](https://github.com/chzyer/test) available under [license](https://github.com/chzyer/test/blob/master/LICENSE)
@@ -93,7 +89,6 @@ Proton Mail Bridge includes the following 3rd party software:
* [mimetype](https://github.com/gabriel-vasile/mimetype) available under [license](https://github.com/gabriel-vasile/mimetype/blob/master/LICENSE)
* [sse](https://github.com/gin-contrib/sse) available under [license](https://github.com/gin-contrib/sse/blob/master/LICENSE)
* [gin](https://github.com/gin-gonic/gin) available under [license](https://github.com/gin-gonic/gin/blob/master/LICENSE)
-* [inflect](https://github.com/go-openapi/inflect) available under [license](https://github.com/go-openapi/inflect/blob/master/LICENSE)
* [locales](https://github.com/go-playground/locales) available under [license](https://github.com/go-playground/locales/blob/master/LICENSE)
* [universal-translator](https://github.com/go-playground/universal-translator) available under [license](https://github.com/go-playground/universal-translator/blob/master/LICENSE)
* [validator](https://github.com/go-playground/validator/v10) available under [license](https://github.com/go-playground/validator/v10/blob/master/LICENSE)
@@ -105,7 +100,6 @@ Proton Mail Bridge includes the following 3rd party software:
* [go-immutable-radix](https://github.com/hashicorp/go-immutable-radix) available under [license](https://github.com/hashicorp/go-immutable-radix/blob/master/LICENSE)
* [go-memdb](https://github.com/hashicorp/go-memdb) available under [license](https://github.com/hashicorp/go-memdb/blob/master/LICENSE)
* [golang-lru](https://github.com/hashicorp/golang-lru) available under [license](https://github.com/hashicorp/golang-lru/blob/master/LICENSE)
-* [hcl](https://github.com/hashicorp/hcl/v2) available under [license](https://github.com/hashicorp/hcl/v2/blob/master/LICENSE)
* [multierror](https://github.com/joeshaw/multierror) available under [license](https://github.com/joeshaw/multierror/blob/master/LICENSE)
* [go](https://github.com/json-iterator/go) available under [license](https://github.com/json-iterator/go/blob/master/LICENSE)
* [cpuid](https://github.com/klauspost/cpuid/v2) available under [license](https://github.com/klauspost/cpuid/v2/blob/master/LICENSE)
@@ -114,7 +108,6 @@ Proton Mail Bridge includes the following 3rd party software:
* [go-isatty](https://github.com/mattn/go-isatty) available under [license](https://github.com/mattn/go-isatty/blob/master/LICENSE)
* [go-runewidth](https://github.com/mattn/go-runewidth) available under [license](https://github.com/mattn/go-runewidth/blob/master/LICENSE)
* [go-sqlite3](https://github.com/mattn/go-sqlite3) available under [license](https://github.com/mattn/go-sqlite3/blob/master/LICENSE)
-* [go-wordwrap](https://github.com/mitchellh/go-wordwrap) available under [license](https://github.com/mitchellh/go-wordwrap/blob/master/LICENSE)
* [concurrent](https://github.com/modern-go/concurrent) available under [license](https://github.com/modern-go/concurrent/blob/master/LICENSE)
* [reflect2](https://github.com/modern-go/reflect2) available under [license](https://github.com/modern-go/reflect2/blob/master/LICENSE)
* [tablewriter](https://github.com/olekukonko/tablewriter) available under [license](https://github.com/olekukonko/tablewriter/blob/master/LICENSE)
@@ -130,14 +123,13 @@ Proton Mail Bridge includes the following 3rd party software:
* [codec](https://github.com/ugorji/go/codec) available under [license](https://github.com/ugorji/go/codec/blob/master/LICENSE)
* [tagparser](https://github.com/vmihailenco/tagparser/v2) available under [license](https://github.com/vmihailenco/tagparser/v2/blob/master/LICENSE)
* [smetrics](https://github.com/xrash/smetrics) available under [license](https://github.com/xrash/smetrics/blob/master/LICENSE)
-* [go-cty](https://github.com/zclconf/go-cty) available under [license](https://github.com/zclconf/go-cty/blob/master/LICENSE)
* [arch](https://golang.org/x/arch) available under [license](https://cs.opensource.google/go/x/arch/+/master:LICENSE)
* [crypto](https://golang.org/x/crypto) available under [license](https://cs.opensource.google/go/x/crypto/+/master:LICENSE)
* [mod](https://golang.org/x/mod) available under [license](https://cs.opensource.google/go/x/mod/+/master:LICENSE)
* [sync](https://golang.org/x/sync) available under [license](https://cs.opensource.google/go/x/sync/+/master:LICENSE)
* [tools](https://golang.org/x/tools) available under [license](https://cs.opensource.google/go/x/tools/+/master:LICENSE)
-* [genproto](https://google.golang.org/genproto)
-gopkg.in/yaml.v3
+* [genproto](https://google.golang.org/genproto) available under [license](https://pkg.go.dev/google.golang.org/genproto?tab=licenses)
+* [yaml](https://gopkg.in/yaml.v3) available under [license](https://github.com/go-yaml/yaml/blob/v3.0.1/LICENSE)
* [docker-credential-helpers](https://github.com/ProtonMail/docker-credential-helpers) available under [license](https://github.com/ProtonMail/docker-credential-helpers/blob/master/LICENSE)
* [go-message](https://github.com/ProtonMail/go-message) available under [license](https://github.com/ProtonMail/go-message/blob/master/LICENSE)
* [go-keychain](https://github.com/cuthix/go-keychain) available under [license](https://github.com/cuthix/go-keychain/blob/master/LICENSE)
diff --git a/Changelog.md b/Changelog.md
index 41820018..d0f24bed 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -3,6 +3,56 @@
Changelog [format](http://keepachangelog.com/en/1.0.0/)
+## [Bridge 3.4.0] Trift changelog
+
+### Changed
+* Test: Add require.Eventually to TestBridge_UserAgentFromSMTPClient.
+* Test: Add smtp-send utility.
+* GODT-2759: Check for oprhan messages.
+* GODT-2759: Add prompt to download missing messages for analysis.
+* GODT-2759: CLI debug commands.
+* Remove gRPC auto-generated C++ source files.
+* GODT-2749: Manual test-windows again.
+* Test: Force all unit test to use minimum sync spec.
+* Test: Force sync limits to minimum with env variable.
+* GODT-2749: Manual windows-test.
+* GODT-2691: Close logrus output file on exit.
+* GODT-2522: New Gluon database layout.
+* GODT-2678: When internet is off, do not display status dot icon for the user in the context menu.
+* GODT-2686: Change the orientation of the expand/collapse arrow for Advanced settings.
+* Test(GODT-2636): Add step for sending from EML.
+* Log failed message ids during sync.
+* GODT-2510: Remove Ent.
+* Test(GODT-2600): Changing state (read/unread, starred/unstarred) of a message in integration tests.
+* GODT-2703: Got rid of account details dialog with Apple Mail autoconf.
+* GODT-2685: Update to bug report log attachment logic.
+* GODT-2690: Update sentry reporting in GUI for new log file naming.
+* GODT-2668: Implemented new log retention policy.
+* Test(GODT-2683): Save Draft without "Date" & "From" in headers.
+* GODT-2666: Feat(GODT-2667): introduce sessionID in bridge.
+* GODT-2653: Log API error details on Message import and send.
+* GODT-2674: Add more logs to failed update.
+* GODT-2660: Calculate bridge coverage and refactor CI yaml file.
+* Fix dependency_license script to handle dot formated version.
+* Add error logs when messages fail to build during sync.
+* GODT-2673: Use NoClient as UserAgent without any client connected and...
+* GODT-2655: Display internal build time tag in log and GUI.
+
+### Fixed
+* GODT-2758: Fix panic in SetFlagsOnMessages.
+* GODT-2578: Refresh literals appended to Sent folder.
+* GODT-2753: Vault test now check that value auto-assigned is first available port.
+* GODT-2522: Handle migration with unreferenced db values.
+* GODT-2693: Allow missing whitespace after header field colon.
+* GODT-2653: Only log when err is not nil.
+* GODT-2680: Fix for C++ debugger not working on ARM64 because of OpenSSL 3.1.
+* GODT-2675: Update GPA to applye togin-gonic/gin patch + update COPYING_NOTES.
+* GODT-2672: Fix context cancelled when IMAP/SMTP parameters change is in progress.
+* GODT-2763: Missing Answered flag on Sync and Message Create.
+* GODT-2774: Only check telemetry availability for the current user.
+* GODT-2774: Add external context to telemetry tasks.
+
+
## Stone Bridge 3.3.2
### Fixed
diff --git a/Makefile b/Makefile
index b3f548b7..c4156f84 100644
--- a/Makefile
+++ b/Makefile
@@ -11,7 +11,7 @@ ROOT_DIR:=$(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
.PHONY: build build-gui build-nogui build-launcher versioner hasher
# Keep version hardcoded so app build works also without Git repository.
-BRIDGE_APP_VERSION?=3.3.2+git
+BRIDGE_APP_VERSION?=3.4.0+git
APP_VERSION:=${BRIDGE_APP_VERSION}
APP_FULL_NAME:=Proton Mail Bridge
APP_VENDOR:=Proton AG
@@ -229,14 +229,28 @@ add-license:
change-copyright-year:
./utils/missing_license.sh change-year
+GOCOVERAGE=-covermode=count -coverpkg=github.com/ProtonMail/proton-bridge/v3/internal/...,github.com/ProtonMail/proton-bridge/v3/pkg/...,
+GOCOVERDIR=-args -test.gocoverdir=$$PWD/coverage
+
test: gofiles
- go test -v -timeout=20m -p=1 -count=1 -coverprofile=/tmp/coverage.out -run=${TESTRUN} ./internal/... ./pkg/...
+ mkdir -p coverage/unit-${GOOS}
+ go test \
+ -v -timeout=20m -p=1 -count=1 \
+ ${GOCOVERAGE} \
+ -run=${TESTRUN} ./internal/... ./pkg/... \
+ ${GOCOVERDIR}/unit-${GOOS}
test-race: gofiles
go test -v -timeout=40m -p=1 -count=1 -race -failfast -run=${TESTRUN} ./internal/... ./pkg/...
test-integration: gofiles
- go test -v -timeout=60m -p=1 -count=1 github.com/ProtonMail/proton-bridge/v3/tests
+ mkdir -p coverage/integration
+ go test \
+ -v -timeout=60m -p=1 -count=1 \
+ ${GOCOVERAGE} \
+ github.com/ProtonMail/proton-bridge/v3/tests \
+ ${GOCOVERDIR}/integration
+
test-integration-debug: gofiles
dlv test github.com/ProtonMail/proton-bridge/v3/tests -- -test.v -test.timeout=10m -test.parallel=1 -test.count=1
diff --git a/cmd/launcher/main.go b/cmd/launcher/main.go
index e1cb0984..887cf3ba 100644
--- a/cmd/launcher/main.go
+++ b/cmd/launcher/main.go
@@ -18,6 +18,7 @@
package main
import (
+ "io"
"os"
"path/filepath"
"runtime"
@@ -43,9 +44,10 @@ import (
)
const (
- appName = "Proton Mail Launcher"
- exeName = "bridge"
- guiName = "bridge-gui"
+ appName = "Proton Mail Launcher"
+ exeName = "bridge"
+ guiName = "bridge-gui"
+ launcherName = "launcher"
FlagCLI = "cli"
FlagCLIShort = "c"
@@ -53,6 +55,7 @@ const (
FlagNonInteractiveShort = "n"
FlagLauncher = "--launcher"
FlagWait = "--wait"
+ FlagSessionID = "--session-id"
)
func main() { //nolint:funlen
@@ -75,12 +78,26 @@ func main() { //nolint:funlen
if err != nil {
l.WithError(err).Fatal("Failed to get logs path")
}
- crashHandler.AddRecoveryAction(logging.DumpStackTrace(logsPath))
- if err := logging.Init(logsPath, os.Getenv("VERBOSITY")); err != nil {
+ sessionID := logging.NewSessionID()
+ crashHandler.AddRecoveryAction(logging.DumpStackTrace(logsPath, sessionID, launcherName))
+
+ var closer io.Closer
+ if closer, err = logging.Init(
+ logsPath,
+ sessionID,
+ logging.LauncherShortAppName,
+ logging.DefaultMaxLogFileSize,
+ logging.NoPruning,
+ os.Getenv("VERBOSITY"),
+ ); err != nil {
l.WithError(err).Fatal("Failed to setup logging")
}
+ defer func() {
+ _ = logging.Close(closer)
+ }()
+
updatesPath, err := locations.ProvideUpdatesPath()
if err != nil {
l.WithError(err).Fatal("Failed to get updates path")
@@ -134,7 +151,7 @@ func main() { //nolint:funlen
}
}
- cmd := execabs.Command(exe, appendLauncherPath(launcher, args)...) //nolint:gosec
+ cmd := execabs.Command(exe, appendLauncherPath(launcher, append(args, FlagSessionID, string(sessionID)))...) //nolint:gosec
cmd.Stdin = os.Stdin
cmd.Stdout = os.Stdout
diff --git a/go.mod b/go.mod
index 4206e8d6..171266e5 100644
--- a/go.mod
+++ b/go.mod
@@ -5,9 +5,9 @@ go 1.20
require (
github.com/0xAX/notificator v0.0.0-20220220101646-ee9b8921e557
github.com/Masterminds/semver/v3 v3.2.0
- github.com/ProtonMail/gluon v0.16.1-0.20230706112359-3146d8312d12
+ github.com/ProtonMail/gluon v0.16.1-0.20230706110757-a9327fb18611
github.com/ProtonMail/go-autostart v0.0.0-20210130080809-00ed301c8e9a
- github.com/ProtonMail/go-proton-api v0.4.1-0.20230628092916-81cb3f87f184
+ github.com/ProtonMail/go-proton-api v0.4.1-0.20230704060229-a77a437ec052
github.com/ProtonMail/gopenpgp/v2 v2.7.1-proton
github.com/PuerkitoBio/goquery v1.8.1
github.com/abiosoft/ishell v2.0.0+incompatible
@@ -51,16 +51,12 @@ require (
)
require (
- ariga.io/atlas v0.9.1-0.20230119145809-92243f7c55cb // indirect
- entgo.io/ent v0.11.8 // indirect
github.com/ProtonMail/bcrypt v0.0.0-20211005172633-e235017c1baf // indirect
github.com/ProtonMail/go-crypto v0.0.0-20230518184743-7afd39499903 // indirect
github.com/ProtonMail/go-mime v0.0.0-20230322103455-7d82a3887f2f // indirect
github.com/ProtonMail/go-srp v0.0.7 // indirect
github.com/abiosoft/readline v0.0.0-20180607040430-155bce2042db // indirect
- github.com/agext/levenshtein v1.2.3 // indirect
github.com/andybalholm/cascadia v1.3.2 // indirect
- github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect
github.com/bytedance/sonic v1.9.1 // indirect
github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect
github.com/chzyer/test v1.0.0 // indirect
@@ -78,7 +74,6 @@ require (
github.com/gabriel-vasile/mimetype v1.4.2 // indirect
github.com/gin-contrib/sse v0.1.0 // indirect
github.com/gin-gonic/gin v1.9.1 // indirect
- github.com/go-openapi/inflect v0.19.0 // indirect
github.com/go-playground/locales v0.14.1 // indirect
github.com/go-playground/universal-translator v0.18.1 // indirect
github.com/go-playground/validator/v10 v10.14.0 // indirect
@@ -90,7 +85,6 @@ require (
github.com/hashicorp/go-immutable-radix v1.3.1 // indirect
github.com/hashicorp/go-memdb v1.3.3 // indirect
github.com/hashicorp/golang-lru v0.5.4 // indirect
- github.com/hashicorp/hcl/v2 v2.16.1 // indirect
github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/klauspost/cpuid/v2 v2.2.4 // indirect
@@ -98,8 +92,7 @@ require (
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.19 // indirect
github.com/mattn/go-runewidth v0.0.14 // indirect
- github.com/mattn/go-sqlite3 v1.14.16 // indirect
- github.com/mitchellh/go-wordwrap v1.0.1 // indirect
+ github.com/mattn/go-sqlite3 v1.14.17 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/olekukonko/tablewriter v0.0.5 // indirect
@@ -115,7 +108,6 @@ require (
github.com/ugorji/go/codec v1.2.11 // indirect
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect
- github.com/zclconf/go-cty v1.12.1 // indirect
golang.org/x/arch v0.3.0 // indirect
golang.org/x/crypto v0.9.0 // indirect
golang.org/x/mod v0.8.0 // indirect
diff --git a/go.sum b/go.sum
index 9a6f8250..c3e5d887 100644
--- a/go.sum
+++ b/go.sum
@@ -1,5 +1,3 @@
-ariga.io/atlas v0.9.1-0.20230119145809-92243f7c55cb h1:mbsFtavDqGdYwdDpP50LGOOZ2hgyGoJcZeOpbgKMyu4=
-ariga.io/atlas v0.9.1-0.20230119145809-92243f7c55cb/go.mod h1:T230JFcENj4ZZzMkZrXFDSkv+2kXkUgpJ5FQQ5hMcKU=
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
@@ -13,13 +11,10 @@ cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqCl
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
-entgo.io/ent v0.11.8 h1:M/M0QL1CYCUSdqGRXUrXhFYSDRJPsOOrr+RLEej/gyQ=
-entgo.io/ent v0.11.8/go.mod h1:ericBi6Q8l3wBH1wEIDfKxw7rcQEuRPyBfbIzjtxJ18=
github.com/0xAX/notificator v0.0.0-20220220101646-ee9b8921e557 h1:l6surSnJ3RP4qA1qmKJ+hQn3UjytosdoG27WGjrDlVs=
github.com/0xAX/notificator v0.0.0-20220220101646-ee9b8921e557/go.mod h1:sTrmvD/TxuypdOERsDOS7SndZg0rzzcCi1b6wQMXUYM=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
-github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60=
github.com/Masterminds/semver/v3 v3.2.0 h1:3MEsd0SM6jqZojhjLWWeBY+Kcjy9i6MQAeY7YgDP83g=
github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ=
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
@@ -28,10 +23,8 @@ github.com/ProtonMail/bcrypt v0.0.0-20211005172633-e235017c1baf h1:yc9daCCYUefEs
github.com/ProtonMail/bcrypt v0.0.0-20211005172633-e235017c1baf/go.mod h1:o0ESU9p83twszAU8LBeJKFAAMX14tISa0yk4Oo5TOqo=
github.com/ProtonMail/docker-credential-helpers v1.1.0 h1:+kvUIpwWcbtP3WFv5sSvkFn/XLzSqPOB5AAthuk9xPk=
github.com/ProtonMail/docker-credential-helpers v1.1.0/go.mod h1:mK0aBveCxhnQ756AmaTfXMZDeULvheYVhF/MWMErN5g=
-github.com/ProtonMail/gluon v0.16.1-0.20230607122549-dbdb8e1cc0c3 h1:VMbbJD3dcGPPIgbdQTS5Z4nX0QU/SsVZWdmsMVVBBsI=
-github.com/ProtonMail/gluon v0.16.1-0.20230607122549-dbdb8e1cc0c3/go.mod h1:ERZikuN+2i/oTeSwS5fq7J0Fms76uUcBlTAwT4KaEAk=
-github.com/ProtonMail/gluon v0.16.1-0.20230706112359-3146d8312d12 h1:a4mVvmGGojclWgbQ6g4eW/XquioHJ/iYF4OFk70265Q=
-github.com/ProtonMail/gluon v0.16.1-0.20230706112359-3146d8312d12/go.mod h1:ERZikuN+2i/oTeSwS5fq7J0Fms76uUcBlTAwT4KaEAk=
+github.com/ProtonMail/gluon v0.16.1-0.20230706110757-a9327fb18611 h1:QVydPr/+pgz5xihc2ujNNV+qnq3oTidIXvF0PgkcY6U=
+github.com/ProtonMail/gluon v0.16.1-0.20230706110757-a9327fb18611/go.mod h1:Og5/Dz1MiGpCJn51XujZwxiLG7WzvvjE5PRpZBQmAHo=
github.com/ProtonMail/go-autostart v0.0.0-20210130080809-00ed301c8e9a h1:D+aZah+k14Gn6kmL7eKxoo/4Dr/lK3ChBcwce2+SQP4=
github.com/ProtonMail/go-autostart v0.0.0-20210130080809-00ed301c8e9a/go.mod h1:oTGdE7/DlWIr23G0IKW3OXK9wZ5Hw1GGiaJFccTvZi4=
github.com/ProtonMail/go-crypto v0.0.0-20230321155629-9a39f2531310/go.mod h1:8TI4H3IbrackdNgv+92dI+rhpCaLqM0IfpgCgenFvRE=
@@ -42,8 +35,8 @@ github.com/ProtonMail/go-message v0.13.1-0.20230526094639-b62c999c85b7 h1:+j+Kd/
github.com/ProtonMail/go-message v0.13.1-0.20230526094639-b62c999c85b7/go.mod h1:NBAn21zgCJ/52WLDyed18YvYFm5tEoeDauubFqLokM4=
github.com/ProtonMail/go-mime v0.0.0-20230322103455-7d82a3887f2f h1:tCbYj7/299ekTTXpdwKYF8eBlsYsDVoggDAuAjoK66k=
github.com/ProtonMail/go-mime v0.0.0-20230322103455-7d82a3887f2f/go.mod h1:gcr0kNtGBqin9zDW9GOHcVntrwnjrK+qdJ06mWYBybw=
-github.com/ProtonMail/go-proton-api v0.4.1-0.20230628092916-81cb3f87f184 h1:gw8sgQMCIDS/lw5xbF2iqlTfvY0HhuafjlGsKcN3VsE=
-github.com/ProtonMail/go-proton-api v0.4.1-0.20230628092916-81cb3f87f184/go.mod h1:+aTJoYu8bqzGECXL2DOdiZTZ64bGn3w0NC8VcFpJrFM=
+github.com/ProtonMail/go-proton-api v0.4.1-0.20230704060229-a77a437ec052 h1:uIq0RX4gU9PSZ9x5b2LmJUXNOuBXRRVSOkM1RGnSy68=
+github.com/ProtonMail/go-proton-api v0.4.1-0.20230704060229-a77a437ec052/go.mod h1:+aTJoYu8bqzGECXL2DOdiZTZ64bGn3w0NC8VcFpJrFM=
github.com/ProtonMail/go-srp v0.0.7 h1:Sos3Qk+th4tQR64vsxGIxYpN3rdnG9Wf9K4ZloC1JrI=
github.com/ProtonMail/go-srp v0.0.7/go.mod h1:giCp+7qRnMIcCvI6V6U3S1lDDXDQYx2ewJ6F/9wdlJk=
github.com/ProtonMail/gopenpgp/v2 v2.7.1-proton h1:YS6M20yvjCJPR1r4ADW5TPn6rahs4iAyZaACei86bEc=
@@ -54,8 +47,6 @@ github.com/abiosoft/ishell v2.0.0+incompatible h1:zpwIuEHc37EzrsIYah3cpevrIc8Oma
github.com/abiosoft/ishell v2.0.0+incompatible/go.mod h1:HQR9AqF2R3P4XXpMpI0NAzgHf/aS6+zVXRj14cVk9qg=
github.com/abiosoft/readline v0.0.0-20180607040430-155bce2042db h1:CjPUSXOiYptLbTdr1RceuZgSFDQ7U15ITERUGrUORx8=
github.com/abiosoft/readline v0.0.0-20180607040430-155bce2042db/go.mod h1:rB3B4rKii8V21ydCbIzH5hZiCQE7f5E9SzUb/ZZx530=
-github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo=
-github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558=
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/allan-simon/go-singleinstance v0.0.0-20210120080615-d0997106ab37 h1:28uU3TtuvQ6KRndxg9TrC868jBWmSKgh0GTXkACCXmA=
@@ -63,9 +54,6 @@ github.com/allan-simon/go-singleinstance v0.0.0-20210120080615-d0997106ab37/go.m
github.com/andybalholm/cascadia v1.3.1/go.mod h1:R4bJ1UQfqADjvDa4P6HZHLh/3OxWWEqc0Sk8XGwHqvA=
github.com/andybalholm/cascadia v1.3.2 h1:3Xi6Dw5lHF15JtdcmAHD3i1+T8plmv7BQ/nsViSLyss=
github.com/andybalholm/cascadia v1.3.2/go.mod h1:7gtRlve5FxPPgIgX36uWBX58OdBsSS6lUvCFb+h7KvU=
-github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM=
-github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw=
-github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo=
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
@@ -160,8 +148,6 @@ github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
-github.com/go-openapi/inflect v0.19.0 h1:9jCH9scKIbHeV9m12SmPilScz6krDxKRasNNSNPXu/4=
-github.com/go-openapi/inflect v0.19.0/go.mod h1:lHpZVlpIQqLyKwJ4N+YSc9hchQy/i12fJykb83CRBH4=
github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
@@ -172,8 +158,6 @@ github.com/go-playground/validator/v10 v10.14.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QX
github.com/go-resty/resty/v2 v2.7.0 h1:me+K9p3uhSmXtrBZ4k9jcEAfJmuC8IivWHwaLZwPrFY=
github.com/go-resty/resty/v2 v2.7.0/go.mod h1:9PWDzw47qPphMRFfhsyk0NnSgvluHcljSMVIq3w7q0I=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
-github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68=
-github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA=
github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU=
github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
github.com/godbus/dbus v4.1.0+incompatible h1:WqqLRTsQic3apZUK9qC5sGNfXthmPXzUZ7nQPrNITa4=
@@ -250,8 +234,6 @@ github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ
github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc=
github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
-github.com/hashicorp/hcl/v2 v2.16.1 h1:BwuxEMD/tsYgbhIW7UuI3crjovf3MzuFWiVgiv57iHg=
-github.com/hashicorp/hcl/v2 v2.16.1/go.mod h1:JRmR89jycNkrrqnMmvPDMd56n1rQJ2Q6KocSLCMCXng=
github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
@@ -284,9 +266,6 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
-github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
-github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348 h1:MtvEpTB6LX3vkb4ax0b5D2DHbNAUsen0Gx5wZoq3lV4=
-github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k=
github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q=
github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4=
github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
@@ -303,8 +282,8 @@ github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU=
github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
-github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y=
-github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
+github.com/mattn/go-sqlite3 v1.14.17 h1:mCRHCLDUBXgpKAqIKsaAaAsrAlbkeomtRFKXh2L6YIM=
+github.com/mattn/go-sqlite3 v1.14.17/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
github.com/miekg/dns v1.1.50 h1:DQUfb9uc6smULcREF09Uc+/Gd46YWqJd5DbpPE9xkcA=
@@ -313,8 +292,6 @@ github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceT
github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
-github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
-github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0=
github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg=
github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY=
github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
@@ -369,8 +346,6 @@ github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
-github.com/sergi/go-diff v1.0.0 h1:Kpca3qRNrduNnOQeazBd0ysaKrUJiIuISHxogkT9RPQ=
-github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.9.2 h1:oxx1eChJGI6Uks2ZC4W1zpLlVgqB8ner4EuQwV4Ik1Y=
@@ -415,10 +390,8 @@ github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4d
github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg=
github.com/urfave/cli/v2 v2.24.4 h1:0gyJJEBYtCV87zI/x2nZCPyDxD51K6xM8SkwjHFCNEU=
github.com/urfave/cli/v2 v2.24.4/go.mod h1:GHupkWPMM0M/sj1a2b4wUrWBPzazNrIjouW6fmdJLxc=
-github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4=
github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU=
github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc=
-github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI=
github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g=
github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds=
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
@@ -426,9 +399,6 @@ github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRT
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8=
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
-github.com/zclconf/go-cty v1.12.1 h1:PcupnljUm9EIvbgSHQnHhUr3fO6oFmkOrvs2BAFNXXY=
-github.com/zclconf/go-cty v1.12.1/go.mod h1:s9IfD1LK5ccNMSWCVFCE2rJfHiZgi7JijgeWIMfhLvA=
-github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8=
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
diff --git a/internal/app/app.go b/internal/app/app.go
index fb2e63cc..22912393 100644
--- a/internal/app/app.go
+++ b/internal/app/app.go
@@ -19,6 +19,7 @@ package app
import (
"fmt"
+ "io"
"net/http"
"net/http/cookiejar"
"net/url"
@@ -76,10 +77,12 @@ const (
flagNoWindow = "no-window"
flagParentPID = "parent-pid"
flagSoftwareRenderer = "software-renderer"
+ flagSessionID = "session-id"
)
const (
- appUsage = "Proton Mail IMAP and SMTP Bridge"
+ appUsage = "Proton Mail IMAP and SMTP Bridge"
+ appShortName = "bridge"
)
func New() *cli.App {
@@ -150,6 +153,10 @@ func New() *cli.App {
Hidden: true,
Value: false,
},
+ &cli.StringFlag{
+ Name: flagSessionID,
+ Hidden: true,
+ },
}
app.Action = run
@@ -183,6 +190,11 @@ func run(c *cli.Context) error {
exe = os.Args[0]
}
+ var logCloser io.Closer
+ defer func() {
+ _ = logging.Close(logCloser)
+ }()
+
// Restart the app if requested.
return withRestarter(exe, func(restarter *restarter.Restarter) error {
// Handle crashes with various actions.
@@ -199,7 +211,9 @@ func run(c *cli.Context) error {
}
// Initialize logging.
- return withLogging(c, crashHandler, locations, func() error {
+ return withLogging(c, crashHandler, locations, func(closer io.Closer) error {
+ logCloser = closer
+
// If there was an error during migration, log it now.
if migrationErr != nil {
logrus.WithError(migrationErr).Error("Failed to migrate old app data")
@@ -298,7 +312,7 @@ func withSingleInstance(settingPath, lockFile string, version *semver.Version, f
}
// Initialize our logging system.
-func withLogging(c *cli.Context, crashHandler *crash.Handler, locations *locations.Locations, fn func() error) error {
+func withLogging(c *cli.Context, crashHandler *crash.Handler, locations *locations.Locations, fn func(closer io.Closer) error) error {
logrus.Debug("Initializing logging")
defer logrus.Debug("Logging stopped")
@@ -311,12 +325,21 @@ func withLogging(c *cli.Context, crashHandler *crash.Handler, locations *locatio
logrus.WithField("path", logsPath).Debug("Received logs path")
// Initialize logging.
- if err := logging.Init(logsPath, c.String(flagLogLevel)); err != nil {
+ sessionID := logging.NewSessionIDFromString(c.String(flagSessionID))
+ var closer io.Closer
+ if closer, err = logging.Init(
+ logsPath,
+ sessionID,
+ logging.BridgeShortAppName,
+ logging.DefaultMaxLogFileSize,
+ logging.DefaultPruningSize,
+ c.String(flagLogLevel),
+ ); err != nil {
return fmt.Errorf("could not initialize logging: %w", err)
}
// Ensure we dump a stack trace if we crash.
- crashHandler.AddRecoveryAction(logging.DumpStackTrace(logsPath))
+ crashHandler.AddRecoveryAction(logging.DumpStackTrace(logsPath, sessionID, appShortName))
logrus.
WithField("appName", constants.FullAppName).
@@ -329,7 +352,7 @@ func withLogging(c *cli.Context, crashHandler *crash.Handler, locations *locatio
WithField("SentryID", sentry.GetProtectedHostname()).
Info("Run app")
- return fn()
+ return fn(closer)
}
// WithLocations provides access to locations where we store our files.
diff --git a/internal/app/bridge.go b/internal/app/bridge.go
index 280d444f..0600e39c 100644
--- a/internal/app/bridge.go
+++ b/internal/app/bridge.go
@@ -44,7 +44,7 @@ import (
// deleteOldGoIMAPFiles Set with `-ldflags -X app.deleteOldGoIMAPFiles=true` to enable cleanup of old imap cache data.
var deleteOldGoIMAPFiles bool //nolint:gochecknoglobals
-// withBridge creates creates and tears down the bridge.
+// withBridge creates and tears down the bridge.
func withBridge(
c *cli.Context,
exe string,
diff --git a/internal/bridge/bridge_test.go b/internal/bridge/bridge_test.go
index f9be0e56..178adeac 100644
--- a/internal/bridge/bridge_test.go
+++ b/internal/bridge/bridge_test.go
@@ -25,6 +25,7 @@ import (
"net/http"
"os"
"path/filepath"
+ "strings"
"sync"
"testing"
"time"
@@ -300,8 +301,11 @@ func TestBridge_UserAgentFromSMTPClient(t *testing.T) {
string(info.BridgePass)),
))
- currentUserAgent = b.GetCurrentUserAgent()
- require.Contains(t, currentUserAgent, "UnknownClient/0.0.1")
+ require.Eventually(t, func() bool {
+ currentUserAgent = b.GetCurrentUserAgent()
+
+ return strings.Contains(currentUserAgent, "UnknownClient/0.0.1")
+ }, time.Minute, 5*time.Second)
})
})
}
diff --git a/internal/bridge/bug_report.go b/internal/bridge/bug_report.go
index c6ff0c2b..dd2d7a01 100644
--- a/internal/bridge/bug_report.go
+++ b/internal/bridge/bug_report.go
@@ -18,13 +18,8 @@
package bridge
import (
- "archive/zip"
- "bytes"
"context"
"io"
- "os"
- "path/filepath"
- "sort"
"github.com/ProtonMail/go-proton-api"
"github.com/ProtonMail/proton-bridge/v3/internal/constants"
@@ -34,8 +29,8 @@ import (
)
const (
- MaxTotalAttachmentSize = 7 * (1 << 20)
- MaxCompressedFilesCount = 6
+ DefaultMaxBugReportZipSize = 7 * 1024 * 1024
+ DefaultMaxSessionCountForBugReport = 10
)
func (bridge *Bridge) ReportBug(ctx context.Context, osType, osVersion, description, username, email, client string, attachLogs bool) error {
@@ -51,54 +46,25 @@ func (bridge *Bridge) ReportBug(ctx context.Context, osType, osVersion, descript
}
}
- var atts []proton.ReportBugAttachment
+ var attachment []proton.ReportBugAttachment
if attachLogs {
- logs, err := getMatchingLogs(bridge.locator, func(filename string) bool {
- return logging.MatchLogName(filename) && !logging.MatchStackTraceName(filename)
- })
+ logsPath, err := bridge.locator.ProvideLogsPath()
if err != nil {
return err
}
- crashes, err := getMatchingLogs(bridge.locator, func(filename string) bool {
- return logging.MatchLogName(filename) && logging.MatchStackTraceName(filename)
- })
+ buffer, err := logging.ZipLogsForBugReport(logsPath, DefaultMaxSessionCountForBugReport, DefaultMaxBugReportZipSize)
if err != nil {
return err
}
- guiLogs, err := getMatchingLogs(bridge.locator, func(filename string) bool {
- return logging.MatchGUILogName(filename) && !logging.MatchStackTraceName(filename)
- })
+ body, err := io.ReadAll(buffer)
if err != nil {
return err
}
- var matchFiles []string
-
- // Include bridge logs, up to a maximum amount.
- matchFiles = append(matchFiles, logs[max(0, len(logs)-(MaxCompressedFilesCount/2)):]...)
-
- // Include crash logs, up to a maximum amount.
- matchFiles = append(matchFiles, crashes[max(0, len(crashes)-(MaxCompressedFilesCount/2)):]...)
-
- // bridge-gui keeps just one small (~ 1kb) log file; we always include it.
- if len(guiLogs) > 0 {
- matchFiles = append(matchFiles, guiLogs[len(guiLogs)-1])
- }
-
- archive, err := zipFiles(matchFiles)
- if err != nil {
- return err
- }
-
- body, err := io.ReadAll(archive)
- if err != nil {
- return err
- }
-
- atts = append(atts, proton.ReportBugAttachment{
+ attachment = append(attachment, proton.ReportBugAttachment{
Name: "logs.zip",
Filename: "logs.zip",
MIMEType: "application/zip",
@@ -125,116 +91,5 @@ func (bridge *Bridge) ReportBug(ctx context.Context, osType, osVersion, descript
Username: account,
Email: email,
- }, atts...)
-}
-
-func max(a, b int) int {
- if a > b {
- return a
- }
-
- return b
-}
-
-func getMatchingLogs(locator Locator, filenameMatchFunc func(string) bool) (filenames []string, err error) {
- logsPath, err := locator.ProvideLogsPath()
- if err != nil {
- return nil, err
- }
-
- files, err := os.ReadDir(logsPath)
- if err != nil {
- return nil, err
- }
-
- var matchFiles []string
-
- for _, file := range files {
- if filenameMatchFunc(file.Name()) {
- matchFiles = append(matchFiles, filepath.Join(logsPath, file.Name()))
- }
- }
-
- sort.Strings(matchFiles) // Sorted by timestamp: oldest first.
-
- return matchFiles, nil
-}
-
-type limitedBuffer struct {
- capacity int
- buf *bytes.Buffer
-}
-
-func newLimitedBuffer(capacity int) *limitedBuffer {
- return &limitedBuffer{
- capacity: capacity,
- buf: bytes.NewBuffer(make([]byte, 0, capacity)),
- }
-}
-
-func (b *limitedBuffer) Write(p []byte) (n int, err error) {
- if len(p)+b.buf.Len() > b.capacity {
- return 0, ErrSizeTooLarge
- }
-
- return b.buf.Write(p)
-}
-
-func (b *limitedBuffer) Read(p []byte) (n int, err error) {
- return b.buf.Read(p)
-}
-
-func zipFiles(filenames []string) (io.Reader, error) {
- if len(filenames) == 0 {
- return nil, nil
- }
-
- buf := newLimitedBuffer(MaxTotalAttachmentSize)
-
- w := zip.NewWriter(buf)
- defer w.Close() //nolint:errcheck
-
- for _, file := range filenames {
- if err := addFileToZip(file, w); err != nil {
- return nil, err
- }
- }
-
- if err := w.Close(); err != nil {
- return nil, err
- }
-
- return buf, nil
-}
-
-func addFileToZip(filename string, writer *zip.Writer) error {
- fileReader, err := os.Open(filepath.Clean(filename))
- if err != nil {
- return err
- }
- defer fileReader.Close() //nolint:errcheck,gosec
-
- fileInfo, err := fileReader.Stat()
- if err != nil {
- return err
- }
-
- header, err := zip.FileInfoHeader(fileInfo)
- if err != nil {
- return err
- }
-
- header.Method = zip.Deflate
- header.Name = filepath.Base(filename)
-
- fileWriter, err := writer.CreateHeader(header)
- if err != nil {
- return err
- }
-
- if _, err := io.Copy(fileWriter, fileReader); err != nil {
- return err
- }
-
- return fileReader.Close()
+ }, attachment...)
}
diff --git a/internal/bridge/debug.go b/internal/bridge/debug.go
new file mode 100644
index 00000000..26f5532d
--- /dev/null
+++ b/internal/bridge/debug.go
@@ -0,0 +1,297 @@
+// Copyright (c) 2023 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
+package bridge
+
+import (
+ "context"
+ "fmt"
+ "io"
+ "os"
+ "path/filepath"
+
+ "github.com/ProtonMail/gluon/imap"
+ "github.com/ProtonMail/gluon/rfc822"
+ "github.com/ProtonMail/go-proton-api"
+ "github.com/ProtonMail/proton-bridge/v3/internal/user"
+ "github.com/bradenaw/juniper/iterator"
+ "github.com/bradenaw/juniper/xslices"
+ goimap "github.com/emersion/go-imap"
+ goimapclient "github.com/emersion/go-imap/client"
+ "github.com/sirupsen/logrus"
+ "golang.org/x/exp/maps"
+)
+
+type CheckClientStateResult struct {
+ MissingMessages map[string]map[string]user.DiagMailboxMessage
+}
+
+func (c *CheckClientStateResult) AddMissingMessage(userID string, message user.DiagMailboxMessage) {
+ v, ok := c.MissingMessages[userID]
+ if !ok {
+ c.MissingMessages[userID] = map[string]user.DiagMailboxMessage{message.ID: message}
+ } else {
+ v[message.ID] = message
+ }
+}
+
+// CheckClientState checks the current IMAP client reported state against the proton server state and reports
+// anything that is out of place.
+func (bridge *Bridge) CheckClientState(ctx context.Context, checkFlags bool, progressCB func(string)) (CheckClientStateResult, error) {
+ bridge.usersLock.RLock()
+ defer bridge.usersLock.RUnlock()
+
+ users := maps.Values(bridge.users)
+
+ result := CheckClientStateResult{
+ MissingMessages: make(map[string]map[string]user.DiagMailboxMessage),
+ }
+
+ for _, usr := range users {
+ if progressCB != nil {
+ progressCB(fmt.Sprintf("Checking state for user %v", usr.Name()))
+ }
+ log := logrus.WithField("user", usr.Name()).WithField("diag", "state-check")
+ log.Debug("Retrieving all server metadata")
+ meta, err := usr.GetDiagnosticMetadata(ctx)
+ if err != nil {
+ return result, err
+ }
+
+ success := true
+
+ if len(meta.Metadata) != len(meta.MessageIDs) {
+ log.Errorf("Metadata (%v) and message(%v) list sizes do not match", len(meta.Metadata), len(meta.MessageIDs))
+ }
+
+ log.Debug("Building state")
+ state, err := meta.BuildMailboxToMessageMap(usr)
+ if err != nil {
+ log.WithError(err).Error("Failed to build state")
+ return result, err
+ }
+
+ info, err := bridge.GetUserInfo(usr.ID())
+ if err != nil {
+ log.WithError(err).Error("Failed to get user info")
+ return result, err
+ }
+
+ addr := fmt.Sprintf("127.0.0.1:%v", bridge.GetIMAPPort())
+
+ for account, mboxMap := range state {
+ if progressCB != nil {
+ progressCB(fmt.Sprintf("Checking state for user %v's account '%v'", usr.Name(), account))
+ }
+ if err := func(account string, mboxMap user.AccountMailboxMap) error {
+ client, err := goimapclient.Dial(addr)
+ if err != nil {
+ log.WithError(err).Error("Failed to connect to imap client")
+ return err
+ }
+
+ defer func() {
+ _ = client.Logout()
+ }()
+
+ if err := client.Login(account, string(info.BridgePass)); err != nil {
+ return fmt.Errorf("failed to login for user %v:%w", usr.Name(), err)
+ }
+
+ log := log.WithField("account", account)
+ for mboxName, messageList := range mboxMap {
+ log := log.WithField("mbox", mboxName)
+ status, err := client.Select(mboxName, true)
+ if err != nil {
+ log.WithError(err).Errorf("Failed to select mailbox %v", messageList)
+ return fmt.Errorf("failed to select '%v':%w", mboxName, err)
+ }
+
+ log.Debug("Checking message count")
+
+ if int(status.Messages) != len(messageList) {
+ success = false
+ log.Errorf("Message count doesn't match, got '%v' expected '%v'", status.Messages, len(messageList))
+ }
+
+ ids, err := clientGetMessageIDs(client, mboxName)
+ if err != nil {
+ return fmt.Errorf("failed to get message ids for mbox '%v': %w", mboxName, err)
+ }
+
+ for _, msg := range messageList {
+ imapFlags, ok := ids[msg.ID]
+ if !ok {
+ if meta.FailedMessageIDs.Contains(msg.ID) {
+ log.Warningf("Missing message '%v', but it is part of failed message set", msg.ID)
+ } else {
+ log.Errorf("Missing message '%v'", msg.ID)
+ }
+
+ result.AddMissingMessage(msg.UserID, msg)
+ continue
+ }
+
+ if checkFlags {
+ if !imapFlags.Equals(msg.Flags) {
+ log.Errorf("Message '%v' flags do mot match, got=%v, expected=%v",
+ msg.ID,
+ imapFlags.ToSlice(),
+ msg.Flags.ToSlice(),
+ )
+ }
+ }
+ }
+ }
+
+ if !success {
+ log.Errorf("State does not match")
+ } else {
+ log.Info("State matches")
+ }
+
+ return nil
+ }(account, mboxMap); err != nil {
+ return result, err
+ }
+ }
+
+ // Check for orphaned messages (only present in All Mail)
+ if progressCB != nil {
+ progressCB(fmt.Sprintf("Checking user %v for orphans", usr.Name()))
+ }
+ log.Debugf("Checking for orphans")
+
+ for _, m := range meta.Metadata {
+ filteredLabels := xslices.Filter(m.LabelIDs, func(t string) bool {
+ switch t {
+ case proton.AllMailLabel:
+ return false
+ case proton.AllSentLabel:
+ return false
+ case proton.AllDraftsLabel:
+ return false
+ case proton.OutboxLabel:
+ return false
+ default:
+ return true
+ }
+ })
+
+ if len(filteredLabels) == 0 {
+ log.Warnf("Message %v is only present in All Mail (Subject=%v)", m.ID, m.Subject)
+ }
+ }
+ }
+
+ return result, nil
+}
+
+func (bridge *Bridge) DebugDownloadFailedMessages(
+ ctx context.Context,
+ result CheckClientStateResult,
+ exportPath string,
+ progressCB func(string, int, int),
+) error {
+ bridge.usersLock.RLock()
+ defer bridge.usersLock.RUnlock()
+
+ for userID, messages := range result.MissingMessages {
+ usr, ok := bridge.users[userID]
+ if !ok {
+ return fmt.Errorf("failed to find user with id %v", userID)
+ }
+
+ userDir := filepath.Join(exportPath, userID)
+ if err := os.MkdirAll(userDir, 0o700); err != nil {
+ return fmt.Errorf("failed to create directory '%v': %w", userDir, err)
+ }
+
+ if err := usr.DebugDownloadMessages(ctx, userDir, messages, progressCB); err != nil {
+ return err
+ }
+ }
+
+ return nil
+}
+
+func clientGetMessageIDs(client *goimapclient.Client, mailbox string) (map[string]imap.FlagSet, error) {
+ status, err := client.Select(mailbox, false)
+ if err != nil {
+ return nil, err
+ }
+
+ if status.Messages == 0 {
+ return nil, nil
+ }
+
+ resCh := make(chan *goimap.Message)
+
+ section, err := goimap.ParseBodySectionName("BODY[HEADER]")
+ if err != nil {
+ return nil, err
+ }
+
+ fetchItems := []goimap.FetchItem{"BODY[HEADER]", goimap.FetchFlags}
+
+ seq, err := goimap.ParseSeqSet("1:*")
+ if err != nil {
+ return nil, err
+ }
+
+ go func() {
+ if err := client.Fetch(
+ seq,
+ fetchItems,
+ resCh,
+ ); err != nil {
+ panic(err)
+ }
+ }()
+
+ messages := iterator.Collect(iterator.Chan(resCh))
+
+ ids := make(map[string]imap.FlagSet, len(messages))
+
+ for i, m := range messages {
+ literal, err := io.ReadAll(m.GetBody(section))
+ if err != nil {
+ return nil, err
+ }
+
+ header, err := rfc822.NewHeader(literal)
+ if err != nil {
+ return nil, fmt.Errorf("failed to parse header for msg %v: %w", i, err)
+ }
+
+ internalID, ok := header.GetChecked("X-Pm-Internal-Id")
+ if !ok {
+ logrus.Errorf("Message %v does not have internal id", internalID)
+ continue
+ }
+
+ messageFlags := imap.NewFlagSet(m.Flags...)
+
+ // Recent and Deleted are not part of the proton flag set.
+ messageFlags.RemoveFromSelf("\\Recent")
+ messageFlags.RemoveFromSelf("\\Deleted")
+
+ ids[internalID] = messageFlags
+ }
+
+ return ids, nil
+}
diff --git a/internal/bridge/draft_test.go b/internal/bridge/draft_test.go
new file mode 100644
index 00000000..85ccf3c3
--- /dev/null
+++ b/internal/bridge/draft_test.go
@@ -0,0 +1,175 @@
+// Copyright (c) 2023 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
+package bridge_test
+
+import (
+ "bytes"
+ "context"
+ "crypto/tls"
+ "fmt"
+ "io"
+ "net"
+ "strings"
+ "testing"
+ "time"
+
+ "github.com/ProtonMail/gluon/rfc822"
+ "github.com/ProtonMail/go-proton-api"
+ "github.com/ProtonMail/go-proton-api/server"
+ "github.com/ProtonMail/proton-bridge/v3/internal/bridge"
+ "github.com/ProtonMail/proton-bridge/v3/internal/constants"
+ "github.com/ProtonMail/proton-bridge/v3/internal/events"
+ go_imap "github.com/emersion/go-imap"
+ "github.com/emersion/go-sasl"
+ "github.com/emersion/go-smtp"
+ "github.com/sirupsen/logrus"
+ "github.com/stretchr/testify/require"
+)
+
+func TestBridge_HandleDraftsSendFromOtherClient(t *testing.T) {
+ getGluonHeaderID := func(literal []byte) (string, string) {
+ h, err := rfc822.NewHeader(literal)
+ require.NoError(t, err)
+
+ gluonID, ok := h.GetChecked("X-Pm-Gluon-Id")
+ require.True(t, ok)
+
+ externalID, ok := h.GetChecked("Message-Id")
+ require.True(t, ok)
+
+ return gluonID, externalID
+ }
+
+ withEnv(t, func(ctx context.Context, s *server.Server, netCtl *proton.NetCtl, locator bridge.Locator, storeKey []byte) {
+ _, _, err := s.CreateUser("imap", password)
+ require.NoError(t, err)
+
+ _, _, err = s.CreateUser("bar", password)
+ require.NoError(t, err)
+
+ // The initial user should be fully synced.
+ withBridge(ctx, t, s.GetHostURL(), netCtl, locator, storeKey, func(b *bridge.Bridge, _ *bridge.Mocks) {
+ waiter := waitForIMAPServerReady(b)
+ defer waiter.Done()
+
+ syncCh, done := chToType[events.Event, events.SyncFinished](b.GetEvents(events.SyncFinished{}))
+ defer done()
+
+ userID, err := b.LoginFull(ctx, "imap", password, nil, nil)
+ require.NoError(t, err)
+
+ require.Equal(t, userID, (<-syncCh).UserID)
+ waiter.Wait()
+
+ info, err := b.GetUserInfo(userID)
+ require.NoError(t, err)
+ require.True(t, info.State == bridge.Connected)
+
+ client, err := eventuallyDial(fmt.Sprintf("%v:%v", constants.Host, b.GetIMAPPort()))
+ require.NoError(t, err)
+ require.NoError(t, client.Login(info.Addresses[0], string(info.BridgePass)))
+ defer func() { _ = client.Logout() }()
+
+ // Create first draft in client.
+ literal := fmt.Sprintf(`From: %v
+To: %v
+Date: Fri, 3 Feb 2023 01:04:32 +0100
+Subject: Foo
+
+Hello
+`, info.Addresses[0], "bar@proton.local")
+
+ require.NoError(t, client.Append("Drafts", nil, time.Now(), strings.NewReader(literal)))
+ // Verify the draft is available in client.
+ require.Eventually(t, func() bool {
+ status, err := client.Status("Drafts", []go_imap.StatusItem{go_imap.StatusMessages})
+ require.NoError(t, err)
+ return status.Messages == 1
+ }, 2*time.Second, time.Second)
+
+ // Retrieve the new literal so we can have the Proton Message ID.
+ messages, err := clientFetch(client, "Drafts")
+ require.NoError(t, err)
+ require.Equal(t, 1, len(messages))
+
+ newLiteral, err := io.ReadAll(messages[0].GetBody(must(go_imap.ParseBodySectionName("BODY[]"))))
+ require.NoError(t, err)
+ logrus.Info(string(newLiteral))
+
+ newLiteralID, newLiteralExternID := getGluonHeaderID(newLiteral)
+
+ // Modify new literal.
+ newLiteralModified := append(newLiteral, []byte(" world from client2")...) //nolint:gocritic
+
+ func() {
+ smtpClient, err := smtp.Dial(net.JoinHostPort(constants.Host, fmt.Sprint(b.GetSMTPPort())))
+ require.NoError(t, err)
+ defer func() { _ = smtpClient.Close() }()
+
+ // Upgrade to TLS.
+ require.NoError(t, smtpClient.StartTLS(&tls.Config{InsecureSkipVerify: true}))
+
+ // Authorize with SASL PLAIN.
+ require.NoError(t, smtpClient.Auth(sasl.NewPlainClient(
+ info.Addresses[0],
+ info.Addresses[0],
+ string(info.BridgePass)),
+ ))
+
+ // Send the message.
+ require.NoError(t, smtpClient.SendMail(
+ info.Addresses[0],
+ []string{"bar@proton.local"},
+ bytes.NewReader(newLiteralModified),
+ ))
+ }()
+
+ // Append message to Sent as the imap client would.
+ require.NoError(t, client.Append("Sent", nil, time.Now(), strings.NewReader(literal)))
+
+ // Verify the sent message gets updated with the new literal.
+ require.Eventually(t, func() bool {
+ // Check if sent message matches the latest draft.
+ messagesClient1, err := clientFetch(client, "Sent", "BODY[TEXT]", "BODY[]")
+ require.NoError(t, err)
+
+ if len(messagesClient1) != 1 {
+ return false
+ }
+
+ sentLiteral, err := io.ReadAll(messagesClient1[0].GetBody(must(go_imap.ParseBodySectionName("BODY[]"))))
+ require.NoError(t, err)
+
+ sentLiteralID, sentLiteralExternID := getGluonHeaderID(sentLiteral)
+
+ sentLiteralText, err := io.ReadAll(messagesClient1[0].GetBody(must(go_imap.ParseBodySectionName("BODY[TEXT]"))))
+ require.NoError(t, err)
+
+ sentLiteralStr := string(sentLiteralText)
+
+ literalMatches := sentLiteralStr == "Hello\r\n world from client2\r\n"
+
+ idIsDifferent := sentLiteralID != newLiteralID
+
+ externIDMatches := sentLiteralExternID == newLiteralExternID
+
+ return literalMatches && idIsDifferent && externIDMatches
+ }, 2*time.Second, time.Second)
+ })
+ }, server.WithMessageDedup())
+}
diff --git a/internal/bridge/sync_test.go b/internal/bridge/sync_test.go
index 00a0105e..6b330d4c 100644
--- a/internal/bridge/sync_test.go
+++ b/internal/bridge/sync_test.go
@@ -399,6 +399,10 @@ func createNumMessages(ctx context.Context, t *testing.T, c *proton.Client, addr
}
func createMessages(ctx context.Context, t *testing.T, c *proton.Client, addrID, labelID string, messages ...[]byte) []string {
+ return createMessagesWithFlags(ctx, t, c, addrID, labelID, 0, messages...)
+}
+
+func createMessagesWithFlags(ctx context.Context, t *testing.T, c *proton.Client, addrID, labelID string, flags proton.MessageFlag, messages ...[]byte) []string {
user, err := c.GetUser(ctx)
require.NoError(t, err)
@@ -417,6 +421,13 @@ func createMessages(ctx context.Context, t *testing.T, c *proton.Client, addrID,
_, ok := addrKRs[addrID]
require.True(t, ok)
+ var msgFlags proton.MessageFlag
+ if flags == 0 {
+ msgFlags = proton.MessageFlagReceived
+ } else {
+ msgFlags = flags
+ }
+
str, err := c.ImportMessages(
ctx,
addrKRs[addrID],
@@ -427,7 +438,7 @@ func createMessages(ctx context.Context, t *testing.T, c *proton.Client, addrID,
Metadata: proton.ImportMetadata{
AddressID: addrID,
LabelIDs: []string{labelID},
- Flags: proton.MessageFlagReceived,
+ Flags: msgFlags,
},
Message: message,
}
diff --git a/internal/clientconfig/applemail.go b/internal/clientconfig/applemail.go
index 1a16fdb5..4d8c3626 100644
--- a/internal/clientconfig/applemail.go
+++ b/internal/clientconfig/applemail.go
@@ -70,9 +70,11 @@ func prepareMobileConfig(
password []byte,
) *mobileconfig.Config {
return &mobileconfig.Config{
- DisplayName: username,
- EmailAddress: addresses,
- Identifier: "protonmail " + username + strconv.FormatInt(time.Now().Unix(), 10),
+ DisplayName: username,
+ EmailAddress: addresses,
+ AccountName: username,
+ AccountDescription: username,
+ Identifier: "protonmail " + username + strconv.FormatInt(time.Now().Unix(), 10),
IMAP: &mobileconfig.IMAP{
Hostname: hostname,
Port: imapPort,
diff --git a/internal/frontend/bridge-gui/bridge-gui-tester/.lldbinit b/internal/frontend/bridge-gui/bridge-gui-tester/.lldbinit
new file mode 100644
index 00000000..9956c790
--- /dev/null
+++ b/internal/frontend/bridge-gui/bridge-gui-tester/.lldbinit
@@ -0,0 +1,4 @@
+# The following fix an issue happening using LLDB with OpenSSL 3.1 on ARM64 architecture. (GODT-2680)
+# WARNING: this file is ignored if you do not enable reading lldb config from cwd in ~/.lldbinit (`settings set target.load-cwd-lldbinit true`)
+settings set platform.plugin.darwin.ignored-exceptions EXC_BAD_INSTRUCTION
+process handle SIGILL -n false -p true -s false
diff --git a/internal/frontend/bridge-gui/bridge-gui/.lldbinit b/internal/frontend/bridge-gui/bridge-gui/.lldbinit
new file mode 100644
index 00000000..9956c790
--- /dev/null
+++ b/internal/frontend/bridge-gui/bridge-gui/.lldbinit
@@ -0,0 +1,4 @@
+# The following fix an issue happening using LLDB with OpenSSL 3.1 on ARM64 architecture. (GODT-2680)
+# WARNING: this file is ignored if you do not enable reading lldb config from cwd in ~/.lldbinit (`settings set target.load-cwd-lldbinit true`)
+settings set platform.plugin.darwin.ignored-exceptions EXC_BAD_INSTRUCTION
+process handle SIGILL -n false -p true -s false
diff --git a/internal/frontend/bridge-gui/bridge-gui/AppController.cpp b/internal/frontend/bridge-gui/bridge-gui/AppController.cpp
index 0f2ad890..e7ce8189 100644
--- a/internal/frontend/bridge-gui/bridge-gui/AppController.cpp
+++ b/internal/frontend/bridge-gui/bridge-gui/AppController.cpp
@@ -117,7 +117,27 @@ void AppController::restart(bool isCrashing) {
}
+//****************************************************************************************************************************************************
+/// \param[in] launcher The launcher.
+/// \param[in] args The launcher arguments.
+//****************************************************************************************************************************************************
void AppController::setLauncherArgs(const QString &launcher, const QStringList &args) {
launcher_ = launcher;
launcherArgs_ = args;
}
+
+
+//****************************************************************************************************************************************************
+/// \param[in] sessionID The sessionID.
+//****************************************************************************************************************************************************
+void AppController::setSessionID(const QString &sessionID) {
+ sessionID_ = sessionID;
+}
+
+
+//****************************************************************************************************************************************************
+/// \return The sessionID.
+//****************************************************************************************************************************************************
+QString AppController::sessionID() {
+ return sessionID_;
+}
diff --git a/internal/frontend/bridge-gui/bridge-gui/AppController.h b/internal/frontend/bridge-gui/bridge-gui/AppController.h
index d55e1f11..be9f9cfe 100644
--- a/internal/frontend/bridge-gui/bridge-gui/AppController.h
+++ b/internal/frontend/bridge-gui/bridge-gui/AppController.h
@@ -37,7 +37,7 @@ class Exception;
/// \brief App controller class.
//****************************************************************************************************************************************************
class AppController : public QObject {
-Q_OBJECT
+ Q_OBJECT
friend AppController &app();
public: // member functions.
@@ -52,10 +52,12 @@ public: // member functions.
std::unique_ptr &bridgeOverseer() { return bridgeOverseer_; }; ///< Returns a reference the bridge overseer
bridgepp::ProcessMonitor *bridgeMonitor() const; ///< Return the bridge worker.
Settings &settings();; ///< Return the application settings.
- void setLauncherArgs(const QString &launcher, const QStringList &args);
+ void setLauncherArgs(const QString &launcher, const QStringList &args); ///< Set the launcher arguments.
+ void setSessionID(QString const &sessionID); ///< Set the sessionID.
+ QString sessionID(); ///< Get the sessionID.
public slots:
- void onFatalError(bridgepp::Exception const& e); ///< Handle fatal errors.
+ void onFatalError(bridgepp::Exception const &e); ///< Handle fatal errors.
private: // member functions
AppController(); ///< Default constructor.
@@ -67,8 +69,9 @@ private: // data members
std::unique_ptr log_; ///< The log.
std::unique_ptr bridgeOverseer_; ///< The overseer for the bridge monitor worker.
std::unique_ptr settings_; ///< The application settings.
- QString launcher_;
- QStringList launcherArgs_;
+ QString launcher_; ///< The launcher.
+ QStringList launcherArgs_; ///< The launcher arguments.
+ QString sessionID_; ///< The sessionID.
};
diff --git a/internal/frontend/bridge-gui/bridge-gui/CommandLine.cpp b/internal/frontend/bridge-gui/bridge-gui/CommandLine.cpp
index 420e7901..1daf3a2b 100644
--- a/internal/frontend/bridge-gui/bridge-gui/CommandLine.cpp
+++ b/internal/frontend/bridge-gui/bridge-gui/CommandLine.cpp
@@ -19,6 +19,7 @@
#include "Pch.h"
#include "CommandLine.h"
#include "Settings.h"
+#include
using namespace bridgepp;
@@ -142,5 +143,14 @@ CommandLineOptions parseCommandLine(int argc, char *argv[]) {
options.logLevel = parseLogLevel(argc, argv);
+ QString sessionID = parseGoCLIStringArgument(argc, argv, { "session-id" });
+ if (sessionID.isEmpty()) {
+ // The session ID was not passed to us on the command-line -> create one and add to the command-line for bridge
+ sessionID = newSessionID();
+ options.bridgeArgs.append("--session-id");
+ options.bridgeArgs.append(sessionID);
+ }
+ app().setSessionID(sessionID);
+
return options;
}
diff --git a/internal/frontend/bridge-gui/bridge-gui/LogUtils.cpp b/internal/frontend/bridge-gui/bridge-gui/LogUtils.cpp
index 556699a6..ceba82d8 100644
--- a/internal/frontend/bridge-gui/bridge-gui/LogUtils.cpp
+++ b/internal/frontend/bridge-gui/bridge-gui/LogUtils.cpp
@@ -19,7 +19,6 @@
#include "LogUtils.h"
#include "BuildConfig.h"
#include
-#include
using namespace bridgepp;
@@ -33,15 +32,10 @@ Log &initLog() {
log.registerAsQtMessageHandler();
log.setEchoInConsole(true);
- // remove old gui log files
- QDir const logsDir(userLogsDir());
- for (QFileInfo const fileInfo: logsDir.entryInfoList({ "gui_v*.log" }, QDir::Filter::Files)) { // entryInfolist apparently only support wildcards, not regex.
- QFile(fileInfo.absoluteFilePath()).remove();
- }
-
// create new GUI log file
QString error;
- if (!log.startWritingToFile(logsDir.absoluteFilePath(QString("gui_v%1_%2.log").arg(PROJECT_VER).arg(QDateTime::currentSecsSinceEpoch())), &error)) {
+ if (!log.startWritingToFile(QDir(userLogsDir()).absoluteFilePath(QString("%1_gui_000_v%2_%3.log").arg(app().sessionID(),
+ PROJECT_VER, PROJECT_TAG)), &error)) {
log.error(error);
}
diff --git a/internal/frontend/bridge-gui/bridge-gui/QMLBackend.cpp b/internal/frontend/bridge-gui/bridge-gui/QMLBackend.cpp
index cbc87d0e..2690600d 100644
--- a/internal/frontend/bridge-gui/bridge-gui/QMLBackend.cpp
+++ b/internal/frontend/bridge-gui/bridge-gui/QMLBackend.cpp
@@ -61,7 +61,7 @@ void QMLBackend::init(GRPCConfig const &serviceConfig) {
app().grpc().setLog(&log);
this->connectGrpcEvents();
- app().grpc().connectToServer(bridgepp::userConfigDir(), serviceConfig, app().bridgeMonitor());
+ app().grpc().connectToServer(app().sessionID(), bridgepp::userConfigDir(), serviceConfig, app().bridgeMonitor());
app().log().info("Connected to backend via gRPC service.");
QString bridgeVer;
@@ -109,6 +109,12 @@ UserList const &QMLBackend::users() const {
return *users_;
}
+//****************************************************************************************************************************************************
+/// \return the if bridge considers internet is on.
+//****************************************************************************************************************************************************
+bool QMLBackend::isInternetOn() const {
+ return isInternetOn_;
+}
//****************************************************************************************************************************************************
@@ -680,7 +686,7 @@ void QMLBackend::login(QString const &username, QString const &password) const {
HANDLE_EXCEPTION(
if (username.compare("coco@bandicoot", Qt::CaseInsensitive) == 0) {
throw Exception("User requested bridge-gui to crash by trying to log as coco@bandicoot",
- "This error exists for test purposes and should be ignored.", __func__, tailOfLatestBridgeLog());
+ "This error exists for test purposes and should be ignored.", __func__, tailOfLatestBridgeLog(app().sessionID()));
}
app().grpc().login(username, password);
)
@@ -914,7 +920,6 @@ void QMLBackend::sendBadEventUserFeedback(QString const &userID, bool doResync)
if (!badEventDisplayQueue_.isEmpty()) {
// we introduce a small delay here, so that the user notices the dialog disappear and pops up again.
QTimer::singleShot(500, [&]() { this->displayBadEventDialog(badEventDisplayQueue_.front()); });
-
}
)
}
@@ -989,6 +994,25 @@ void QMLBackend::setUpdateTrayIcon(QString const &stateString, QString const &st
}
+//****************************************************************************************************************************************************
+/// \param[in] isOn Does bridge consider internet as on.
+//****************************************************************************************************************************************************
+void QMLBackend::internetStatusChanged(bool isOn) {
+ HANDLE_EXCEPTION(
+ if (isInternetOn_ == isOn) {
+ return;
+ }
+
+ isInternetOn_ = isOn;
+ if (isOn) {
+ emit internetOn();
+ } else {
+ emit internetOff();
+ }
+ )
+}
+
+
//****************************************************************************************************************************************************
/// \param[in] imapPort The IMAP port.
/// \param[in] smtpPort The SMTP port.
@@ -1152,7 +1176,7 @@ void QMLBackend::connectGrpcEvents() {
GRPCClient *client = &app().grpc();
// app events
- connect(client, &GRPCClient::internetStatus, this, [&](bool isOn) { if (isOn) { emit internetOn(); } else { emit internetOff(); }});
+ connect(client, &GRPCClient::internetStatus, this, &QMLBackend::internetStatusChanged);
connect(client, &GRPCClient::toggleAutostartFinished, this, &QMLBackend::toggleAutostartFinished);
connect(client, &GRPCClient::resetFinished, this, &QMLBackend::onResetFinished);
connect(client, &GRPCClient::reportBugFinished, this, &QMLBackend::reportBugFinished);
diff --git a/internal/frontend/bridge-gui/bridge-gui/QMLBackend.h b/internal/frontend/bridge-gui/bridge-gui/QMLBackend.h
index 43d29b11..9f044c10 100644
--- a/internal/frontend/bridge-gui/bridge-gui/QMLBackend.h
+++ b/internal/frontend/bridge-gui/bridge-gui/QMLBackend.h
@@ -45,6 +45,7 @@ public: // member functions.
void init(GRPCConfig const &serviceConfig); ///< Initialize the backend.
bool waitForEventStreamReaderToFinish(qint32 timeoutMs); ///< Wait for the event stream reader to finish.
UserList const& users() const; ///< Return the list of users
+ bool isInternetOn() const; ///< Check if bridge considers internet as on.
void showMainWindow(QString const &reason); ///< Show the main window.
void showHelp(QString const &reason); ///< Show the help page.
void showSettings(QString const &reason); ///< Show the settings page.
@@ -89,7 +90,6 @@ public: // Qt/QML properties. Note that the NOTIFY-er signal is required even fo
Q_PROPERTY(UserList *users MEMBER users_ NOTIFY usersChanged)
Q_PROPERTY(bool dockIconVisible READ dockIconVisible WRITE setDockIconVisible NOTIFY dockIconVisibleChanged)
-
// Qt Property system setters & getters.
bool showOnStartup() const; ///< Getter for the 'showOnStartup' property.
void setShowSplashScreen(bool show); ///< Setter for the 'showSplashScreen' property.
@@ -198,6 +198,7 @@ public slots: // slots for functions that need to be processed locally.
void setUpdateTrayIcon(QString const& stateString, QString const &statusIcon); ///< Set the tray icon to 'update' state.
public slots: // slot for signals received from gRPC that need transformation instead of simple forwarding
+ void internetStatusChanged(bool isOn); ///< Check if bridge considers internet as on.
void onMailServerSettingsChanged(int imapPort, int smtpPort, bool useSSLForIMAP, bool useSSLForSMTP); ///< Slot for the ConnectionModeChanged gRPC event.
void onGenericError(bridgepp::ErrorInfo const &info); ///< Slot for generic errors received from the gRPC service.
void onLoginFinished(QString const &userID, bool wasSignedOut); ///< Slot for LoginFinished gRPC event.
@@ -280,8 +281,9 @@ private: // data members
int smtpPort_ { 0 }; ///< The cached value for the SMTP port.
bool useSSLForIMAP_ { false }; ///< The cached value for useSSLForIMAP.
bool useSSLForSMTP_ { false }; ///< The cached value for useSSLForSMTP.
+ bool isInternetOn_ { true }; ///< Does bridge consider internet as on?
QList badEventDisplayQueue_; ///< THe queue for displaying 'bad event feedback request dialog'.
- std::unique_ptr trayIcon_;
+ std::unique_ptr trayIcon_; ///< The tray icon for the application.
friend class AppController;
};
diff --git a/internal/frontend/bridge-gui/bridge-gui/Resources.qrc b/internal/frontend/bridge-gui/bridge-gui/Resources.qrc
index f5a078f5..e7521f98 100644
--- a/internal/frontend/bridge-gui/bridge-gui/Resources.qrc
+++ b/internal/frontend/bridge-gui/bridge-gui/Resources.qrc
@@ -19,6 +19,7 @@
qml/icons/ic-card-identity.svg
qml/icons/ic-check.svg
qml/icons/ic-chevron-down.svg
+ qml/icons/ic-chevron-right.svg
qml/icons/ic-chevron-up.svg
qml/icons/ic-cog-wheel.svg
qml/icons/ic-connected.svg
diff --git a/internal/frontend/bridge-gui/bridge-gui/TrayIcon.cpp b/internal/frontend/bridge-gui/bridge-gui/TrayIcon.cpp
index 126e0015..c2ef66ca 100644
--- a/internal/frontend/bridge-gui/bridge-gui/TrayIcon.cpp
+++ b/internal/frontend/bridge-gui/bridge-gui/TrayIcon.cpp
@@ -348,6 +348,7 @@ void TrayIcon::refreshContextMenu() {
return;
}
+ bool const internetOn = app().backend().isInternetOn();
menu_->clear();
menu_->addAction(statusIcon_, stateString_, []() {app().backend().showMainWindow("tray menu status clicked");});
menu_->addSeparator();
@@ -359,7 +360,9 @@ void TrayIcon::refreshContextMenu() {
User const &user = *users.get(i);
UserState const state = user.state();
auto action = new QAction(user.primaryEmailOrUsername());
- action->setIcon((UserState::Connected == state) ? greenDot_ : (UserState::Locked == state ? orangeDot_ : greyDot_));
+ if (internetOn) {
+ action->setIcon((UserState::Connected == state) ? greenDot_ : (UserState::Locked == state ? orangeDot_ : greyDot_));
+ }
action->setData(user.id());
connect(action, &QAction::triggered, this, &TrayIcon::onUserClicked);
if ((i < 10) && onMac) {
diff --git a/internal/frontend/bridge-gui/bridge-gui/main.cpp b/internal/frontend/bridge-gui/bridge-gui/main.cpp
index acc3cf36..d28851c7 100644
--- a/internal/frontend/bridge-gui/bridge-gui/main.cpp
+++ b/internal/frontend/bridge-gui/bridge-gui/main.cpp
@@ -305,22 +305,23 @@ int main(int argc, char *argv[]) {
// these outputs and output them on the command-line.
log.info(QString("New Sentry reporter - id: %1.").arg(getProtectedHostname()));
- QString bridgeexec;
+ QString const &sessionID = app().sessionID();
+ QString bridgeExe;
if (!cliOptions.attach) {
if (isBridgeRunning()) {
throw Exception("An orphan instance of bridge is already running. Please terminate it and relaunch the application.",
- QString(), __FUNCTION__, tailOfLatestBridgeLog());
+ QString(), __FUNCTION__, tailOfLatestBridgeLog(sessionID));
}
// before launching bridge, we remove any trailing service config file, because we need to make sure we get a newly generated one.
FocusGRPCClient::removeServiceConfigFile(configDir);
GRPCClient::removeServiceConfigFile(configDir);
- bridgeexec = launchBridge(cliOptions.bridgeArgs);
+ bridgeExe = launchBridge(cliOptions.bridgeArgs);
}
log.info(QString("Retrieving gRPC service configuration from '%1'").arg(QDir::toNativeSeparators(grpcServerConfigPath(configDir))));
- app().backend().init(GRPCClient::waitAndRetrieveServiceConfig(configDir, cliOptions.attach ? 0 : grpcServiceConfigWaitDelayMs,
- app().bridgeMonitor()));
+ app().backend().init(GRPCClient::waitAndRetrieveServiceConfig(sessionID, configDir,
+ cliOptions.attach ? 0 : grpcServiceConfigWaitDelayMs, app().bridgeMonitor()));
if (!cliOptions.attach) {
GRPCClient::removeServiceConfigFile(configDir);
}
@@ -378,9 +379,9 @@ int main(int argc, char *argv[]) {
QStringList args = cliOptions.bridgeGuiArgs;
args.append(waitFlag);
args.append(mainexec);
- if (!bridgeexec.isEmpty()) {
+ if (!bridgeExe.isEmpty()) {
args.append(waitFlag);
- args.append(bridgeexec);
+ args.append(bridgeExe);
}
app().setLauncherArgs(cliOptions.launcher, args);
result = QGuiApplication::exec();
diff --git a/internal/frontend/bridge-gui/bridge-gui/qml/GeneralSettings.qml b/internal/frontend/bridge-gui/bridge-gui/qml/GeneralSettings.qml
index 7d6860da..63be1c42 100644
--- a/internal/frontend/bridge-gui/bridge-gui/qml/GeneralSettings.qml
+++ b/internal/frontend/bridge-gui/bridge-gui/qml/GeneralSettings.qml
@@ -90,9 +90,9 @@ SettingsView {
RowLayout {
ColorImage {
- Layout.alignment: Qt.AlignTop
+ Layout.alignment: Qt.AlignCenter
- source: root._isAdvancedShown ? "/qml/icons/ic-chevron-up.svg" : "/qml/icons/ic-chevron-down.svg"
+ source: root._isAdvancedShown ? "/qml/icons/ic-chevron-down.svg" : "/qml/icons/ic-chevron-right.svg"
color: root.colorScheme.interaction_norm
height: root.colorScheme.body_font_size
sourceSize.height: root.colorScheme.body_font_size
diff --git a/internal/frontend/bridge-gui/bridge-gui/qml/icons/ic-chevron-right.svg b/internal/frontend/bridge-gui/bridge-gui/qml/icons/ic-chevron-right.svg
new file mode 100644
index 00000000..5804d862
--- /dev/null
+++ b/internal/frontend/bridge-gui/bridge-gui/qml/icons/ic-chevron-right.svg
@@ -0,0 +1,9 @@
+
+
+
diff --git a/internal/frontend/bridge-gui/bridgepp/CMakeLists.txt b/internal/frontend/bridge-gui/bridgepp/CMakeLists.txt
index c1c4a04f..1d26b26d 100644
--- a/internal/frontend/bridge-gui/bridgepp/CMakeLists.txt
+++ b/internal/frontend/bridge-gui/bridgepp/CMakeLists.txt
@@ -32,9 +32,9 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
if (NOT DEFINED BRIDGE_APP_VERSION)
message(FATAL_ERROR "BRIDGE_APP_VERSION is not defined.")
-else()
+else ()
message(STATUS "Bridge version is ${BRIDGE_APP_VERSION}")
-endif()
+endif ()
#****************************************************************************************************************************************************
@@ -148,6 +148,7 @@ add_library(bridgepp
bridgepp/Log/Log.h bridgepp/Log/Log.cpp
bridgepp/Log/LogUtils.h bridgepp/Log/LogUtils.cpp
bridgepp/ProcessMonitor.cpp bridgepp/ProcessMonitor.h
+ bridgepp/SessionID/SessionID.cpp bridgepp/SessionID/SessionID.h
bridgepp/User/User.cpp bridgepp/User/User.h
bridgepp/Worker/Worker.h bridgepp/Worker/Overseer.h bridgepp/Worker/Overseer.cpp)
@@ -167,7 +168,7 @@ target_precompile_headers(bridgepp PRIVATE Pch.h)
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.24.0")
cmake_policy(SET CMP0135 NEW) # avoid warning DOWNLOAD_EXTRACT_TIMESTAMP
-endif()
+endif ()
include(FetchContent)
FetchContent_Declare(
@@ -188,7 +189,9 @@ enable_testing()
add_executable(bridgepp-test EXCLUDE_FROM_ALL
Test/TestBridgeUtils.cpp
Test/TestException.cpp
- Test/TestWorker.cpp Test/TestWorker.h)
+ Test/TestSessionID.cpp
+ Test/TestWorker.cpp Test/TestWorker.h
+ )
add_dependencies(bridgepp-test bridgepp)
target_precompile_headers(bridgepp-test PRIVATE Pch.h)
target_link_libraries(bridgepp-test
diff --git a/internal/frontend/bridge-gui/bridgepp/Test/TestSessionID.cpp b/internal/frontend/bridge-gui/bridgepp/Test/TestSessionID.cpp
new file mode 100644
index 00000000..d1b95ae6
--- /dev/null
+++ b/internal/frontend/bridge-gui/bridgepp/Test/TestSessionID.cpp
@@ -0,0 +1,36 @@
+// Copyright (c) 2023 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
+
+#include "QtCore/qdatetime.h"
+#include
+#include
+
+
+using namespace bridgepp;
+
+
+TEST(SessionID, SessionID) {
+ QString const sessionID = newSessionID();
+ EXPECT_TRUE(sessionID.size() > 0);
+
+ EXPECT_FALSE(sessionIDToDateTime("invalidSessionID").isValid());
+
+ QDateTime const dateTime = sessionIDToDateTime(sessionID);
+ EXPECT_TRUE(dateTime.isValid());
+ EXPECT_TRUE(qAbs(dateTime.secsTo(QDateTime::currentDateTime())) < 5);
+}
diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.grpc.pb.cc b/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.grpc.pb.cc
deleted file mode 100644
index e7b0eb50..00000000
--- a/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.grpc.pb.cc
+++ /dev/null
@@ -1,128 +0,0 @@
-// Generated by the gRPC C++ plugin.
-// If you make any local change, they will be lost.
-// source: focus.proto
-
-#include "focus.pb.h"
-#include "focus.grpc.pb.h"
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-namespace focus {
-
-static const char* Focus_method_names[] = {
- "/focus.Focus/Raise",
- "/focus.Focus/Version",
-};
-
-std::unique_ptr< Focus::Stub> Focus::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) {
- (void)options;
- std::unique_ptr< Focus::Stub> stub(new Focus::Stub(channel, options));
- return stub;
-}
-
-Focus::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options)
- : channel_(channel), rpcmethod_Raise_(Focus_method_names[0], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_Version_(Focus_method_names[1], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- {}
-
-::grpc::Status Focus::Stub::Raise(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_Raise_, context, request, response);
-}
-
-void Focus::Stub::async::Raise(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Raise_, context, request, response, std::move(f));
-}
-
-void Focus::Stub::async::Raise(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Raise_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Focus::Stub::PrepareAsyncRaiseRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_Raise_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Focus::Stub::AsyncRaiseRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncRaiseRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Focus::Stub::Version(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::focus::VersionResponse* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::focus::VersionResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_Version_, context, request, response);
-}
-
-void Focus::Stub::async::Version(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::focus::VersionResponse* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::focus::VersionResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Version_, context, request, response, std::move(f));
-}
-
-void Focus::Stub::async::Version(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::focus::VersionResponse* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Version_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::focus::VersionResponse>* Focus::Stub::PrepareAsyncVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::focus::VersionResponse, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_Version_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::focus::VersionResponse>* Focus::Stub::AsyncVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncVersionRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-Focus::Service::Service() {
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Focus_method_names[0],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Focus::Service, ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Focus::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::StringValue* req,
- ::google::protobuf::Empty* resp) {
- return service->Raise(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Focus_method_names[1],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Focus::Service, ::google::protobuf::Empty, ::focus::VersionResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Focus::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::focus::VersionResponse* resp) {
- return service->Version(ctx, req, resp);
- }, this)));
-}
-
-Focus::Service::~Service() {
-}
-
-::grpc::Status Focus::Service::Raise(::grpc::ServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Focus::Service::Version(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::focus::VersionResponse* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-
-} // namespace focus
-
diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.grpc.pb.h b/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.grpc.pb.h
deleted file mode 100644
index f37bfcab..00000000
--- a/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.grpc.pb.h
+++ /dev/null
@@ -1,418 +0,0 @@
-// Generated by the gRPC C++ plugin.
-// If you make any local change, they will be lost.
-// source: focus.proto
-// Original file comments:
-// Copyright (c) 2022 Proton Technologies AG
-//
-// This file is part of ProtonMail Bridge.
-//
-// ProtonMail Bridge is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// ProtonMail Bridge is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with ProtonMail Bridge. If not, see .
-//
-#ifndef GRPC_focus_2eproto__INCLUDED
-#define GRPC_focus_2eproto__INCLUDED
-
-#include "focus.pb.h"
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-namespace focus {
-
-// **********************************************************************************************************************
-// Service Declaration
-// **********************************************************************************************************************≠––
-class Focus final {
- public:
- static constexpr char const* service_full_name() {
- return "focus.Focus";
- }
- class StubInterface {
- public:
- virtual ~StubInterface() {}
- virtual ::grpc::Status Raise(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncRaise(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncRaiseRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncRaise(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncRaiseRaw(context, request, cq));
- }
- virtual ::grpc::Status Version(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::focus::VersionResponse* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::focus::VersionResponse>> AsyncVersion(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::focus::VersionResponse>>(AsyncVersionRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::focus::VersionResponse>> PrepareAsyncVersion(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::focus::VersionResponse>>(PrepareAsyncVersionRaw(context, request, cq));
- }
- class async_interface {
- public:
- virtual ~async_interface() {}
- virtual void Raise(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void Raise(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void Version(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::focus::VersionResponse* response, std::function) = 0;
- virtual void Version(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::focus::VersionResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- };
- typedef class async_interface experimental_async_interface;
- virtual class async_interface* async() { return nullptr; }
- class async_interface* experimental_async() { return async(); }
- private:
- virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncRaiseRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) = 0;
- virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncRaiseRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) = 0;
- virtual ::grpc::ClientAsyncResponseReaderInterface< ::focus::VersionResponse>* AsyncVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
- virtual ::grpc::ClientAsyncResponseReaderInterface< ::focus::VersionResponse>* PrepareAsyncVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
- };
- class Stub final : public StubInterface {
- public:
- Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions());
- ::grpc::Status Raise(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) override;
- std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncRaise(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncRaiseRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncRaise(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncRaiseRaw(context, request, cq));
- }
- ::grpc::Status Version(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::focus::VersionResponse* response) override;
- std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::focus::VersionResponse>> AsyncVersion(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::focus::VersionResponse>>(AsyncVersionRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::focus::VersionResponse>> PrepareAsyncVersion(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::focus::VersionResponse>>(PrepareAsyncVersionRaw(context, request, cq));
- }
- class async final :
- public StubInterface::async_interface {
- public:
- void Raise(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function) override;
- void Raise(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
- void Version(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::focus::VersionResponse* response, std::function) override;
- void Version(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::focus::VersionResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
- private:
- friend class Stub;
- explicit async(Stub* stub): stub_(stub) { }
- Stub* stub() { return stub_; }
- Stub* stub_;
- };
- class async* async() override { return &async_stub_; }
-
- private:
- std::shared_ptr< ::grpc::ChannelInterface> channel_;
- class async async_stub_{this};
- ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncRaiseRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) override;
- ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncRaiseRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) override;
- ::grpc::ClientAsyncResponseReader< ::focus::VersionResponse>* AsyncVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
- ::grpc::ClientAsyncResponseReader< ::focus::VersionResponse>* PrepareAsyncVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
- const ::grpc::internal::RpcMethod rpcmethod_Raise_;
- const ::grpc::internal::RpcMethod rpcmethod_Version_;
- };
- static std::unique_ptr NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions());
-
- class Service : public ::grpc::Service {
- public:
- Service();
- virtual ~Service();
- virtual ::grpc::Status Raise(::grpc::ServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response);
- virtual ::grpc::Status Version(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::focus::VersionResponse* response);
- };
- template
- class WithAsyncMethod_Raise : public BaseClass {
- private:
- void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
- public:
- WithAsyncMethod_Raise() {
- ::grpc::Service::MarkMethodAsync(0);
- }
- ~WithAsyncMethod_Raise() override {
- BaseClassMustBeDerivedFromService(this);
- }
- // disable synchronous version of this method
- ::grpc::Status Raise(::grpc::ServerContext* /*context*/, const ::google::protobuf::StringValue* /*request*/, ::google::protobuf::Empty* /*response*/) override {
- abort();
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
- }
- void RequestRaise(::grpc::ServerContext* context, ::google::protobuf::StringValue* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::Empty>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag);
- }
- };
- template
- class WithAsyncMethod_Version : public BaseClass {
- private:
- void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
- public:
- WithAsyncMethod_Version() {
- ::grpc::Service::MarkMethodAsync(1);
- }
- ~WithAsyncMethod_Version() override {
- BaseClassMustBeDerivedFromService(this);
- }
- // disable synchronous version of this method
- ::grpc::Status Version(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::focus::VersionResponse* /*response*/) override {
- abort();
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
- }
- void RequestVersion(::grpc::ServerContext* context, ::google::protobuf::Empty* request, ::grpc::ServerAsyncResponseWriter< ::focus::VersionResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(1, context, request, response, new_call_cq, notification_cq, tag);
- }
- };
- typedef WithAsyncMethod_Raise > AsyncService;
- template
- class WithCallbackMethod_Raise : public BaseClass {
- private:
- void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
- public:
- WithCallbackMethod_Raise() {
- ::grpc::Service::MarkMethodCallback(0,
- new ::grpc::internal::CallbackUnaryHandler< ::google::protobuf::StringValue, ::google::protobuf::Empty>(
- [this](
- ::grpc::CallbackServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response) { return this->Raise(context, request, response); }));}
- void SetMessageAllocatorFor_Raise(
- ::grpc::MessageAllocator< ::google::protobuf::StringValue, ::google::protobuf::Empty>* allocator) {
- ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(0);
- static_cast<::grpc::internal::CallbackUnaryHandler< ::google::protobuf::StringValue, ::google::protobuf::Empty>*>(handler)
- ->SetMessageAllocator(allocator);
- }
- ~WithCallbackMethod_Raise() override {
- BaseClassMustBeDerivedFromService(this);
- }
- // disable synchronous version of this method
- ::grpc::Status Raise(::grpc::ServerContext* /*context*/, const ::google::protobuf::StringValue* /*request*/, ::google::protobuf::Empty* /*response*/) override {
- abort();
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
- }
- virtual ::grpc::ServerUnaryReactor* Raise(
- ::grpc::CallbackServerContext* /*context*/, const ::google::protobuf::StringValue* /*request*/, ::google::protobuf::Empty* /*response*/) { return nullptr; }
- };
- template
- class WithCallbackMethod_Version : public BaseClass {
- private:
- void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
- public:
- WithCallbackMethod_Version() {
- ::grpc::Service::MarkMethodCallback(1,
- new ::grpc::internal::CallbackUnaryHandler< ::google::protobuf::Empty, ::focus::VersionResponse>(
- [this](
- ::grpc::CallbackServerContext* context, const ::google::protobuf::Empty* request, ::focus::VersionResponse* response) { return this->Version(context, request, response); }));}
- void SetMessageAllocatorFor_Version(
- ::grpc::MessageAllocator< ::google::protobuf::Empty, ::focus::VersionResponse>* allocator) {
- ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(1);
- static_cast<::grpc::internal::CallbackUnaryHandler< ::google::protobuf::Empty, ::focus::VersionResponse>*>(handler)
- ->SetMessageAllocator(allocator);
- }
- ~WithCallbackMethod_Version() override {
- BaseClassMustBeDerivedFromService(this);
- }
- // disable synchronous version of this method
- ::grpc::Status Version(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::focus::VersionResponse* /*response*/) override {
- abort();
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
- }
- virtual ::grpc::ServerUnaryReactor* Version(
- ::grpc::CallbackServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::focus::VersionResponse* /*response*/) { return nullptr; }
- };
- typedef WithCallbackMethod_Raise > CallbackService;
- typedef CallbackService ExperimentalCallbackService;
- template
- class WithGenericMethod_Raise : public BaseClass {
- private:
- void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
- public:
- WithGenericMethod_Raise() {
- ::grpc::Service::MarkMethodGeneric(0);
- }
- ~WithGenericMethod_Raise() override {
- BaseClassMustBeDerivedFromService(this);
- }
- // disable synchronous version of this method
- ::grpc::Status Raise(::grpc::ServerContext* /*context*/, const ::google::protobuf::StringValue* /*request*/, ::google::protobuf::Empty* /*response*/) override {
- abort();
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
- }
- };
- template
- class WithGenericMethod_Version : public BaseClass {
- private:
- void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
- public:
- WithGenericMethod_Version() {
- ::grpc::Service::MarkMethodGeneric(1);
- }
- ~WithGenericMethod_Version() override {
- BaseClassMustBeDerivedFromService(this);
- }
- // disable synchronous version of this method
- ::grpc::Status Version(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::focus::VersionResponse* /*response*/) override {
- abort();
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
- }
- };
- template
- class WithRawMethod_Raise : public BaseClass {
- private:
- void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
- public:
- WithRawMethod_Raise() {
- ::grpc::Service::MarkMethodRaw(0);
- }
- ~WithRawMethod_Raise() override {
- BaseClassMustBeDerivedFromService(this);
- }
- // disable synchronous version of this method
- ::grpc::Status Raise(::grpc::ServerContext* /*context*/, const ::google::protobuf::StringValue* /*request*/, ::google::protobuf::Empty* /*response*/) override {
- abort();
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
- }
- void RequestRaise(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag);
- }
- };
- template
- class WithRawMethod_Version : public BaseClass {
- private:
- void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
- public:
- WithRawMethod_Version() {
- ::grpc::Service::MarkMethodRaw(1);
- }
- ~WithRawMethod_Version() override {
- BaseClassMustBeDerivedFromService(this);
- }
- // disable synchronous version of this method
- ::grpc::Status Version(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::focus::VersionResponse* /*response*/) override {
- abort();
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
- }
- void RequestVersion(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(1, context, request, response, new_call_cq, notification_cq, tag);
- }
- };
- template
- class WithRawCallbackMethod_Raise : public BaseClass {
- private:
- void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
- public:
- WithRawCallbackMethod_Raise() {
- ::grpc::Service::MarkMethodRawCallback(0,
- new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
- [this](
- ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->Raise(context, request, response); }));
- }
- ~WithRawCallbackMethod_Raise() override {
- BaseClassMustBeDerivedFromService(this);
- }
- // disable synchronous version of this method
- ::grpc::Status Raise(::grpc::ServerContext* /*context*/, const ::google::protobuf::StringValue* /*request*/, ::google::protobuf::Empty* /*response*/) override {
- abort();
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
- }
- virtual ::grpc::ServerUnaryReactor* Raise(
- ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; }
- };
- template
- class WithRawCallbackMethod_Version : public BaseClass {
- private:
- void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
- public:
- WithRawCallbackMethod_Version() {
- ::grpc::Service::MarkMethodRawCallback(1,
- new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
- [this](
- ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->Version(context, request, response); }));
- }
- ~WithRawCallbackMethod_Version() override {
- BaseClassMustBeDerivedFromService(this);
- }
- // disable synchronous version of this method
- ::grpc::Status Version(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::focus::VersionResponse* /*response*/) override {
- abort();
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
- }
- virtual ::grpc::ServerUnaryReactor* Version(
- ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; }
- };
- template
- class WithStreamedUnaryMethod_Raise : public BaseClass {
- private:
- void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
- public:
- WithStreamedUnaryMethod_Raise() {
- ::grpc::Service::MarkMethodStreamed(0,
- new ::grpc::internal::StreamedUnaryHandler<
- ::google::protobuf::StringValue, ::google::protobuf::Empty>(
- [this](::grpc::ServerContext* context,
- ::grpc::ServerUnaryStreamer<
- ::google::protobuf::StringValue, ::google::protobuf::Empty>* streamer) {
- return this->StreamedRaise(context,
- streamer);
- }));
- }
- ~WithStreamedUnaryMethod_Raise() override {
- BaseClassMustBeDerivedFromService(this);
- }
- // disable regular version of this method
- ::grpc::Status Raise(::grpc::ServerContext* /*context*/, const ::google::protobuf::StringValue* /*request*/, ::google::protobuf::Empty* /*response*/) override {
- abort();
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
- }
- // replace default version of method with streamed unary
- virtual ::grpc::Status StreamedRaise(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::google::protobuf::StringValue,::google::protobuf::Empty>* server_unary_streamer) = 0;
- };
- template
- class WithStreamedUnaryMethod_Version : public BaseClass {
- private:
- void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
- public:
- WithStreamedUnaryMethod_Version() {
- ::grpc::Service::MarkMethodStreamed(1,
- new ::grpc::internal::StreamedUnaryHandler<
- ::google::protobuf::Empty, ::focus::VersionResponse>(
- [this](::grpc::ServerContext* context,
- ::grpc::ServerUnaryStreamer<
- ::google::protobuf::Empty, ::focus::VersionResponse>* streamer) {
- return this->StreamedVersion(context,
- streamer);
- }));
- }
- ~WithStreamedUnaryMethod_Version() override {
- BaseClassMustBeDerivedFromService(this);
- }
- // disable regular version of this method
- ::grpc::Status Version(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::focus::VersionResponse* /*response*/) override {
- abort();
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
- }
- // replace default version of method with streamed unary
- virtual ::grpc::Status StreamedVersion(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::google::protobuf::Empty,::focus::VersionResponse>* server_unary_streamer) = 0;
- };
- typedef WithStreamedUnaryMethod_Raise > StreamedUnaryService;
- typedef Service SplitStreamedService;
- typedef WithStreamedUnaryMethod_Raise > StreamedService;
-};
-
-} // namespace focus
-
-
-#endif // GRPC_focus_2eproto__INCLUDED
diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.pb.cc b/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.pb.cc
deleted file mode 100644
index e6afee8a..00000000
--- a/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.pb.cc
+++ /dev/null
@@ -1,303 +0,0 @@
-// Generated by the protocol buffer compiler. DO NOT EDIT!
-// source: focus.proto
-
-#include "focus.pb.h"
-
-#include
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-// @@protoc_insertion_point(includes)
-#include
-
-PROTOBUF_PRAGMA_INIT_SEG
-
-namespace _pb = ::PROTOBUF_NAMESPACE_ID;
-namespace _pbi = _pb::internal;
-
-namespace focus {
-PROTOBUF_CONSTEXPR VersionResponse::VersionResponse(
- ::_pbi::ConstantInitialized): _impl_{
- /*decltype(_impl_.version_)*/{&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}}
- , /*decltype(_impl_._cached_size_)*/{}} {}
-struct VersionResponseDefaultTypeInternal {
- PROTOBUF_CONSTEXPR VersionResponseDefaultTypeInternal()
- : _instance(::_pbi::ConstantInitialized{}) {}
- ~VersionResponseDefaultTypeInternal() {}
- union {
- VersionResponse _instance;
- };
-};
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VersionResponseDefaultTypeInternal _VersionResponse_default_instance_;
-} // namespace focus
-static ::_pb::Metadata file_level_metadata_focus_2eproto[1];
-static constexpr ::_pb::EnumDescriptor const** file_level_enum_descriptors_focus_2eproto = nullptr;
-static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_focus_2eproto = nullptr;
-
-const uint32_t TableStruct_focus_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
- ~0u, // no _has_bits_
- PROTOBUF_FIELD_OFFSET(::focus::VersionResponse, _internal_metadata_),
- ~0u, // no _extensions_
- ~0u, // no _oneof_case_
- ~0u, // no _weak_field_map_
- ~0u, // no _inlined_string_donated_
- PROTOBUF_FIELD_OFFSET(::focus::VersionResponse, _impl_.version_),
-};
-static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
- { 0, -1, -1, sizeof(::focus::VersionResponse)},
-};
-
-static const ::_pb::Message* const file_default_instances[] = {
- &::focus::_VersionResponse_default_instance_._instance,
-};
-
-const char descriptor_table_protodef_focus_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
- "\n\013focus.proto\022\005focus\032\033google/protobuf/em"
- "pty.proto\032\036google/protobuf/wrappers.prot"
- "o\"\"\n\017VersionResponse\022\017\n\007version\030\001 \001(\t2\201\001"
- "\n\005Focus\022=\n\005Raise\022\034.google.protobuf.Strin"
- "gValue\032\026.google.protobuf.Empty\0229\n\007Versio"
- "n\022\026.google.protobuf.Empty\032\026.focus.Versio"
- "nResponseB=Z;github.com/ProtonMail/proto"
- "n-bridge/v3/internal/focus/protob\006proto3"
- ;
-static const ::_pbi::DescriptorTable* const descriptor_table_focus_2eproto_deps[2] = {
- &::descriptor_table_google_2fprotobuf_2fempty_2eproto,
- &::descriptor_table_google_2fprotobuf_2fwrappers_2eproto,
-};
-static ::_pbi::once_flag descriptor_table_focus_2eproto_once;
-const ::_pbi::DescriptorTable descriptor_table_focus_2eproto = {
- false, false, 320, descriptor_table_protodef_focus_2eproto,
- "focus.proto",
- &descriptor_table_focus_2eproto_once, descriptor_table_focus_2eproto_deps, 2, 1,
- schemas, file_default_instances, TableStruct_focus_2eproto::offsets,
- file_level_metadata_focus_2eproto, file_level_enum_descriptors_focus_2eproto,
- file_level_service_descriptors_focus_2eproto,
-};
-PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_focus_2eproto_getter() {
- return &descriptor_table_focus_2eproto;
-}
-
-// Force running AddDescriptors() at dynamic initialization time.
-PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_focus_2eproto(&descriptor_table_focus_2eproto);
-namespace focus {
-
-// ===================================================================
-
-class VersionResponse::_Internal {
- public:
-};
-
-VersionResponse::VersionResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
- bool is_message_owned)
- : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
- SharedCtor(arena, is_message_owned);
- // @@protoc_insertion_point(arena_constructor:focus.VersionResponse)
-}
-VersionResponse::VersionResponse(const VersionResponse& from)
- : ::PROTOBUF_NAMESPACE_ID::Message() {
- VersionResponse* const _this = this; (void)_this;
- new (&_impl_) Impl_{
- decltype(_impl_.version_){}
- , /*decltype(_impl_._cached_size_)*/{}};
-
- _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
- _impl_.version_.InitDefault();
- #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
- _impl_.version_.Set("", GetArenaForAllocation());
- #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
- if (!from._internal_version().empty()) {
- _this->_impl_.version_.Set(from._internal_version(),
- _this->GetArenaForAllocation());
- }
- // @@protoc_insertion_point(copy_constructor:focus.VersionResponse)
-}
-
-inline void VersionResponse::SharedCtor(
- ::_pb::Arena* arena, bool is_message_owned) {
- (void)arena;
- (void)is_message_owned;
- new (&_impl_) Impl_{
- decltype(_impl_.version_){}
- , /*decltype(_impl_._cached_size_)*/{}
- };
- _impl_.version_.InitDefault();
- #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
- _impl_.version_.Set("", GetArenaForAllocation());
- #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
-}
-
-VersionResponse::~VersionResponse() {
- // @@protoc_insertion_point(destructor:focus.VersionResponse)
- if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
- (void)arena;
- return;
- }
- SharedDtor();
-}
-
-inline void VersionResponse::SharedDtor() {
- GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
- _impl_.version_.Destroy();
-}
-
-void VersionResponse::SetCachedSize(int size) const {
- _impl_._cached_size_.Set(size);
-}
-
-void VersionResponse::Clear() {
-// @@protoc_insertion_point(message_clear_start:focus.VersionResponse)
- uint32_t cached_has_bits = 0;
- // Prevent compiler warnings about cached_has_bits being unused
- (void) cached_has_bits;
-
- _impl_.version_.ClearToEmpty();
- _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-const char* VersionResponse::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
- while (!ctx->Done(&ptr)) {
- uint32_t tag;
- ptr = ::_pbi::ReadTag(ptr, &tag);
- switch (tag >> 3) {
- // string version = 1;
- case 1:
- if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 10)) {
- auto str = _internal_mutable_version();
- ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
- CHK_(ptr);
- CHK_(::_pbi::VerifyUTF8(str, "focus.VersionResponse.version"));
- } else
- goto handle_unusual;
- continue;
- default:
- goto handle_unusual;
- } // switch
- handle_unusual:
- if ((tag == 0) || ((tag & 7) == 4)) {
- CHK_(ptr);
- ctx->SetLastTag(tag);
- goto message_done;
- }
- ptr = UnknownFieldParse(
- tag,
- _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
- ptr, ctx);
- CHK_(ptr != nullptr);
- } // while
-message_done:
- return ptr;
-failure:
- ptr = nullptr;
- goto message_done;
-#undef CHK_
-}
-
-uint8_t* VersionResponse::_InternalSerialize(
- uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
- // @@protoc_insertion_point(serialize_to_array_start:focus.VersionResponse)
- uint32_t cached_has_bits = 0;
- (void) cached_has_bits;
-
- // string version = 1;
- if (!this->_internal_version().empty()) {
- ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
- this->_internal_version().data(), static_cast(this->_internal_version().length()),
- ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
- "focus.VersionResponse.version");
- target = stream->WriteStringMaybeAliased(
- 1, this->_internal_version(), target);
- }
-
- if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
- target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
- _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
- }
- // @@protoc_insertion_point(serialize_to_array_end:focus.VersionResponse)
- return target;
-}
-
-size_t VersionResponse::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:focus.VersionResponse)
- size_t total_size = 0;
-
- uint32_t cached_has_bits = 0;
- // Prevent compiler warnings about cached_has_bits being unused
- (void) cached_has_bits;
-
- // string version = 1;
- if (!this->_internal_version().empty()) {
- total_size += 1 +
- ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
- this->_internal_version());
- }
-
- return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
-}
-
-const ::PROTOBUF_NAMESPACE_ID::Message::ClassData VersionResponse::_class_data_ = {
- ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
- VersionResponse::MergeImpl
-};
-const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*VersionResponse::GetClassData() const { return &_class_data_; }
-
-
-void VersionResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
- auto* const _this = static_cast(&to_msg);
- auto& from = static_cast(from_msg);
- // @@protoc_insertion_point(class_specific_merge_from_start:focus.VersionResponse)
- GOOGLE_DCHECK_NE(&from, _this);
- uint32_t cached_has_bits = 0;
- (void) cached_has_bits;
-
- if (!from._internal_version().empty()) {
- _this->_internal_set_version(from._internal_version());
- }
- _this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-}
-
-void VersionResponse::CopyFrom(const VersionResponse& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:focus.VersionResponse)
- if (&from == this) return;
- Clear();
- MergeFrom(from);
-}
-
-bool VersionResponse::IsInitialized() const {
- return true;
-}
-
-void VersionResponse::InternalSwap(VersionResponse* other) {
- using std::swap;
- auto* lhs_arena = GetArenaForAllocation();
- auto* rhs_arena = other->GetArenaForAllocation();
- _internal_metadata_.InternalSwap(&other->_internal_metadata_);
- ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
- &_impl_.version_, lhs_arena,
- &other->_impl_.version_, rhs_arena
- );
-}
-
-::PROTOBUF_NAMESPACE_ID::Metadata VersionResponse::GetMetadata() const {
- return ::_pbi::AssignDescriptors(
- &descriptor_table_focus_2eproto_getter, &descriptor_table_focus_2eproto_once,
- file_level_metadata_focus_2eproto[0]);
-}
-
-// @@protoc_insertion_point(namespace_scope)
-} // namespace focus
-PROTOBUF_NAMESPACE_OPEN
-template<> PROTOBUF_NOINLINE ::focus::VersionResponse*
-Arena::CreateMaybeMessage< ::focus::VersionResponse >(Arena* arena) {
- return Arena::CreateMessageInternal< ::focus::VersionResponse >(arena);
-}
-PROTOBUF_NAMESPACE_CLOSE
-
-// @@protoc_insertion_point(global_scope)
-#include
diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.pb.h b/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.pb.h
deleted file mode 100644
index c57313d6..00000000
--- a/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.pb.h
+++ /dev/null
@@ -1,284 +0,0 @@
-// Generated by the protocol buffer compiler. DO NOT EDIT!
-// source: focus.proto
-
-#ifndef GOOGLE_PROTOBUF_INCLUDED_focus_2eproto
-#define GOOGLE_PROTOBUF_INCLUDED_focus_2eproto
-
-#include
-#include
-
-#include
-#if PROTOBUF_VERSION < 3021000
-#error This file was generated by a newer version of protoc which is
-#error incompatible with your Protocol Buffer headers. Please update
-#error your headers.
-#endif
-#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION
-#error This file was generated by an older version of protoc which is
-#error incompatible with your Protocol Buffer headers. Please
-#error regenerate this file with a newer version of protoc.
-#endif
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include // IWYU pragma: export
-#include // IWYU pragma: export
-#include
-#include
-#include
-// @@protoc_insertion_point(includes)
-#include
-#define PROTOBUF_INTERNAL_EXPORT_focus_2eproto
-PROTOBUF_NAMESPACE_OPEN
-namespace internal {
-class AnyMetadata;
-} // namespace internal
-PROTOBUF_NAMESPACE_CLOSE
-
-// Internal implementation detail -- do not use these members.
-struct TableStruct_focus_2eproto {
- static const uint32_t offsets[];
-};
-extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_focus_2eproto;
-namespace focus {
-class VersionResponse;
-struct VersionResponseDefaultTypeInternal;
-extern VersionResponseDefaultTypeInternal _VersionResponse_default_instance_;
-} // namespace focus
-PROTOBUF_NAMESPACE_OPEN
-template<> ::focus::VersionResponse* Arena::CreateMaybeMessage<::focus::VersionResponse>(Arena*);
-PROTOBUF_NAMESPACE_CLOSE
-namespace focus {
-
-// ===================================================================
-
-class VersionResponse final :
- public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:focus.VersionResponse) */ {
- public:
- inline VersionResponse() : VersionResponse(nullptr) {}
- ~VersionResponse() override;
- explicit PROTOBUF_CONSTEXPR VersionResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
-
- VersionResponse(const VersionResponse& from);
- VersionResponse(VersionResponse&& from) noexcept
- : VersionResponse() {
- *this = ::std::move(from);
- }
-
- inline VersionResponse& operator=(const VersionResponse& from) {
- CopyFrom(from);
- return *this;
- }
- inline VersionResponse& operator=(VersionResponse&& from) noexcept {
- if (this == &from) return *this;
- if (GetOwningArena() == from.GetOwningArena()
- #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
- && GetOwningArena() != nullptr
- #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
- ) {
- InternalSwap(&from);
- } else {
- CopyFrom(from);
- }
- return *this;
- }
-
- static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
- return GetDescriptor();
- }
- static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
- return default_instance().GetMetadata().descriptor;
- }
- static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
- return default_instance().GetMetadata().reflection;
- }
- static const VersionResponse& default_instance() {
- return *internal_default_instance();
- }
- static inline const VersionResponse* internal_default_instance() {
- return reinterpret_cast(
- &_VersionResponse_default_instance_);
- }
- static constexpr int kIndexInFileMessages =
- 0;
-
- friend void swap(VersionResponse& a, VersionResponse& b) {
- a.Swap(&b);
- }
- inline void Swap(VersionResponse* other) {
- if (other == this) return;
- #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
- if (GetOwningArena() != nullptr &&
- GetOwningArena() == other->GetOwningArena()) {
- #else // PROTOBUF_FORCE_COPY_IN_SWAP
- if (GetOwningArena() == other->GetOwningArena()) {
- #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
- InternalSwap(other);
- } else {
- ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
- }
- }
- void UnsafeArenaSwap(VersionResponse* other) {
- if (other == this) return;
- GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
- InternalSwap(other);
- }
-
- // implements Message ----------------------------------------------
-
- VersionResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
- return CreateMaybeMessage(arena);
- }
- using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
- void CopyFrom(const VersionResponse& from);
- using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
- void MergeFrom( const VersionResponse& from) {
- VersionResponse::MergeImpl(*this, from);
- }
- private:
- static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
- public:
- PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
- bool IsInitialized() const final;
-
- size_t ByteSizeLong() const final;
- const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
- uint8_t* _InternalSerialize(
- uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
- int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
-
- private:
- void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
- void SharedDtor();
- void SetCachedSize(int size) const final;
- void InternalSwap(VersionResponse* other);
-
- private:
- friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
- static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
- return "focus.VersionResponse";
- }
- protected:
- explicit VersionResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
- bool is_message_owned = false);
- public:
-
- static const ClassData _class_data_;
- const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
-
- ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-
- // nested types ----------------------------------------------------
-
- // accessors -------------------------------------------------------
-
- enum : int {
- kVersionFieldNumber = 1,
- };
- // string version = 1;
- void clear_version();
- const std::string& version() const;
- template
- void set_version(ArgT0&& arg0, ArgT... args);
- std::string* mutable_version();
- PROTOBUF_NODISCARD std::string* release_version();
- void set_allocated_version(std::string* version);
- private:
- const std::string& _internal_version() const;
- inline PROTOBUF_ALWAYS_INLINE void _internal_set_version(const std::string& value);
- std::string* _internal_mutable_version();
- public:
-
- // @@protoc_insertion_point(class_scope:focus.VersionResponse)
- private:
- class _Internal;
-
- template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
- typedef void InternalArenaConstructable_;
- typedef void DestructorSkippable_;
- struct Impl_ {
- ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr version_;
- mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
- };
- union { Impl_ _impl_; };
- friend struct ::TableStruct_focus_2eproto;
-};
-// ===================================================================
-
-
-// ===================================================================
-
-#ifdef __GNUC__
- #pragma GCC diagnostic push
- #pragma GCC diagnostic ignored "-Wstrict-aliasing"
-#endif // __GNUC__
-// VersionResponse
-
-// string version = 1;
-inline void VersionResponse::clear_version() {
- _impl_.version_.ClearToEmpty();
-}
-inline const std::string& VersionResponse::version() const {
- // @@protoc_insertion_point(field_get:focus.VersionResponse.version)
- return _internal_version();
-}
-template
-inline PROTOBUF_ALWAYS_INLINE
-void VersionResponse::set_version(ArgT0&& arg0, ArgT... args) {
-
- _impl_.version_.Set(static_cast(arg0), args..., GetArenaForAllocation());
- // @@protoc_insertion_point(field_set:focus.VersionResponse.version)
-}
-inline std::string* VersionResponse::mutable_version() {
- std::string* _s = _internal_mutable_version();
- // @@protoc_insertion_point(field_mutable:focus.VersionResponse.version)
- return _s;
-}
-inline const std::string& VersionResponse::_internal_version() const {
- return _impl_.version_.Get();
-}
-inline void VersionResponse::_internal_set_version(const std::string& value) {
-
- _impl_.version_.Set(value, GetArenaForAllocation());
-}
-inline std::string* VersionResponse::_internal_mutable_version() {
-
- return _impl_.version_.Mutable(GetArenaForAllocation());
-}
-inline std::string* VersionResponse::release_version() {
- // @@protoc_insertion_point(field_release:focus.VersionResponse.version)
- return _impl_.version_.Release();
-}
-inline void VersionResponse::set_allocated_version(std::string* version) {
- if (version != nullptr) {
-
- } else {
-
- }
- _impl_.version_.SetAllocated(version, GetArenaForAllocation());
-#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
- if (_impl_.version_.IsDefault()) {
- _impl_.version_.Set("", GetArenaForAllocation());
- }
-#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
- // @@protoc_insertion_point(field_set_allocated:focus.VersionResponse.version)
-}
-
-#ifdef __GNUC__
- #pragma GCC diagnostic pop
-#endif // __GNUC__
-
-// @@protoc_insertion_point(namespace_scope)
-
-} // namespace focus
-
-// @@protoc_insertion_point(global_scope)
-
-#include
-#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_focus_2eproto
diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/GRPCClient.cpp b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/GRPCClient.cpp
index a2a70869..593c1c91 100644
--- a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/GRPCClient.cpp
+++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/GRPCClient.cpp
@@ -57,11 +57,13 @@ void GRPCClient::removeServiceConfigFile(QString const &configDir) {
//****************************************************************************************************************************************************
+/// \param[in] sessionID The sessionID.
/// \param[in] timeoutMs The timeout in milliseconds
/// \param[in] serverProcess An optional server process to monitor. If the process it, no need and retry, as connexion cannot be established. Ignored if null.
/// \return The service config.
//****************************************************************************************************************************************************
-GRPCConfig GRPCClient::waitAndRetrieveServiceConfig(QString const &configDir, qint64 timeoutMs, ProcessMonitor *serverProcess) {
+GRPCConfig GRPCClient::waitAndRetrieveServiceConfig(QString const & sessionID, QString const &configDir, qint64 timeoutMs,
+ ProcessMonitor *serverProcess) {
QString const path = grpcServerConfigPath(configDir);
QFile file(path);
@@ -71,7 +73,7 @@ GRPCConfig GRPCClient::waitAndRetrieveServiceConfig(QString const &configDir, qi
while (true) {
if (serverProcess && serverProcess->getStatus().ended) {
throw Exception("Bridge application exited before providing a gRPC service configuration file.", QString(), __FUNCTION__,
- tailOfLatestBridgeLog());
+ tailOfLatestBridgeLog(sessionID));
}
if (file.exists()) {
@@ -85,7 +87,7 @@ GRPCConfig GRPCClient::waitAndRetrieveServiceConfig(QString const &configDir, qi
}
if (!found) {
- throw Exception("Server did not provide gRPC service configuration in time.", QString(), __FUNCTION__, tailOfLatestBridgeLog());
+ throw Exception("Server did not provide gRPC service configuration in time.", QString(), __FUNCTION__, tailOfLatestBridgeLog(sessionID));
}
GRPCConfig sc;
@@ -114,10 +116,12 @@ void GRPCClient::setLog(Log *log) {
//****************************************************************************************************************************************************
+/// \param[in] sessionID The sessionID.
+/// \param[in] configDir The configuration directory
/// \param[in] serverProcess An optional server process to monitor. If the process it, no need and retry, as connexion cannot be established. Ignored if null.
/// \return true iff the connection was successful.
//****************************************************************************************************************************************************
-void GRPCClient::connectToServer(QString const &configDir, GRPCConfig const &config, ProcessMonitor *serverProcess) {
+void GRPCClient::connectToServer(QString const &sessionID, QString const &configDir, GRPCConfig const &config, ProcessMonitor *serverProcess) {
try {
serverToken_ = config.token.toStdString();
QString address;
@@ -147,7 +151,7 @@ void GRPCClient::connectToServer(QString const &configDir, GRPCConfig const &con
while (true) {
if (serverProcess && serverProcess->getStatus().ended) {
throw Exception("Bridge application ended before gRPC connexion could be established.", QString(), __FUNCTION__,
- tailOfLatestBridgeLog());
+ tailOfLatestBridgeLog(sessionID));
}
this->logInfo(QString("Connection to gRPC server at %1. attempt #%2").arg(address).arg(++i));
@@ -158,7 +162,7 @@ void GRPCClient::connectToServer(QString const &configDir, GRPCConfig const &con
if (QDateTime::currentDateTime() > giveUpTime) {
throw Exception("Connection to the gRPC server failed because of a timeout.", QString(), __FUNCTION__,
- tailOfLatestBridgeLog());
+ tailOfLatestBridgeLog(sessionID));
}
}
diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/GRPCClient.h b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/GRPCClient.h
index ccb2aa98..95ca948f 100644
--- a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/GRPCClient.h
+++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/GRPCClient.h
@@ -49,7 +49,8 @@ class GRPCClient : public QObject {
Q_OBJECT
public: // static member functions
static void removeServiceConfigFile(QString const &configDir); ///< Delete the service config file.
- static GRPCConfig waitAndRetrieveServiceConfig(QString const &configDir, qint64 timeoutMs, class ProcessMonitor *serverProcess); ///< Wait and retrieve the service configuration.
+ static GRPCConfig waitAndRetrieveServiceConfig(QString const &sessionID, QString const &configDir, qint64 timeoutMs,
+ class ProcessMonitor *serverProcess); ///< Wait and retrieve the service configuration.
public: // member functions.
GRPCClient() = default; ///< Default constructor.
@@ -59,7 +60,7 @@ public: // member functions.
GRPCClient &operator=(GRPCClient const &) = delete; ///< Disabled assignment operator.
GRPCClient &operator=(GRPCClient &&) = delete; ///< Disabled move assignment operator.
void setLog(Log *log); ///< Set the log for the client.
- void connectToServer(QString const &configDir, GRPCConfig const &config, class ProcessMonitor *serverProcess); ///< Establish connection to the gRPC server.
+ void connectToServer(QString const &sessionID, QString const &configDir, GRPCConfig const &config, class ProcessMonitor *serverProcess); ///< Establish connection to the gRPC server.
bool isConnected() const; ///< Check whether the gRPC client is connected to the server.
grpc::Status checkTokens(QString const &clientConfigPath, QString &outReturnedClientToken); ///< Performs a token check.
diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.grpc.pb.cc b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.grpc.pb.cc
deleted file mode 100644
index 1482025e..00000000
--- a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.grpc.pb.cc
+++ /dev/null
@@ -1,2557 +0,0 @@
-// Generated by the gRPC C++ plugin.
-// If you make any local change, they will be lost.
-// source: bridge.proto
-
-#include "bridge.pb.h"
-#include "bridge.grpc.pb.h"
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-namespace grpc {
-
-static const char* Bridge_method_names[] = {
- "/grpc.Bridge/CheckTokens",
- "/grpc.Bridge/AddLogEntry",
- "/grpc.Bridge/GuiReady",
- "/grpc.Bridge/Quit",
- "/grpc.Bridge/Restart",
- "/grpc.Bridge/ShowOnStartup",
- "/grpc.Bridge/SetIsAutostartOn",
- "/grpc.Bridge/IsAutostartOn",
- "/grpc.Bridge/SetIsBetaEnabled",
- "/grpc.Bridge/IsBetaEnabled",
- "/grpc.Bridge/SetIsAllMailVisible",
- "/grpc.Bridge/IsAllMailVisible",
- "/grpc.Bridge/SetIsTelemetryDisabled",
- "/grpc.Bridge/IsTelemetryDisabled",
- "/grpc.Bridge/GoOs",
- "/grpc.Bridge/TriggerReset",
- "/grpc.Bridge/Version",
- "/grpc.Bridge/LogsPath",
- "/grpc.Bridge/LicensePath",
- "/grpc.Bridge/ReleaseNotesPageLink",
- "/grpc.Bridge/DependencyLicensesLink",
- "/grpc.Bridge/LandingPageLink",
- "/grpc.Bridge/SetColorSchemeName",
- "/grpc.Bridge/ColorSchemeName",
- "/grpc.Bridge/CurrentEmailClient",
- "/grpc.Bridge/ReportBug",
- "/grpc.Bridge/ExportTLSCertificates",
- "/grpc.Bridge/ForceLauncher",
- "/grpc.Bridge/SetMainExecutable",
- "/grpc.Bridge/Login",
- "/grpc.Bridge/Login2FA",
- "/grpc.Bridge/Login2Passwords",
- "/grpc.Bridge/LoginAbort",
- "/grpc.Bridge/CheckUpdate",
- "/grpc.Bridge/InstallUpdate",
- "/grpc.Bridge/SetIsAutomaticUpdateOn",
- "/grpc.Bridge/IsAutomaticUpdateOn",
- "/grpc.Bridge/DiskCachePath",
- "/grpc.Bridge/SetDiskCachePath",
- "/grpc.Bridge/SetIsDoHEnabled",
- "/grpc.Bridge/IsDoHEnabled",
- "/grpc.Bridge/MailServerSettings",
- "/grpc.Bridge/SetMailServerSettings",
- "/grpc.Bridge/Hostname",
- "/grpc.Bridge/IsPortFree",
- "/grpc.Bridge/AvailableKeychains",
- "/grpc.Bridge/SetCurrentKeychain",
- "/grpc.Bridge/CurrentKeychain",
- "/grpc.Bridge/GetUserList",
- "/grpc.Bridge/GetUser",
- "/grpc.Bridge/SetUserSplitMode",
- "/grpc.Bridge/SendBadEventUserFeedback",
- "/grpc.Bridge/LogoutUser",
- "/grpc.Bridge/RemoveUser",
- "/grpc.Bridge/ConfigureUserAppleMail",
- "/grpc.Bridge/ReportBugClicked",
- "/grpc.Bridge/AutoconfigClicked",
- "/grpc.Bridge/KBArticleClicked",
- "/grpc.Bridge/RunEventStream",
- "/grpc.Bridge/StopEventStream",
-};
-
-std::unique_ptr< Bridge::Stub> Bridge::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) {
- (void)options;
- std::unique_ptr< Bridge::Stub> stub(new Bridge::Stub(channel, options));
- return stub;
-}
-
-Bridge::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options)
- : channel_(channel), rpcmethod_CheckTokens_(Bridge_method_names[0], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_AddLogEntry_(Bridge_method_names[1], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_GuiReady_(Bridge_method_names[2], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_Quit_(Bridge_method_names[3], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_Restart_(Bridge_method_names[4], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_ShowOnStartup_(Bridge_method_names[5], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_SetIsAutostartOn_(Bridge_method_names[6], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_IsAutostartOn_(Bridge_method_names[7], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_SetIsBetaEnabled_(Bridge_method_names[8], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_IsBetaEnabled_(Bridge_method_names[9], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_SetIsAllMailVisible_(Bridge_method_names[10], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_IsAllMailVisible_(Bridge_method_names[11], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_SetIsTelemetryDisabled_(Bridge_method_names[12], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_IsTelemetryDisabled_(Bridge_method_names[13], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_GoOs_(Bridge_method_names[14], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_TriggerReset_(Bridge_method_names[15], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_Version_(Bridge_method_names[16], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_LogsPath_(Bridge_method_names[17], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_LicensePath_(Bridge_method_names[18], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_ReleaseNotesPageLink_(Bridge_method_names[19], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_DependencyLicensesLink_(Bridge_method_names[20], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_LandingPageLink_(Bridge_method_names[21], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_SetColorSchemeName_(Bridge_method_names[22], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_ColorSchemeName_(Bridge_method_names[23], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_CurrentEmailClient_(Bridge_method_names[24], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_ReportBug_(Bridge_method_names[25], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_ExportTLSCertificates_(Bridge_method_names[26], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_ForceLauncher_(Bridge_method_names[27], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_SetMainExecutable_(Bridge_method_names[28], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_Login_(Bridge_method_names[29], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_Login2FA_(Bridge_method_names[30], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_Login2Passwords_(Bridge_method_names[31], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_LoginAbort_(Bridge_method_names[32], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_CheckUpdate_(Bridge_method_names[33], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_InstallUpdate_(Bridge_method_names[34], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_SetIsAutomaticUpdateOn_(Bridge_method_names[35], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_IsAutomaticUpdateOn_(Bridge_method_names[36], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_DiskCachePath_(Bridge_method_names[37], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_SetDiskCachePath_(Bridge_method_names[38], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_SetIsDoHEnabled_(Bridge_method_names[39], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_IsDoHEnabled_(Bridge_method_names[40], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_MailServerSettings_(Bridge_method_names[41], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_SetMailServerSettings_(Bridge_method_names[42], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_Hostname_(Bridge_method_names[43], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_IsPortFree_(Bridge_method_names[44], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_AvailableKeychains_(Bridge_method_names[45], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_SetCurrentKeychain_(Bridge_method_names[46], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_CurrentKeychain_(Bridge_method_names[47], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_GetUserList_(Bridge_method_names[48], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_GetUser_(Bridge_method_names[49], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_SetUserSplitMode_(Bridge_method_names[50], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_SendBadEventUserFeedback_(Bridge_method_names[51], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_LogoutUser_(Bridge_method_names[52], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_RemoveUser_(Bridge_method_names[53], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_ConfigureUserAppleMail_(Bridge_method_names[54], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_ReportBugClicked_(Bridge_method_names[55], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_AutoconfigClicked_(Bridge_method_names[56], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_KBArticleClicked_(Bridge_method_names[57], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_RunEventStream_(Bridge_method_names[58], options.suffix_for_stats(),::grpc::internal::RpcMethod::SERVER_STREAMING, channel)
- , rpcmethod_StopEventStream_(Bridge_method_names[59], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- {}
-
-::grpc::Status Bridge::Stub::CheckTokens(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::StringValue* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_CheckTokens_, context, request, response);
-}
-
-void Bridge::Stub::async::CheckTokens(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::StringValue* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_CheckTokens_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::CheckTokens(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_CheckTokens_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::PrepareAsyncCheckTokensRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::StringValue, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_CheckTokens_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::AsyncCheckTokensRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncCheckTokensRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::AddLogEntry(::grpc::ClientContext* context, const ::grpc::AddLogEntryRequest& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::grpc::AddLogEntryRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_AddLogEntry_, context, request, response);
-}
-
-void Bridge::Stub::async::AddLogEntry(::grpc::ClientContext* context, const ::grpc::AddLogEntryRequest* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::grpc::AddLogEntryRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_AddLogEntry_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::AddLogEntry(::grpc::ClientContext* context, const ::grpc::AddLogEntryRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_AddLogEntry_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncAddLogEntryRaw(::grpc::ClientContext* context, const ::grpc::AddLogEntryRequest& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::grpc::AddLogEntryRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_AddLogEntry_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncAddLogEntryRaw(::grpc::ClientContext* context, const ::grpc::AddLogEntryRequest& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncAddLogEntryRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::GuiReady(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::GuiReadyResponse* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::grpc::GuiReadyResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_GuiReady_, context, request, response);
-}
-
-void Bridge::Stub::async::GuiReady(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::grpc::GuiReadyResponse* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::grpc::GuiReadyResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GuiReady_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::GuiReady(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::grpc::GuiReadyResponse* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GuiReady_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::grpc::GuiReadyResponse>* Bridge::Stub::PrepareAsyncGuiReadyRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::grpc::GuiReadyResponse, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_GuiReady_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::grpc::GuiReadyResponse>* Bridge::Stub::AsyncGuiReadyRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncGuiReadyRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::Quit(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_Quit_, context, request, response);
-}
-
-void Bridge::Stub::async::Quit(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Quit_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::Quit(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Quit_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncQuitRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_Quit_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncQuitRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncQuitRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::Restart(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_Restart_, context, request, response);
-}
-
-void Bridge::Stub::async::Restart(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Restart_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::Restart(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Restart_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncRestartRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_Restart_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncRestartRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncRestartRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::ShowOnStartup(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_ShowOnStartup_, context, request, response);
-}
-
-void Bridge::Stub::async::ShowOnStartup(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ShowOnStartup_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::ShowOnStartup(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ShowOnStartup_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* Bridge::Stub::PrepareAsyncShowOnStartupRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_ShowOnStartup_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* Bridge::Stub::AsyncShowOnStartupRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncShowOnStartupRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::SetIsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_SetIsAutostartOn_, context, request, response);
-}
-
-void Bridge::Stub::async::SetIsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetIsAutostartOn_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::SetIsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetIsAutostartOn_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncSetIsAutostartOnRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_SetIsAutostartOn_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncSetIsAutostartOnRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncSetIsAutostartOnRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::IsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_IsAutostartOn_, context, request, response);
-}
-
-void Bridge::Stub::async::IsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_IsAutostartOn_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::IsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_IsAutostartOn_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* Bridge::Stub::PrepareAsyncIsAutostartOnRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_IsAutostartOn_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* Bridge::Stub::AsyncIsAutostartOnRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncIsAutostartOnRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::SetIsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_SetIsBetaEnabled_, context, request, response);
-}
-
-void Bridge::Stub::async::SetIsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetIsBetaEnabled_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::SetIsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetIsBetaEnabled_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncSetIsBetaEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_SetIsBetaEnabled_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncSetIsBetaEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncSetIsBetaEnabledRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::IsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_IsBetaEnabled_, context, request, response);
-}
-
-void Bridge::Stub::async::IsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_IsBetaEnabled_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::IsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_IsBetaEnabled_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* Bridge::Stub::PrepareAsyncIsBetaEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_IsBetaEnabled_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* Bridge::Stub::AsyncIsBetaEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncIsBetaEnabledRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::SetIsAllMailVisible(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_SetIsAllMailVisible_, context, request, response);
-}
-
-void Bridge::Stub::async::SetIsAllMailVisible(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetIsAllMailVisible_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::SetIsAllMailVisible(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetIsAllMailVisible_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncSetIsAllMailVisibleRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_SetIsAllMailVisible_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncSetIsAllMailVisibleRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncSetIsAllMailVisibleRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::IsAllMailVisible(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_IsAllMailVisible_, context, request, response);
-}
-
-void Bridge::Stub::async::IsAllMailVisible(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_IsAllMailVisible_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::IsAllMailVisible(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_IsAllMailVisible_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* Bridge::Stub::PrepareAsyncIsAllMailVisibleRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_IsAllMailVisible_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* Bridge::Stub::AsyncIsAllMailVisibleRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncIsAllMailVisibleRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::SetIsTelemetryDisabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_SetIsTelemetryDisabled_, context, request, response);
-}
-
-void Bridge::Stub::async::SetIsTelemetryDisabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetIsTelemetryDisabled_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::SetIsTelemetryDisabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetIsTelemetryDisabled_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncSetIsTelemetryDisabledRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_SetIsTelemetryDisabled_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncSetIsTelemetryDisabledRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncSetIsTelemetryDisabledRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::IsTelemetryDisabled(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_IsTelemetryDisabled_, context, request, response);
-}
-
-void Bridge::Stub::async::IsTelemetryDisabled(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_IsTelemetryDisabled_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::IsTelemetryDisabled(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_IsTelemetryDisabled_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* Bridge::Stub::PrepareAsyncIsTelemetryDisabledRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_IsTelemetryDisabled_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* Bridge::Stub::AsyncIsTelemetryDisabledRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncIsTelemetryDisabledRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::GoOs(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_GoOs_, context, request, response);
-}
-
-void Bridge::Stub::async::GoOs(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GoOs_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::GoOs(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GoOs_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::PrepareAsyncGoOsRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_GoOs_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::AsyncGoOsRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncGoOsRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::TriggerReset(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_TriggerReset_, context, request, response);
-}
-
-void Bridge::Stub::async::TriggerReset(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_TriggerReset_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::TriggerReset(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_TriggerReset_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncTriggerResetRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_TriggerReset_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncTriggerResetRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncTriggerResetRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::Version(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_Version_, context, request, response);
-}
-
-void Bridge::Stub::async::Version(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Version_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::Version(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Version_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::PrepareAsyncVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_Version_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::AsyncVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncVersionRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::LogsPath(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_LogsPath_, context, request, response);
-}
-
-void Bridge::Stub::async::LogsPath(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_LogsPath_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::LogsPath(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_LogsPath_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::PrepareAsyncLogsPathRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_LogsPath_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::AsyncLogsPathRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncLogsPathRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::LicensePath(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_LicensePath_, context, request, response);
-}
-
-void Bridge::Stub::async::LicensePath(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_LicensePath_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::LicensePath(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_LicensePath_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::PrepareAsyncLicensePathRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_LicensePath_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::AsyncLicensePathRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncLicensePathRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::ReleaseNotesPageLink(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_ReleaseNotesPageLink_, context, request, response);
-}
-
-void Bridge::Stub::async::ReleaseNotesPageLink(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ReleaseNotesPageLink_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::ReleaseNotesPageLink(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ReleaseNotesPageLink_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::PrepareAsyncReleaseNotesPageLinkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_ReleaseNotesPageLink_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::AsyncReleaseNotesPageLinkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncReleaseNotesPageLinkRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::DependencyLicensesLink(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_DependencyLicensesLink_, context, request, response);
-}
-
-void Bridge::Stub::async::DependencyLicensesLink(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_DependencyLicensesLink_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::DependencyLicensesLink(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_DependencyLicensesLink_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::PrepareAsyncDependencyLicensesLinkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_DependencyLicensesLink_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::AsyncDependencyLicensesLinkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncDependencyLicensesLinkRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::LandingPageLink(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_LandingPageLink_, context, request, response);
-}
-
-void Bridge::Stub::async::LandingPageLink(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_LandingPageLink_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::LandingPageLink(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_LandingPageLink_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::PrepareAsyncLandingPageLinkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_LandingPageLink_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::AsyncLandingPageLinkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncLandingPageLinkRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::SetColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_SetColorSchemeName_, context, request, response);
-}
-
-void Bridge::Stub::async::SetColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetColorSchemeName_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::SetColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetColorSchemeName_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncSetColorSchemeNameRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_SetColorSchemeName_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncSetColorSchemeNameRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncSetColorSchemeNameRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::ColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_ColorSchemeName_, context, request, response);
-}
-
-void Bridge::Stub::async::ColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ColorSchemeName_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::ColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ColorSchemeName_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::PrepareAsyncColorSchemeNameRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_ColorSchemeName_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::AsyncColorSchemeNameRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncColorSchemeNameRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::CurrentEmailClient(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_CurrentEmailClient_, context, request, response);
-}
-
-void Bridge::Stub::async::CurrentEmailClient(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_CurrentEmailClient_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::CurrentEmailClient(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_CurrentEmailClient_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::PrepareAsyncCurrentEmailClientRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_CurrentEmailClient_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::AsyncCurrentEmailClientRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncCurrentEmailClientRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::ReportBug(::grpc::ClientContext* context, const ::grpc::ReportBugRequest& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::grpc::ReportBugRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_ReportBug_, context, request, response);
-}
-
-void Bridge::Stub::async::ReportBug(::grpc::ClientContext* context, const ::grpc::ReportBugRequest* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::grpc::ReportBugRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ReportBug_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::ReportBug(::grpc::ClientContext* context, const ::grpc::ReportBugRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ReportBug_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncReportBugRaw(::grpc::ClientContext* context, const ::grpc::ReportBugRequest& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::grpc::ReportBugRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_ReportBug_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncReportBugRaw(::grpc::ClientContext* context, const ::grpc::ReportBugRequest& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncReportBugRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::ExportTLSCertificates(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_ExportTLSCertificates_, context, request, response);
-}
-
-void Bridge::Stub::async::ExportTLSCertificates(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ExportTLSCertificates_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::ExportTLSCertificates(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ExportTLSCertificates_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncExportTLSCertificatesRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_ExportTLSCertificates_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncExportTLSCertificatesRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncExportTLSCertificatesRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::ForceLauncher(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_ForceLauncher_, context, request, response);
-}
-
-void Bridge::Stub::async::ForceLauncher(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ForceLauncher_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::ForceLauncher(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ForceLauncher_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncForceLauncherRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_ForceLauncher_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncForceLauncherRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncForceLauncherRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::SetMainExecutable(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_SetMainExecutable_, context, request, response);
-}
-
-void Bridge::Stub::async::SetMainExecutable(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetMainExecutable_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::SetMainExecutable(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetMainExecutable_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncSetMainExecutableRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_SetMainExecutable_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncSetMainExecutableRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncSetMainExecutableRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::Login(::grpc::ClientContext* context, const ::grpc::LoginRequest& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::grpc::LoginRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_Login_, context, request, response);
-}
-
-void Bridge::Stub::async::Login(::grpc::ClientContext* context, const ::grpc::LoginRequest* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::grpc::LoginRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Login_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::Login(::grpc::ClientContext* context, const ::grpc::LoginRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Login_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncLoginRaw(::grpc::ClientContext* context, const ::grpc::LoginRequest& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::grpc::LoginRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_Login_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncLoginRaw(::grpc::ClientContext* context, const ::grpc::LoginRequest& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncLoginRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::Login2FA(::grpc::ClientContext* context, const ::grpc::LoginRequest& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::grpc::LoginRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_Login2FA_, context, request, response);
-}
-
-void Bridge::Stub::async::Login2FA(::grpc::ClientContext* context, const ::grpc::LoginRequest* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::grpc::LoginRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Login2FA_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::Login2FA(::grpc::ClientContext* context, const ::grpc::LoginRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Login2FA_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncLogin2FARaw(::grpc::ClientContext* context, const ::grpc::LoginRequest& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::grpc::LoginRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_Login2FA_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncLogin2FARaw(::grpc::ClientContext* context, const ::grpc::LoginRequest& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncLogin2FARaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::Login2Passwords(::grpc::ClientContext* context, const ::grpc::LoginRequest& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::grpc::LoginRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_Login2Passwords_, context, request, response);
-}
-
-void Bridge::Stub::async::Login2Passwords(::grpc::ClientContext* context, const ::grpc::LoginRequest* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::grpc::LoginRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Login2Passwords_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::Login2Passwords(::grpc::ClientContext* context, const ::grpc::LoginRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Login2Passwords_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncLogin2PasswordsRaw(::grpc::ClientContext* context, const ::grpc::LoginRequest& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::grpc::LoginRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_Login2Passwords_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncLogin2PasswordsRaw(::grpc::ClientContext* context, const ::grpc::LoginRequest& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncLogin2PasswordsRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::LoginAbort(::grpc::ClientContext* context, const ::grpc::LoginAbortRequest& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::grpc::LoginAbortRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_LoginAbort_, context, request, response);
-}
-
-void Bridge::Stub::async::LoginAbort(::grpc::ClientContext* context, const ::grpc::LoginAbortRequest* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::grpc::LoginAbortRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_LoginAbort_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::LoginAbort(::grpc::ClientContext* context, const ::grpc::LoginAbortRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_LoginAbort_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncLoginAbortRaw(::grpc::ClientContext* context, const ::grpc::LoginAbortRequest& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::grpc::LoginAbortRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_LoginAbort_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncLoginAbortRaw(::grpc::ClientContext* context, const ::grpc::LoginAbortRequest& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncLoginAbortRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::CheckUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_CheckUpdate_, context, request, response);
-}
-
-void Bridge::Stub::async::CheckUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_CheckUpdate_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::CheckUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_CheckUpdate_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncCheckUpdateRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_CheckUpdate_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncCheckUpdateRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncCheckUpdateRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::InstallUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_InstallUpdate_, context, request, response);
-}
-
-void Bridge::Stub::async::InstallUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_InstallUpdate_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::InstallUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_InstallUpdate_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncInstallUpdateRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_InstallUpdate_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncInstallUpdateRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncInstallUpdateRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::SetIsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_SetIsAutomaticUpdateOn_, context, request, response);
-}
-
-void Bridge::Stub::async::SetIsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetIsAutomaticUpdateOn_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::SetIsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetIsAutomaticUpdateOn_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncSetIsAutomaticUpdateOnRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_SetIsAutomaticUpdateOn_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncSetIsAutomaticUpdateOnRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncSetIsAutomaticUpdateOnRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::IsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_IsAutomaticUpdateOn_, context, request, response);
-}
-
-void Bridge::Stub::async::IsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_IsAutomaticUpdateOn_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::IsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_IsAutomaticUpdateOn_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* Bridge::Stub::PrepareAsyncIsAutomaticUpdateOnRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_IsAutomaticUpdateOn_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* Bridge::Stub::AsyncIsAutomaticUpdateOnRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncIsAutomaticUpdateOnRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::DiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_DiskCachePath_, context, request, response);
-}
-
-void Bridge::Stub::async::DiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_DiskCachePath_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::DiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_DiskCachePath_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::PrepareAsyncDiskCachePathRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_DiskCachePath_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::AsyncDiskCachePathRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncDiskCachePathRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::SetDiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_SetDiskCachePath_, context, request, response);
-}
-
-void Bridge::Stub::async::SetDiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetDiskCachePath_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::SetDiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetDiskCachePath_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncSetDiskCachePathRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_SetDiskCachePath_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncSetDiskCachePathRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncSetDiskCachePathRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::SetIsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_SetIsDoHEnabled_, context, request, response);
-}
-
-void Bridge::Stub::async::SetIsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetIsDoHEnabled_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::SetIsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetIsDoHEnabled_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncSetIsDoHEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_SetIsDoHEnabled_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncSetIsDoHEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncSetIsDoHEnabledRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::IsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_IsDoHEnabled_, context, request, response);
-}
-
-void Bridge::Stub::async::IsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_IsDoHEnabled_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::IsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_IsDoHEnabled_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* Bridge::Stub::PrepareAsyncIsDoHEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_IsDoHEnabled_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* Bridge::Stub::AsyncIsDoHEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncIsDoHEnabledRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::MailServerSettings(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::ImapSmtpSettings* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::grpc::ImapSmtpSettings, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_MailServerSettings_, context, request, response);
-}
-
-void Bridge::Stub::async::MailServerSettings(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::grpc::ImapSmtpSettings* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::grpc::ImapSmtpSettings, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_MailServerSettings_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::MailServerSettings(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::grpc::ImapSmtpSettings* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_MailServerSettings_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::grpc::ImapSmtpSettings>* Bridge::Stub::PrepareAsyncMailServerSettingsRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::grpc::ImapSmtpSettings, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_MailServerSettings_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::grpc::ImapSmtpSettings>* Bridge::Stub::AsyncMailServerSettingsRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncMailServerSettingsRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::SetMailServerSettings(::grpc::ClientContext* context, const ::grpc::ImapSmtpSettings& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::grpc::ImapSmtpSettings, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_SetMailServerSettings_, context, request, response);
-}
-
-void Bridge::Stub::async::SetMailServerSettings(::grpc::ClientContext* context, const ::grpc::ImapSmtpSettings* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::grpc::ImapSmtpSettings, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetMailServerSettings_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::SetMailServerSettings(::grpc::ClientContext* context, const ::grpc::ImapSmtpSettings* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetMailServerSettings_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncSetMailServerSettingsRaw(::grpc::ClientContext* context, const ::grpc::ImapSmtpSettings& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::grpc::ImapSmtpSettings, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_SetMailServerSettings_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncSetMailServerSettingsRaw(::grpc::ClientContext* context, const ::grpc::ImapSmtpSettings& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncSetMailServerSettingsRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::Hostname(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_Hostname_, context, request, response);
-}
-
-void Bridge::Stub::async::Hostname(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Hostname_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::Hostname(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Hostname_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::PrepareAsyncHostnameRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_Hostname_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::AsyncHostnameRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncHostnameRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::IsPortFree(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::google::protobuf::BoolValue* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Int32Value, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_IsPortFree_, context, request, response);
-}
-
-void Bridge::Stub::async::IsPortFree(::grpc::ClientContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::BoolValue* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Int32Value, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_IsPortFree_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::IsPortFree(::grpc::ClientContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_IsPortFree_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* Bridge::Stub::PrepareAsyncIsPortFreeRaw(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::BoolValue, ::google::protobuf::Int32Value, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_IsPortFree_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* Bridge::Stub::AsyncIsPortFreeRaw(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncIsPortFreeRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::AvailableKeychains(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::AvailableKeychainsResponse* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::grpc::AvailableKeychainsResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_AvailableKeychains_, context, request, response);
-}
-
-void Bridge::Stub::async::AvailableKeychains(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::grpc::AvailableKeychainsResponse* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::grpc::AvailableKeychainsResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_AvailableKeychains_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::AvailableKeychains(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::grpc::AvailableKeychainsResponse* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_AvailableKeychains_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::grpc::AvailableKeychainsResponse>* Bridge::Stub::PrepareAsyncAvailableKeychainsRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::grpc::AvailableKeychainsResponse, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_AvailableKeychains_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::grpc::AvailableKeychainsResponse>* Bridge::Stub::AsyncAvailableKeychainsRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncAvailableKeychainsRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::SetCurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_SetCurrentKeychain_, context, request, response);
-}
-
-void Bridge::Stub::async::SetCurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetCurrentKeychain_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::SetCurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetCurrentKeychain_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncSetCurrentKeychainRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_SetCurrentKeychain_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncSetCurrentKeychainRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncSetCurrentKeychainRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::CurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_CurrentKeychain_, context, request, response);
-}
-
-void Bridge::Stub::async::CurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_CurrentKeychain_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::CurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_CurrentKeychain_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::PrepareAsyncCurrentKeychainRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_CurrentKeychain_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* Bridge::Stub::AsyncCurrentKeychainRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncCurrentKeychainRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::GetUserList(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::UserListResponse* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::grpc::UserListResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_GetUserList_, context, request, response);
-}
-
-void Bridge::Stub::async::GetUserList(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::grpc::UserListResponse* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::grpc::UserListResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GetUserList_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::GetUserList(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::grpc::UserListResponse* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GetUserList_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::grpc::UserListResponse>* Bridge::Stub::PrepareAsyncGetUserListRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::grpc::UserListResponse, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_GetUserList_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::grpc::UserListResponse>* Bridge::Stub::AsyncGetUserListRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncGetUserListRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::GetUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::User* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::StringValue, ::grpc::User, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_GetUser_, context, request, response);
-}
-
-void Bridge::Stub::async::GetUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::grpc::User* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::StringValue, ::grpc::User, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GetUser_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::GetUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::grpc::User* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GetUser_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::grpc::User>* Bridge::Stub::PrepareAsyncGetUserRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::grpc::User, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_GetUser_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::grpc::User>* Bridge::Stub::AsyncGetUserRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncGetUserRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::SetUserSplitMode(::grpc::ClientContext* context, const ::grpc::UserSplitModeRequest& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::grpc::UserSplitModeRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_SetUserSplitMode_, context, request, response);
-}
-
-void Bridge::Stub::async::SetUserSplitMode(::grpc::ClientContext* context, const ::grpc::UserSplitModeRequest* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::grpc::UserSplitModeRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetUserSplitMode_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::SetUserSplitMode(::grpc::ClientContext* context, const ::grpc::UserSplitModeRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetUserSplitMode_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncSetUserSplitModeRaw(::grpc::ClientContext* context, const ::grpc::UserSplitModeRequest& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::grpc::UserSplitModeRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_SetUserSplitMode_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncSetUserSplitModeRaw(::grpc::ClientContext* context, const ::grpc::UserSplitModeRequest& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncSetUserSplitModeRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::SendBadEventUserFeedback(::grpc::ClientContext* context, const ::grpc::UserBadEventFeedbackRequest& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::grpc::UserBadEventFeedbackRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_SendBadEventUserFeedback_, context, request, response);
-}
-
-void Bridge::Stub::async::SendBadEventUserFeedback(::grpc::ClientContext* context, const ::grpc::UserBadEventFeedbackRequest* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::grpc::UserBadEventFeedbackRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SendBadEventUserFeedback_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::SendBadEventUserFeedback(::grpc::ClientContext* context, const ::grpc::UserBadEventFeedbackRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SendBadEventUserFeedback_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncSendBadEventUserFeedbackRaw(::grpc::ClientContext* context, const ::grpc::UserBadEventFeedbackRequest& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::grpc::UserBadEventFeedbackRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_SendBadEventUserFeedback_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncSendBadEventUserFeedbackRaw(::grpc::ClientContext* context, const ::grpc::UserBadEventFeedbackRequest& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncSendBadEventUserFeedbackRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::LogoutUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_LogoutUser_, context, request, response);
-}
-
-void Bridge::Stub::async::LogoutUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_LogoutUser_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::LogoutUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_LogoutUser_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncLogoutUserRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_LogoutUser_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncLogoutUserRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncLogoutUserRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::RemoveUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_RemoveUser_, context, request, response);
-}
-
-void Bridge::Stub::async::RemoveUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_RemoveUser_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::RemoveUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_RemoveUser_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncRemoveUserRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_RemoveUser_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncRemoveUserRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncRemoveUserRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::ConfigureUserAppleMail(::grpc::ClientContext* context, const ::grpc::ConfigureAppleMailRequest& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::grpc::ConfigureAppleMailRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_ConfigureUserAppleMail_, context, request, response);
-}
-
-void Bridge::Stub::async::ConfigureUserAppleMail(::grpc::ClientContext* context, const ::grpc::ConfigureAppleMailRequest* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::grpc::ConfigureAppleMailRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ConfigureUserAppleMail_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::ConfigureUserAppleMail(::grpc::ClientContext* context, const ::grpc::ConfigureAppleMailRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ConfigureUserAppleMail_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncConfigureUserAppleMailRaw(::grpc::ClientContext* context, const ::grpc::ConfigureAppleMailRequest& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::grpc::ConfigureAppleMailRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_ConfigureUserAppleMail_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncConfigureUserAppleMailRaw(::grpc::ClientContext* context, const ::grpc::ConfigureAppleMailRequest& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncConfigureUserAppleMailRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::ReportBugClicked(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_ReportBugClicked_, context, request, response);
-}
-
-void Bridge::Stub::async::ReportBugClicked(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ReportBugClicked_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::ReportBugClicked(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ReportBugClicked_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncReportBugClickedRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_ReportBugClicked_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncReportBugClickedRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncReportBugClickedRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::AutoconfigClicked(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_AutoconfigClicked_, context, request, response);
-}
-
-void Bridge::Stub::async::AutoconfigClicked(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_AutoconfigClicked_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::AutoconfigClicked(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_AutoconfigClicked_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncAutoconfigClickedRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_AutoconfigClicked_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncAutoconfigClickedRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncAutoconfigClickedRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::Status Bridge::Stub::KBArticleClicked(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_KBArticleClicked_, context, request, response);
-}
-
-void Bridge::Stub::async::KBArticleClicked(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_KBArticleClicked_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::KBArticleClicked(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_KBArticleClicked_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncKBArticleClickedRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_KBArticleClicked_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncKBArticleClickedRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncKBArticleClickedRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-::grpc::ClientReader< ::grpc::StreamEvent>* Bridge::Stub::RunEventStreamRaw(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request) {
- return ::grpc::internal::ClientReaderFactory< ::grpc::StreamEvent>::Create(channel_.get(), rpcmethod_RunEventStream_, context, request);
-}
-
-void Bridge::Stub::async::RunEventStream(::grpc::ClientContext* context, const ::grpc::EventStreamRequest* request, ::grpc::ClientReadReactor< ::grpc::StreamEvent>* reactor) {
- ::grpc::internal::ClientCallbackReaderFactory< ::grpc::StreamEvent>::Create(stub_->channel_.get(), stub_->rpcmethod_RunEventStream_, context, request, reactor);
-}
-
-::grpc::ClientAsyncReader< ::grpc::StreamEvent>* Bridge::Stub::AsyncRunEventStreamRaw(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request, ::grpc::CompletionQueue* cq, void* tag) {
- return ::grpc::internal::ClientAsyncReaderFactory< ::grpc::StreamEvent>::Create(channel_.get(), cq, rpcmethod_RunEventStream_, context, request, true, tag);
-}
-
-::grpc::ClientAsyncReader< ::grpc::StreamEvent>* Bridge::Stub::PrepareAsyncRunEventStreamRaw(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncReaderFactory< ::grpc::StreamEvent>::Create(channel_.get(), cq, rpcmethod_RunEventStream_, context, request, false, nullptr);
-}
-
-::grpc::Status Bridge::Stub::StopEventStream(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) {
- return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_StopEventStream_, context, request, response);
-}
-
-void Bridge::Stub::async::StopEventStream(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function f) {
- ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_StopEventStream_, context, request, response, std::move(f));
-}
-
-void Bridge::Stub::async::StopEventStream(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
- ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_StopEventStream_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncStopEventStreamRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_StopEventStream_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncStopEventStreamRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- auto* result =
- this->PrepareAsyncStopEventStreamRaw(context, request, cq);
- result->StartCall();
- return result;
-}
-
-Bridge::Service::Service() {
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[0],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::StringValue, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::StringValue* req,
- ::google::protobuf::StringValue* resp) {
- return service->CheckTokens(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[1],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::grpc::AddLogEntryRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::grpc::AddLogEntryRequest* req,
- ::google::protobuf::Empty* resp) {
- return service->AddLogEntry(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[2],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::grpc::GuiReadyResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::grpc::GuiReadyResponse* resp) {
- return service->GuiReady(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[3],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::Empty* resp) {
- return service->Quit(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[4],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::Empty* resp) {
- return service->Restart(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[5],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::BoolValue* resp) {
- return service->ShowOnStartup(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[6],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::BoolValue* req,
- ::google::protobuf::Empty* resp) {
- return service->SetIsAutostartOn(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[7],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::BoolValue* resp) {
- return service->IsAutostartOn(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[8],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::BoolValue* req,
- ::google::protobuf::Empty* resp) {
- return service->SetIsBetaEnabled(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[9],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::BoolValue* resp) {
- return service->IsBetaEnabled(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[10],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::BoolValue* req,
- ::google::protobuf::Empty* resp) {
- return service->SetIsAllMailVisible(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[11],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::BoolValue* resp) {
- return service->IsAllMailVisible(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[12],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::BoolValue* req,
- ::google::protobuf::Empty* resp) {
- return service->SetIsTelemetryDisabled(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[13],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::BoolValue* resp) {
- return service->IsTelemetryDisabled(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[14],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::StringValue* resp) {
- return service->GoOs(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[15],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::Empty* resp) {
- return service->TriggerReset(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[16],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::StringValue* resp) {
- return service->Version(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[17],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::StringValue* resp) {
- return service->LogsPath(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[18],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::StringValue* resp) {
- return service->LicensePath(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[19],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::StringValue* resp) {
- return service->ReleaseNotesPageLink(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[20],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::StringValue* resp) {
- return service->DependencyLicensesLink(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[21],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::StringValue* resp) {
- return service->LandingPageLink(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[22],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::StringValue* req,
- ::google::protobuf::Empty* resp) {
- return service->SetColorSchemeName(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[23],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::StringValue* resp) {
- return service->ColorSchemeName(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[24],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::StringValue* resp) {
- return service->CurrentEmailClient(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[25],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::grpc::ReportBugRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::grpc::ReportBugRequest* req,
- ::google::protobuf::Empty* resp) {
- return service->ReportBug(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[26],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::StringValue* req,
- ::google::protobuf::Empty* resp) {
- return service->ExportTLSCertificates(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[27],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::StringValue* req,
- ::google::protobuf::Empty* resp) {
- return service->ForceLauncher(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[28],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::StringValue* req,
- ::google::protobuf::Empty* resp) {
- return service->SetMainExecutable(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[29],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::grpc::LoginRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::grpc::LoginRequest* req,
- ::google::protobuf::Empty* resp) {
- return service->Login(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[30],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::grpc::LoginRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::grpc::LoginRequest* req,
- ::google::protobuf::Empty* resp) {
- return service->Login2FA(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[31],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::grpc::LoginRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::grpc::LoginRequest* req,
- ::google::protobuf::Empty* resp) {
- return service->Login2Passwords(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[32],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::grpc::LoginAbortRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::grpc::LoginAbortRequest* req,
- ::google::protobuf::Empty* resp) {
- return service->LoginAbort(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[33],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::Empty* resp) {
- return service->CheckUpdate(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[34],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::Empty* resp) {
- return service->InstallUpdate(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[35],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::BoolValue* req,
- ::google::protobuf::Empty* resp) {
- return service->SetIsAutomaticUpdateOn(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[36],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::BoolValue* resp) {
- return service->IsAutomaticUpdateOn(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[37],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::StringValue* resp) {
- return service->DiskCachePath(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[38],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::StringValue* req,
- ::google::protobuf::Empty* resp) {
- return service->SetDiskCachePath(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[39],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::BoolValue* req,
- ::google::protobuf::Empty* resp) {
- return service->SetIsDoHEnabled(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[40],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::BoolValue* resp) {
- return service->IsDoHEnabled(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[41],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::grpc::ImapSmtpSettings, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::grpc::ImapSmtpSettings* resp) {
- return service->MailServerSettings(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[42],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::grpc::ImapSmtpSettings, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::grpc::ImapSmtpSettings* req,
- ::google::protobuf::Empty* resp) {
- return service->SetMailServerSettings(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[43],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::StringValue* resp) {
- return service->Hostname(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[44],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Int32Value, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Int32Value* req,
- ::google::protobuf::BoolValue* resp) {
- return service->IsPortFree(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[45],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::grpc::AvailableKeychainsResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::grpc::AvailableKeychainsResponse* resp) {
- return service->AvailableKeychains(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[46],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::StringValue* req,
- ::google::protobuf::Empty* resp) {
- return service->SetCurrentKeychain(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[47],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::StringValue* resp) {
- return service->CurrentKeychain(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[48],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::grpc::UserListResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::grpc::UserListResponse* resp) {
- return service->GetUserList(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[49],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::StringValue, ::grpc::User, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::StringValue* req,
- ::grpc::User* resp) {
- return service->GetUser(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[50],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::grpc::UserSplitModeRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::grpc::UserSplitModeRequest* req,
- ::google::protobuf::Empty* resp) {
- return service->SetUserSplitMode(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[51],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::grpc::UserBadEventFeedbackRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::grpc::UserBadEventFeedbackRequest* req,
- ::google::protobuf::Empty* resp) {
- return service->SendBadEventUserFeedback(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[52],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::StringValue* req,
- ::google::protobuf::Empty* resp) {
- return service->LogoutUser(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[53],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::StringValue* req,
- ::google::protobuf::Empty* resp) {
- return service->RemoveUser(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[54],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::grpc::ConfigureAppleMailRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::grpc::ConfigureAppleMailRequest* req,
- ::google::protobuf::Empty* resp) {
- return service->ConfigureUserAppleMail(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[55],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::Empty* resp) {
- return service->ReportBugClicked(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[56],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::StringValue* req,
- ::google::protobuf::Empty* resp) {
- return service->AutoconfigClicked(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[57],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::StringValue* req,
- ::google::protobuf::Empty* resp) {
- return service->KBArticleClicked(ctx, req, resp);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[58],
- ::grpc::internal::RpcMethod::SERVER_STREAMING,
- new ::grpc::internal::ServerStreamingHandler< Bridge::Service, ::grpc::EventStreamRequest, ::grpc::StreamEvent>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::grpc::EventStreamRequest* req,
- ::grpc::ServerWriter<::grpc::StreamEvent>* writer) {
- return service->RunEventStream(ctx, req, writer);
- }, this)));
- AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[59],
- ::grpc::internal::RpcMethod::NORMAL_RPC,
- new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
- [](Bridge::Service* service,
- ::grpc::ServerContext* ctx,
- const ::google::protobuf::Empty* req,
- ::google::protobuf::Empty* resp) {
- return service->StopEventStream(ctx, req, resp);
- }, this)));
-}
-
-Bridge::Service::~Service() {
-}
-
-::grpc::Status Bridge::Service::CheckTokens(::grpc::ServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::StringValue* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::AddLogEntry(::grpc::ServerContext* context, const ::grpc::AddLogEntryRequest* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::GuiReady(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::grpc::GuiReadyResponse* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::Quit(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::Restart(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::ShowOnStartup(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::SetIsAutostartOn(::grpc::ServerContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::IsAutostartOn(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::SetIsBetaEnabled(::grpc::ServerContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::IsBetaEnabled(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::SetIsAllMailVisible(::grpc::ServerContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::IsAllMailVisible(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::SetIsTelemetryDisabled(::grpc::ServerContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::IsTelemetryDisabled(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::GoOs(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::TriggerReset(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::Version(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::LogsPath(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::LicensePath(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::ReleaseNotesPageLink(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::DependencyLicensesLink(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::LandingPageLink(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::SetColorSchemeName(::grpc::ServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::ColorSchemeName(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::CurrentEmailClient(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::ReportBug(::grpc::ServerContext* context, const ::grpc::ReportBugRequest* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::ExportTLSCertificates(::grpc::ServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::ForceLauncher(::grpc::ServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::SetMainExecutable(::grpc::ServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::Login(::grpc::ServerContext* context, const ::grpc::LoginRequest* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::Login2FA(::grpc::ServerContext* context, const ::grpc::LoginRequest* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::Login2Passwords(::grpc::ServerContext* context, const ::grpc::LoginRequest* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::LoginAbort(::grpc::ServerContext* context, const ::grpc::LoginAbortRequest* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::CheckUpdate(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::InstallUpdate(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::SetIsAutomaticUpdateOn(::grpc::ServerContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::IsAutomaticUpdateOn(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::DiskCachePath(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::SetDiskCachePath(::grpc::ServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::SetIsDoHEnabled(::grpc::ServerContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::IsDoHEnabled(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::MailServerSettings(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::grpc::ImapSmtpSettings* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::SetMailServerSettings(::grpc::ServerContext* context, const ::grpc::ImapSmtpSettings* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::Hostname(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::IsPortFree(::grpc::ServerContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::BoolValue* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::AvailableKeychains(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::grpc::AvailableKeychainsResponse* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::SetCurrentKeychain(::grpc::ServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::CurrentKeychain(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::GetUserList(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::grpc::UserListResponse* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::GetUser(::grpc::ServerContext* context, const ::google::protobuf::StringValue* request, ::grpc::User* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::SetUserSplitMode(::grpc::ServerContext* context, const ::grpc::UserSplitModeRequest* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::SendBadEventUserFeedback(::grpc::ServerContext* context, const ::grpc::UserBadEventFeedbackRequest* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::LogoutUser(::grpc::ServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::RemoveUser(::grpc::ServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::ConfigureUserAppleMail(::grpc::ServerContext* context, const ::grpc::ConfigureAppleMailRequest* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::ReportBugClicked(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::AutoconfigClicked(::grpc::ServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::KBArticleClicked(::grpc::ServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::RunEventStream(::grpc::ServerContext* context, const ::grpc::EventStreamRequest* request, ::grpc::ServerWriter< ::grpc::StreamEvent>* writer) {
- (void) context;
- (void) request;
- (void) writer;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status Bridge::Service::StopEventStream(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response) {
- (void) context;
- (void) request;
- (void) response;
- return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-
-} // namespace grpc
-
diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.grpc.pb.h b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.grpc.pb.h
deleted file mode 100644
index 33cffc53..00000000
--- a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.grpc.pb.h
+++ /dev/null
@@ -1,9556 +0,0 @@
-// Generated by the gRPC C++ plugin.
-// If you make any local change, they will be lost.
-// source: bridge.proto
-// Original file comments:
-// Copyright (c) 2022 Proton Technologies AG
-//
-// This file is part of ProtonMail Bridge.
-//
-// ProtonMail Bridge is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// ProtonMail Bridge is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with ProtonMail Bridge. If not, see .
-//
-#ifndef GRPC_bridge_2eproto__INCLUDED
-#define GRPC_bridge_2eproto__INCLUDED
-
-#include "bridge.pb.h"
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-namespace grpc {
-
-// **********************************************************************************************************************
-// Service Declaration
-// **********************************************************************************************************************≠––
-class Bridge final {
- public:
- static constexpr char const* service_full_name() {
- return "grpc.Bridge";
- }
- class StubInterface {
- public:
- virtual ~StubInterface() {}
- // App related calls
- virtual ::grpc::Status CheckTokens(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::StringValue* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> AsyncCheckTokens(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(AsyncCheckTokensRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> PrepareAsyncCheckTokens(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(PrepareAsyncCheckTokensRaw(context, request, cq));
- }
- virtual ::grpc::Status AddLogEntry(::grpc::ClientContext* context, const ::grpc::AddLogEntryRequest& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncAddLogEntry(::grpc::ClientContext* context, const ::grpc::AddLogEntryRequest& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncAddLogEntryRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncAddLogEntry(::grpc::ClientContext* context, const ::grpc::AddLogEntryRequest& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncAddLogEntryRaw(context, request, cq));
- }
- virtual ::grpc::Status GuiReady(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::GuiReadyResponse* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::grpc::GuiReadyResponse>> AsyncGuiReady(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::grpc::GuiReadyResponse>>(AsyncGuiReadyRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::grpc::GuiReadyResponse>> PrepareAsyncGuiReady(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::grpc::GuiReadyResponse>>(PrepareAsyncGuiReadyRaw(context, request, cq));
- }
- virtual ::grpc::Status Quit(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncQuit(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncQuitRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncQuit(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncQuitRaw(context, request, cq));
- }
- virtual ::grpc::Status Restart(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncRestart(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncRestartRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncRestart(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncRestartRaw(context, request, cq));
- }
- virtual ::grpc::Status ShowOnStartup(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> AsyncShowOnStartup(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(AsyncShowOnStartupRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> PrepareAsyncShowOnStartup(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(PrepareAsyncShowOnStartupRaw(context, request, cq));
- }
- virtual ::grpc::Status SetIsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncSetIsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncSetIsAutostartOnRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncSetIsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncSetIsAutostartOnRaw(context, request, cq));
- }
- virtual ::grpc::Status IsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> AsyncIsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(AsyncIsAutostartOnRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> PrepareAsyncIsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(PrepareAsyncIsAutostartOnRaw(context, request, cq));
- }
- virtual ::grpc::Status SetIsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncSetIsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncSetIsBetaEnabledRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncSetIsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncSetIsBetaEnabledRaw(context, request, cq));
- }
- virtual ::grpc::Status IsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> AsyncIsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(AsyncIsBetaEnabledRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> PrepareAsyncIsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(PrepareAsyncIsBetaEnabledRaw(context, request, cq));
- }
- virtual ::grpc::Status SetIsAllMailVisible(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncSetIsAllMailVisible(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncSetIsAllMailVisibleRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncSetIsAllMailVisible(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncSetIsAllMailVisibleRaw(context, request, cq));
- }
- virtual ::grpc::Status IsAllMailVisible(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> AsyncIsAllMailVisible(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(AsyncIsAllMailVisibleRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> PrepareAsyncIsAllMailVisible(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(PrepareAsyncIsAllMailVisibleRaw(context, request, cq));
- }
- virtual ::grpc::Status SetIsTelemetryDisabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncSetIsTelemetryDisabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncSetIsTelemetryDisabledRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncSetIsTelemetryDisabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncSetIsTelemetryDisabledRaw(context, request, cq));
- }
- virtual ::grpc::Status IsTelemetryDisabled(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> AsyncIsTelemetryDisabled(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(AsyncIsTelemetryDisabledRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> PrepareAsyncIsTelemetryDisabled(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(PrepareAsyncIsTelemetryDisabledRaw(context, request, cq));
- }
- virtual ::grpc::Status GoOs(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> AsyncGoOs(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(AsyncGoOsRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> PrepareAsyncGoOs(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(PrepareAsyncGoOsRaw(context, request, cq));
- }
- virtual ::grpc::Status TriggerReset(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncTriggerReset(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncTriggerResetRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncTriggerReset(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncTriggerResetRaw(context, request, cq));
- }
- virtual ::grpc::Status Version(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> AsyncVersion(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(AsyncVersionRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> PrepareAsyncVersion(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(PrepareAsyncVersionRaw(context, request, cq));
- }
- virtual ::grpc::Status LogsPath(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> AsyncLogsPath(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(AsyncLogsPathRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> PrepareAsyncLogsPath(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(PrepareAsyncLogsPathRaw(context, request, cq));
- }
- virtual ::grpc::Status LicensePath(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> AsyncLicensePath(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(AsyncLicensePathRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> PrepareAsyncLicensePath(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(PrepareAsyncLicensePathRaw(context, request, cq));
- }
- virtual ::grpc::Status ReleaseNotesPageLink(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> AsyncReleaseNotesPageLink(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(AsyncReleaseNotesPageLinkRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> PrepareAsyncReleaseNotesPageLink(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(PrepareAsyncReleaseNotesPageLinkRaw(context, request, cq));
- }
- virtual ::grpc::Status DependencyLicensesLink(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> AsyncDependencyLicensesLink(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(AsyncDependencyLicensesLinkRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> PrepareAsyncDependencyLicensesLink(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(PrepareAsyncDependencyLicensesLinkRaw(context, request, cq));
- }
- virtual ::grpc::Status LandingPageLink(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> AsyncLandingPageLink(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(AsyncLandingPageLinkRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> PrepareAsyncLandingPageLink(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(PrepareAsyncLandingPageLinkRaw(context, request, cq));
- }
- virtual ::grpc::Status SetColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncSetColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncSetColorSchemeNameRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncSetColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncSetColorSchemeNameRaw(context, request, cq));
- }
- virtual ::grpc::Status ColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> AsyncColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(AsyncColorSchemeNameRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> PrepareAsyncColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(PrepareAsyncColorSchemeNameRaw(context, request, cq));
- }
- // TODO Color scheme should probably entirely be managed by the client.
- virtual ::grpc::Status CurrentEmailClient(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> AsyncCurrentEmailClient(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(AsyncCurrentEmailClientRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> PrepareAsyncCurrentEmailClient(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(PrepareAsyncCurrentEmailClientRaw(context, request, cq));
- }
- virtual ::grpc::Status ReportBug(::grpc::ClientContext* context, const ::grpc::ReportBugRequest& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncReportBug(::grpc::ClientContext* context, const ::grpc::ReportBugRequest& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncReportBugRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncReportBug(::grpc::ClientContext* context, const ::grpc::ReportBugRequest& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncReportBugRaw(context, request, cq));
- }
- virtual ::grpc::Status ExportTLSCertificates(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncExportTLSCertificates(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncExportTLSCertificatesRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncExportTLSCertificates(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncExportTLSCertificatesRaw(context, request, cq));
- }
- virtual ::grpc::Status ForceLauncher(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncForceLauncher(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncForceLauncherRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncForceLauncher(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncForceLauncherRaw(context, request, cq));
- }
- virtual ::grpc::Status SetMainExecutable(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncSetMainExecutable(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncSetMainExecutableRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncSetMainExecutable(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncSetMainExecutableRaw(context, request, cq));
- }
- // login
- virtual ::grpc::Status Login(::grpc::ClientContext* context, const ::grpc::LoginRequest& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncLogin(::grpc::ClientContext* context, const ::grpc::LoginRequest& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncLoginRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncLogin(::grpc::ClientContext* context, const ::grpc::LoginRequest& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncLoginRaw(context, request, cq));
- }
- virtual ::grpc::Status Login2FA(::grpc::ClientContext* context, const ::grpc::LoginRequest& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncLogin2FA(::grpc::ClientContext* context, const ::grpc::LoginRequest& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncLogin2FARaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncLogin2FA(::grpc::ClientContext* context, const ::grpc::LoginRequest& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncLogin2FARaw(context, request, cq));
- }
- virtual ::grpc::Status Login2Passwords(::grpc::ClientContext* context, const ::grpc::LoginRequest& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncLogin2Passwords(::grpc::ClientContext* context, const ::grpc::LoginRequest& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncLogin2PasswordsRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncLogin2Passwords(::grpc::ClientContext* context, const ::grpc::LoginRequest& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncLogin2PasswordsRaw(context, request, cq));
- }
- virtual ::grpc::Status LoginAbort(::grpc::ClientContext* context, const ::grpc::LoginAbortRequest& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncLoginAbort(::grpc::ClientContext* context, const ::grpc::LoginAbortRequest& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncLoginAbortRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncLoginAbort(::grpc::ClientContext* context, const ::grpc::LoginAbortRequest& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncLoginAbortRaw(context, request, cq));
- }
- // update
- virtual ::grpc::Status CheckUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncCheckUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncCheckUpdateRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncCheckUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncCheckUpdateRaw(context, request, cq));
- }
- virtual ::grpc::Status InstallUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncInstallUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncInstallUpdateRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncInstallUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncInstallUpdateRaw(context, request, cq));
- }
- virtual ::grpc::Status SetIsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncSetIsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncSetIsAutomaticUpdateOnRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncSetIsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncSetIsAutomaticUpdateOnRaw(context, request, cq));
- }
- virtual ::grpc::Status IsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> AsyncIsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(AsyncIsAutomaticUpdateOnRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> PrepareAsyncIsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(PrepareAsyncIsAutomaticUpdateOnRaw(context, request, cq));
- }
- // cache
- virtual ::grpc::Status DiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> AsyncDiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(AsyncDiskCachePathRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> PrepareAsyncDiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(PrepareAsyncDiskCachePathRaw(context, request, cq));
- }
- virtual ::grpc::Status SetDiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncSetDiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncSetDiskCachePathRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncSetDiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncSetDiskCachePathRaw(context, request, cq));
- }
- // mail
- virtual ::grpc::Status SetIsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncSetIsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncSetIsDoHEnabledRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncSetIsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncSetIsDoHEnabledRaw(context, request, cq));
- }
- virtual ::grpc::Status IsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> AsyncIsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(AsyncIsDoHEnabledRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> PrepareAsyncIsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(PrepareAsyncIsDoHEnabledRaw(context, request, cq));
- }
- virtual ::grpc::Status MailServerSettings(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::ImapSmtpSettings* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::grpc::ImapSmtpSettings>> AsyncMailServerSettings(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::grpc::ImapSmtpSettings>>(AsyncMailServerSettingsRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::grpc::ImapSmtpSettings>> PrepareAsyncMailServerSettings(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::grpc::ImapSmtpSettings>>(PrepareAsyncMailServerSettingsRaw(context, request, cq));
- }
- virtual ::grpc::Status SetMailServerSettings(::grpc::ClientContext* context, const ::grpc::ImapSmtpSettings& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncSetMailServerSettings(::grpc::ClientContext* context, const ::grpc::ImapSmtpSettings& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncSetMailServerSettingsRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncSetMailServerSettings(::grpc::ClientContext* context, const ::grpc::ImapSmtpSettings& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncSetMailServerSettingsRaw(context, request, cq));
- }
- virtual ::grpc::Status Hostname(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> AsyncHostname(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(AsyncHostnameRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> PrepareAsyncHostname(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(PrepareAsyncHostnameRaw(context, request, cq));
- }
- virtual ::grpc::Status IsPortFree(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::google::protobuf::BoolValue* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> AsyncIsPortFree(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(AsyncIsPortFreeRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> PrepareAsyncIsPortFree(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(PrepareAsyncIsPortFreeRaw(context, request, cq));
- }
- // keychain
- virtual ::grpc::Status AvailableKeychains(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::AvailableKeychainsResponse* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::grpc::AvailableKeychainsResponse>> AsyncAvailableKeychains(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::grpc::AvailableKeychainsResponse>>(AsyncAvailableKeychainsRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::grpc::AvailableKeychainsResponse>> PrepareAsyncAvailableKeychains(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::grpc::AvailableKeychainsResponse>>(PrepareAsyncAvailableKeychainsRaw(context, request, cq));
- }
- virtual ::grpc::Status SetCurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncSetCurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncSetCurrentKeychainRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncSetCurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncSetCurrentKeychainRaw(context, request, cq));
- }
- virtual ::grpc::Status CurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> AsyncCurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(AsyncCurrentKeychainRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> PrepareAsyncCurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(PrepareAsyncCurrentKeychainRaw(context, request, cq));
- }
- // User & user list
- virtual ::grpc::Status GetUserList(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::UserListResponse* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::grpc::UserListResponse>> AsyncGetUserList(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::grpc::UserListResponse>>(AsyncGetUserListRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::grpc::UserListResponse>> PrepareAsyncGetUserList(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::grpc::UserListResponse>>(PrepareAsyncGetUserListRaw(context, request, cq));
- }
- virtual ::grpc::Status GetUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::User* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::grpc::User>> AsyncGetUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::grpc::User>>(AsyncGetUserRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::grpc::User>> PrepareAsyncGetUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::grpc::User>>(PrepareAsyncGetUserRaw(context, request, cq));
- }
- virtual ::grpc::Status SetUserSplitMode(::grpc::ClientContext* context, const ::grpc::UserSplitModeRequest& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncSetUserSplitMode(::grpc::ClientContext* context, const ::grpc::UserSplitModeRequest& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncSetUserSplitModeRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncSetUserSplitMode(::grpc::ClientContext* context, const ::grpc::UserSplitModeRequest& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncSetUserSplitModeRaw(context, request, cq));
- }
- virtual ::grpc::Status SendBadEventUserFeedback(::grpc::ClientContext* context, const ::grpc::UserBadEventFeedbackRequest& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncSendBadEventUserFeedback(::grpc::ClientContext* context, const ::grpc::UserBadEventFeedbackRequest& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncSendBadEventUserFeedbackRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncSendBadEventUserFeedback(::grpc::ClientContext* context, const ::grpc::UserBadEventFeedbackRequest& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncSendBadEventUserFeedbackRaw(context, request, cq));
- }
- virtual ::grpc::Status LogoutUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncLogoutUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncLogoutUserRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncLogoutUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncLogoutUserRaw(context, request, cq));
- }
- virtual ::grpc::Status RemoveUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncRemoveUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncRemoveUserRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncRemoveUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncRemoveUserRaw(context, request, cq));
- }
- virtual ::grpc::Status ConfigureUserAppleMail(::grpc::ClientContext* context, const ::grpc::ConfigureAppleMailRequest& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncConfigureUserAppleMail(::grpc::ClientContext* context, const ::grpc::ConfigureAppleMailRequest& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncConfigureUserAppleMailRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncConfigureUserAppleMail(::grpc::ClientContext* context, const ::grpc::ConfigureAppleMailRequest& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncConfigureUserAppleMailRaw(context, request, cq));
- }
- // Telemetry
- virtual ::grpc::Status ReportBugClicked(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncReportBugClicked(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncReportBugClickedRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncReportBugClicked(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncReportBugClickedRaw(context, request, cq));
- }
- virtual ::grpc::Status AutoconfigClicked(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncAutoconfigClicked(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncAutoconfigClickedRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncAutoconfigClicked(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncAutoconfigClickedRaw(context, request, cq));
- }
- virtual ::grpc::Status KBArticleClicked(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncKBArticleClicked(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncKBArticleClickedRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncKBArticleClicked(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncKBArticleClickedRaw(context, request, cq));
- }
- // Server -> Client event stream
- std::unique_ptr< ::grpc::ClientReaderInterface< ::grpc::StreamEvent>> RunEventStream(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request) {
- return std::unique_ptr< ::grpc::ClientReaderInterface< ::grpc::StreamEvent>>(RunEventStreamRaw(context, request));
- }
- std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::grpc::StreamEvent>> AsyncRunEventStream(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request, ::grpc::CompletionQueue* cq, void* tag) {
- return std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::grpc::StreamEvent>>(AsyncRunEventStreamRaw(context, request, cq, tag));
- }
- std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::grpc::StreamEvent>> PrepareAsyncRunEventStream(::grpc::ClientContext* context, const ::grpc::EventStreamRequest& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::grpc::StreamEvent>>(PrepareAsyncRunEventStreamRaw(context, request, cq));
- }
- // Keep streaming until StopEventStream is called.
- virtual ::grpc::Status StopEventStream(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) = 0;
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncStopEventStream(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncStopEventStreamRaw(context, request, cq));
- }
- std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncStopEventStream(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
- return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncStopEventStreamRaw(context, request, cq));
- }
- class async_interface {
- public:
- virtual ~async_interface() {}
- // App related calls
- virtual void CheckTokens(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::StringValue* response, std::function) = 0;
- virtual void CheckTokens(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void AddLogEntry(::grpc::ClientContext* context, const ::grpc::AddLogEntryRequest* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void AddLogEntry(::grpc::ClientContext* context, const ::grpc::AddLogEntryRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void GuiReady(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::grpc::GuiReadyResponse* response, std::function) = 0;
- virtual void GuiReady(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::grpc::GuiReadyResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void Quit(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void Quit(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void Restart(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void Restart(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void ShowOnStartup(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function) = 0;
- virtual void ShowOnStartup(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void SetIsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void SetIsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void IsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function) = 0;
- virtual void IsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void SetIsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void SetIsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void IsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function) = 0;
- virtual void IsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void SetIsAllMailVisible(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void SetIsAllMailVisible(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void IsAllMailVisible(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function) = 0;
- virtual void IsAllMailVisible(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void SetIsTelemetryDisabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void SetIsTelemetryDisabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void IsTelemetryDisabled(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function) = 0;
- virtual void IsTelemetryDisabled(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void GoOs(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) = 0;
- virtual void GoOs(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void TriggerReset(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void TriggerReset(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void Version(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) = 0;
- virtual void Version(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void LogsPath(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) = 0;
- virtual void LogsPath(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void LicensePath(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) = 0;
- virtual void LicensePath(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void ReleaseNotesPageLink(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) = 0;
- virtual void ReleaseNotesPageLink(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void DependencyLicensesLink(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) = 0;
- virtual void DependencyLicensesLink(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void LandingPageLink(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) = 0;
- virtual void LandingPageLink(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void SetColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void SetColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void ColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) = 0;
- virtual void ColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- // TODO Color scheme should probably entirely be managed by the client.
- virtual void CurrentEmailClient(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) = 0;
- virtual void CurrentEmailClient(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void ReportBug(::grpc::ClientContext* context, const ::grpc::ReportBugRequest* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void ReportBug(::grpc::ClientContext* context, const ::grpc::ReportBugRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void ExportTLSCertificates(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void ExportTLSCertificates(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void ForceLauncher(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void ForceLauncher(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void SetMainExecutable(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void SetMainExecutable(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- // login
- virtual void Login(::grpc::ClientContext* context, const ::grpc::LoginRequest* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void Login(::grpc::ClientContext* context, const ::grpc::LoginRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void Login2FA(::grpc::ClientContext* context, const ::grpc::LoginRequest* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void Login2FA(::grpc::ClientContext* context, const ::grpc::LoginRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void Login2Passwords(::grpc::ClientContext* context, const ::grpc::LoginRequest* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void Login2Passwords(::grpc::ClientContext* context, const ::grpc::LoginRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void LoginAbort(::grpc::ClientContext* context, const ::grpc::LoginAbortRequest* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void LoginAbort(::grpc::ClientContext* context, const ::grpc::LoginAbortRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- // update
- virtual void CheckUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void CheckUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void InstallUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void InstallUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void SetIsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void SetIsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void IsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function) = 0;
- virtual void IsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- // cache
- virtual void DiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) = 0;
- virtual void DiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void SetDiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void SetDiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- // mail
- virtual void SetIsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void SetIsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void IsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function) = 0;
- virtual void IsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void MailServerSettings(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::grpc::ImapSmtpSettings* response, std::function) = 0;
- virtual void MailServerSettings(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::grpc::ImapSmtpSettings* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void SetMailServerSettings(::grpc::ClientContext* context, const ::grpc::ImapSmtpSettings* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void SetMailServerSettings(::grpc::ClientContext* context, const ::grpc::ImapSmtpSettings* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void Hostname(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) = 0;
- virtual void Hostname(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void IsPortFree(::grpc::ClientContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::BoolValue* response, std::function) = 0;
- virtual void IsPortFree(::grpc::ClientContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- // keychain
- virtual void AvailableKeychains(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::grpc::AvailableKeychainsResponse* response, std::function) = 0;
- virtual void AvailableKeychains(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::grpc::AvailableKeychainsResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void SetCurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void SetCurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void CurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) = 0;
- virtual void CurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- // User & user list
- virtual void GetUserList(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::grpc::UserListResponse* response, std::function) = 0;
- virtual void GetUserList(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::grpc::UserListResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void GetUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::grpc::User* response, std::function) = 0;
- virtual void GetUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::grpc::User* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void SetUserSplitMode(::grpc::ClientContext* context, const ::grpc::UserSplitModeRequest* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void SetUserSplitMode(::grpc::ClientContext* context, const ::grpc::UserSplitModeRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void SendBadEventUserFeedback(::grpc::ClientContext* context, const ::grpc::UserBadEventFeedbackRequest* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void SendBadEventUserFeedback(::grpc::ClientContext* context, const ::grpc::UserBadEventFeedbackRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void LogoutUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void LogoutUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void RemoveUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void RemoveUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void ConfigureUserAppleMail(::grpc::ClientContext* context, const ::grpc::ConfigureAppleMailRequest* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void ConfigureUserAppleMail(::grpc::ClientContext* context, const ::grpc::ConfigureAppleMailRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- // Telemetry
- virtual void ReportBugClicked(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void ReportBugClicked(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void AutoconfigClicked(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void AutoconfigClicked(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- virtual void KBArticleClicked(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function) = 0;
- virtual void KBArticleClicked(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
- // Server -> Client event stream
- virtual void RunEventStream(::grpc::ClientContext* context, const ::grpc::EventStreamRequest* request, ::grpc::ClientReadReactor< ::grpc::StreamEvent>* reactor) = 0;
- // Keep streaming until StopEventStream is called.
- virtual void StopEventStream(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function