diff --git a/.gitignore b/.gitignore
index 7d5aef30..8fda6e0f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -31,3 +31,7 @@ vendor-cache
cmd/Desktop-Bridge/deploy
cmd/Import-Export/deploy
proton-bridge
+
+# Jetbrains (CLion, Golang) cmake build dirs
+cmake-build-*/
+cmake-build-*/
diff --git a/COPYING_NOTES.md b/COPYING_NOTES.md
index a83b1f9e..66e557c0 100644
--- a/COPYING_NOTES.md
+++ b/COPYING_NOTES.md
@@ -68,7 +68,6 @@ Proton Mail Bridge includes the following 3rd party software:
* [aurora](https://github.com/logrusorgru/aurora) available under [license](https://github.com/logrusorgru/aurora/blob/master/LICENSE)
* [go-runewidth](https://github.com/mattn/go-runewidth) available under [license](https://github.com/mattn/go-runewidth/blob/master/LICENSE)
* [dns](https://github.com/miekg/dns) available under [license](https://github.com/miekg/dns/blob/master/LICENSE)
-* [pretty](https://github.com/niemeyer/pretty) available under [license](https://github.com/niemeyer/pretty/blob/master/LICENSE)
* [jsondiff](https://github.com/nsf/jsondiff) available under [license](https://github.com/nsf/jsondiff/blob/master/LICENSE)
* [tablewriter](https://github.com/olekukonko/tablewriter) available under [license](https://github.com/olekukonko/tablewriter/blob/master/LICENSE)
* [errors](https://github.com/pkg/errors) available under [license](https://github.com/pkg/errors/blob/master/LICENSE)
@@ -85,6 +84,8 @@ Proton Mail Bridge includes the following 3rd party software:
* [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)
* [text](https://golang.org/x/text) available under [license](https://cs.opensource.google/go/x/text/+/master:LICENSE)
+* [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)
* [docker-credential-helpers](https://github.com/ProtonMail/docker-credential-helpers) available under [license](https://github.com/ProtonMail/docker-credential-helpers/blob/master/LICENSE)
* [go-imap](https://github.com/ProtonMail/go-imap) available under [license](https://github.com/ProtonMail/go-imap/blob/master/LICENSE)
diff --git a/go.mod b/go.mod
index f310e11c..9b0b1a46 100644
--- a/go.mod
+++ b/go.mod
@@ -45,8 +45,8 @@ require (
github.com/go-resty/resty/v2 v2.6.0
github.com/godbus/dbus v4.1.0+incompatible
github.com/golang/mock v1.4.4
- github.com/google/go-cmp v0.5.5
- github.com/google/uuid v1.1.1
+ github.com/google/go-cmp v0.5.6
+ github.com/google/uuid v1.1.2
github.com/hashicorp/go-multierror v1.1.0
github.com/jameskeane/bcrypt v0.0.0-20120420032655-c3cd44c1e20f // indirect
github.com/jaytaylor/html2text v0.0.0-20200412013138-3577fbdbcff7
@@ -55,7 +55,6 @@ require (
github.com/logrusorgru/aurora v2.0.3+incompatible
github.com/mattn/go-runewidth v0.0.9 // indirect
github.com/miekg/dns v1.1.41
- github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect
github.com/nsf/jsondiff v0.0.0-20200515183724-f29ed568f4ce
github.com/olekukonko/tablewriter v0.0.4 // indirect
github.com/pkg/errors v0.9.1
@@ -65,8 +64,6 @@ require (
github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf // indirect
github.com/stretchr/testify v1.7.0
github.com/therecipe/qt v0.0.0-20200701200531-7f61353ee73e
- github.com/therecipe/qt/internal/binding/files/docs/5.12.0 v0.0.0-20200904063919-c0c124a5770d // indirect
- github.com/therecipe/qt/internal/binding/files/docs/5.13.0 v0.0.0-20200904063919-c0c124a5770d // indirect
github.com/urfave/cli/v2 v2.2.0
github.com/vmihailenco/msgpack/v5 v5.1.3
go.etcd.io/bbolt v1.3.6
@@ -74,6 +71,8 @@ require (
golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4
golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b
golang.org/x/text v0.3.7
+ google.golang.org/grpc v1.46.2
+ google.golang.org/protobuf v1.28.0
howett.net/plist v1.0.0
)
diff --git a/go.sum b/go.sum
index bf81f739..5ccd1f69 100644
--- a/go.sum
+++ b/go.sum
@@ -72,6 +72,7 @@ github.com/allan-simon/go-singleinstance v0.0.0-20160830203053-79edcfdc2dfc h1:m
github.com/allan-simon/go-singleinstance v0.0.0-20160830203053-79edcfdc2dfc/go.mod h1:qqsTQiwdyqxU05iDCsi0oN3P4nrVxAmn8xCtODDSf/U=
github.com/andybalholm/cascadia v1.1.0 h1:BuuO6sSfQNFRu1LppgbD25Hr2vLYW25JvxHs5zzsLTo=
github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y=
+github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
github.com/antlr/antlr4 v0.0.0-20201029161626-9a95f0cc3d7c h1:j/C2kxPfyE0d87/ggAjIsCV5Cdkqmjb+O0W8W+1J+IY=
github.com/antlr/antlr4 v0.0.0-20201029161626-9a95f0cc3d7c/go.mod h1:T7PbCXFs94rrTttyxjbyT5+/1V8T2TYDejxUfHJjw1Y=
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
@@ -83,12 +84,20 @@ github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84=
+github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
+github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/chzyer/logex v1.1.10 h1:Swpa1K6QvQznwJRcfTfQJmTE72DqScAa40E+fbHEXEE=
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1 h1:q763qf9huN11kDQavWsoZXJNW3xEE4JJyHa5Q25/sd8=
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
+github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
+github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
+github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
+github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM=
github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
@@ -150,6 +159,12 @@ github.com/emersion/go-textwrapper v0.0.0-20200911093747-65d896831594 h1:IbFBtwo
github.com/emersion/go-textwrapper v0.0.0-20200911093747-65d896831594/go.mod h1:aqO8z8wPrjkscevZJFVE1wXJrLpC5LtJG7fqLOsPb2U=
github.com/emersion/go-vcard v0.0.0-20190105225839-8856043f13c5 h1:n9qx98xiS5V4x2WIpPC2rr9mUM5ri9r/YhCEKbhCHro=
github.com/emersion/go-vcard v0.0.0-20190105225839-8856043f13c5/go.mod h1:WIi9g8OKJQHXtQbx7GExlo6UAFaui9WDMYabJ+Be4WI=
+github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
+github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
+github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
+github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
+github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE=
+github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw=
github.com/fasthttp-contrib/websocket v0.0.0-20160511215533-1f3b11f56072/go.mod h1:duJ4Jxv5lDcvg4QuQr0oowTf7dz4/CR8NtyCooz9HL8=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
@@ -196,22 +211,38 @@ github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
+github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
+github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
+github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
+github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
+github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
+github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
+github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
+github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
+github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
+github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
+github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/gomodule/redigo v1.7.1-0.20190724094224-574c33c3df38/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
+github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
+github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
+github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
-github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
-github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y=
+github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
@@ -222,6 +253,7 @@ github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/ad
github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
+github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q=
github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA=
@@ -281,11 +313,6 @@ github.com/kataras/iris/v12 v12.1.8/go.mod h1:LMYy4VlP67TQ3Zgriz8RE2h2kMZV2SgMYb
github.com/kataras/neffos v0.0.14/go.mod h1:8lqADm8PnbeFfL7CLXh1WHw53dG27MC3pgi2R1rmoTE=
github.com/kataras/pio v0.0.2/go.mod h1:hAoW0t9UmXi4R5Oyq5Z4irTbaTsOemSrDGUtaTl7Dro=
github.com/kataras/sitemap v0.0.5/go.mod h1:KY2eugMKiPwsJgx7+U103YZehfvNGOXURubcGyk0Bz8=
-github.com/keybase/go-keychain v0.0.0-20200502122510-cda31fe0c86d h1:gVjhBCfVGl32RIBooOANzfw+0UqX8HU+yPlMv8vypcg=
-github.com/keybase/go-keychain v0.0.0-20200502122510-cda31fe0c86d/go.mod h1:W6EbaYmb4RldPn0N3gvVHjY1wmU59kbymhW9NATWhwY=
-github.com/keybase/go-keychain v0.0.0-20211119201326-e02f34051621 h1:aMQ7pA4f06yOVXSulygyGvy4xA94fyzjUGs0iqQdMOI=
-github.com/keybase/go-keychain v0.0.0-20211119201326-e02f34051621/go.mod h1:enrU/ug069Om7vWxuFE6nikLI2BZNwevMiGSo43Kt5w=
-github.com/keybase/go.dbus v0.0.0-20200324223359-a94be52c0b03/go.mod h1:a8clEhrrGV/d76/f9r2I41BwANMihfZYV9C223vaxqE=
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/compress v1.8.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
@@ -349,7 +376,6 @@ github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5Vgl
github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w=
github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
-github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
github.com/nsf/jsondiff v0.0.0-20200515183724-f29ed568f4ce h1:RPclfga2SEJmgMmz2k+Mg7cowZ8yv4Trqw9UsJby758=
github.com/nsf/jsondiff v0.0.0-20200515183724-f29ed568f4ce/go.mod h1:uFMI8w+ref4v2r9jz+c9i1IfIttS/OkmLfrk1jne5hs=
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
@@ -373,6 +399,7 @@ github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXP
github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
@@ -384,6 +411,7 @@ github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40T
github.com/ricochet2200/go-disk-usage/du v0.0.0-20210707232629-ac9918953285 h1:d54EL9l+XteliUfUCGsEwwuk65dmmxX85VXF+9T6+50=
github.com/ricochet2200/go-disk-usage/du v0.0.0-20210707232629-ac9918953285/go.mod h1:fxIDly1xtudczrZeOOlfaUvd2OPb2qZAPuWdU2BsBTk=
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
+github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo=
github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
@@ -433,10 +461,6 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
github.com/therecipe/qt v0.0.0-20200701200531-7f61353ee73e h1:G0DQ/TRQyrEZjtLlLwevFjaRiG8eeCMlq9WXQ2OO2bk=
github.com/therecipe/qt v0.0.0-20200701200531-7f61353ee73e/go.mod h1:SUUR2j3aE1z6/g76SdD6NwACEpvCxb3fvG82eKbD6us=
-github.com/therecipe/qt/internal/binding/files/docs/5.12.0 v0.0.0-20200904063919-c0c124a5770d h1:hAZyEG2swPRWjF0kqqdGERXUazYnRJdAk4a58f14z7Y=
-github.com/therecipe/qt/internal/binding/files/docs/5.12.0 v0.0.0-20200904063919-c0c124a5770d/go.mod h1:7m8PDYDEtEVqfjoUQc2UrFqhG0CDmoVJjRlQxexndFc=
-github.com/therecipe/qt/internal/binding/files/docs/5.13.0 v0.0.0-20200904063919-c0c124a5770d h1:AJRoBel/g9cDS+yE8BcN3E+TDD/xNAguG21aoR8DAIE=
-github.com/therecipe/qt/internal/binding/files/docs/5.13.0 v0.0.0-20200904063919-c0c124a5770d/go.mod h1:mH55Ek7AZcdns5KPp99O0bg+78el64YCYWHiQKrOdt4=
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
@@ -468,6 +492,7 @@ go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU=
go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
+go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
@@ -482,8 +507,8 @@ golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8U
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
-golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 h1:7I4JAnoQBe7ZtJcBaYHi5UtiO8tQHbUSXxL+pnGRANg=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4 h1:kUhD7nTDoI3fVd9G4ORWrbV5NY0liEs/Jg2pv5f+bBA=
golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
@@ -532,9 +557,10 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL
golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
+golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
-golang.org/x/net v0.0.0-20211008194852-3b03d305991f h1:1scJEYZBaF48BaG6tYbtxmLcXqwYGSfGcMoStTqkkIw=
golang.org/x/net v0.0.0-20211008194852-3b03d305991f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 h1:HVyaeDAYux4pnY+D/SiwmLOR36ewZ4iGQIIrtnuCjFA=
@@ -542,6 +568,7 @@ golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -576,8 +603,11 @@ golang.org/x/sys v0.0.0-20191025021431-6c3a3bfe00ae/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -587,14 +617,12 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM=
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220111092808-5a964db01320 h1:0jf+tOCoZ3LyutmCOWpVni1chK4VfFLhRsDK7MhqGRY=
golang.org/x/sys v0.0.0-20220111092808-5a964db01320/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b h1:2n253B2r0pYSmEV+UNCQoPfU/FiaizQEK5Gu4Bq4JE8=
golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
-golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -620,6 +648,7 @@ golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3
golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
+golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
@@ -628,12 +657,12 @@ golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtn
golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20200117012304-6edc0a871e69 h1:yBHHx+XZqXJBm6Exke3N7V9gnlsyXxoCPEb1yVenjfk=
golang.org/x/tools v0.0.0-20200117012304-6edc0a871e69/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
+golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
@@ -652,13 +681,36 @@ google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013 h1:+kGHl1aib/qcwaRi1CbqBZ1rk19r85MNUf8HaBghugY=
+google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
+google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
+google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
+google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
+google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
+google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
+google.golang.org/grpc v1.46.2 h1:u+MLGgVf7vRdjEYZ8wDFhAVNmhkbJ5hmrA1LMWK1CAQ=
+google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk=
+google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
+google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
+google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
+google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
+google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
+google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
+google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
+google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
+google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
+google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
+google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
+google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
+google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw=
+google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
@@ -674,6 +726,7 @@ gopkg.in/yaml.v1 v1.0.0-20140924161607-9f9df34309c0/go.mod h1:WDnlLJ4WF5VGsH/HVa
gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20191120175047-4206685974f2/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
@@ -683,6 +736,7 @@ gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
howett.net/plist v0.0.0-20181124034731-591f970eefbb/go.mod h1:vMygbs4qMhSZSc4lCUl2OEE+rDiIIJAIdR4m7MiMcm0=
howett.net/plist v1.0.0 h1:7CrbWYbPPO/PyNy38b2EB/+gYbjCe2DXBxgtOOZbSQM=
diff --git a/internal/app/bridge/bridge.go b/internal/app/bridge/bridge.go
index 737cc709..c821dd03 100644
--- a/internal/app/bridge/bridge.go
+++ b/internal/app/bridge/bridge.go
@@ -31,6 +31,7 @@ import (
"github.com/ProtonMail/proton-bridge/v2/internal/frontend"
"github.com/ProtonMail/proton-bridge/v2/internal/frontend/types"
"github.com/ProtonMail/proton-bridge/v2/internal/imap"
+ "github.com/ProtonMail/proton-bridge/v2/internal/rpc"
"github.com/ProtonMail/proton-bridge/v2/internal/smtp"
"github.com/ProtonMail/proton-bridge/v2/internal/store"
"github.com/ProtonMail/proton-bridge/v2/internal/store/cache"
@@ -138,6 +139,11 @@ func mailLoop(b *base.Base, c *cli.Context) error { //nolint:funlen
smtpPort, useSSL, tlsConfig, smtpBackend, b.Listener).ListenAndServe()
}()
+ go func() {
+ defer b.CrashHandler.HandlePanic()
+ rpc.NewServer().ListenAndServe()
+ }()
+
// We want to remove old versions if the app exits successfully.
b.AddTeardownAction(b.Versioner.RemoveOldVersions)
diff --git a/internal/rpc/bridge_rpc.pb.go b/internal/rpc/bridge_rpc.pb.go
new file mode 100644
index 00000000..9d4ff400
--- /dev/null
+++ b/internal/rpc/bridge_rpc.pb.go
@@ -0,0 +1,5104 @@
+// 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 .
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.28.0
+// protoc v3.19.4
+// source: bridge_rpc.proto
+
+package rpc
+
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ emptypb "google.golang.org/protobuf/types/known/emptypb"
+ wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
+ reflect "reflect"
+ sync "sync"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+type LoginErrorType int32
+
+const (
+ LoginErrorType_USERNAME_PASSWORD_ERROR LoginErrorType = 0
+ LoginErrorType_FREE_USER LoginErrorType = 1
+ LoginErrorType_CONNECTION_ERROR LoginErrorType = 2
+ LoginErrorType_TFA_ERROR LoginErrorType = 3
+ LoginErrorType_TFA_ABORT LoginErrorType = 4
+ LoginErrorType_TWO_PASSWORDS_ERROR LoginErrorType = 5
+ LoginErrorType_TWO_PASSWORDS_ABORT LoginErrorType = 6
+)
+
+// Enum value maps for LoginErrorType.
+var (
+ LoginErrorType_name = map[int32]string{
+ 0: "USERNAME_PASSWORD_ERROR",
+ 1: "FREE_USER",
+ 2: "CONNECTION_ERROR",
+ 3: "TFA_ERROR",
+ 4: "TFA_ABORT",
+ 5: "TWO_PASSWORDS_ERROR",
+ 6: "TWO_PASSWORDS_ABORT",
+ }
+ LoginErrorType_value = map[string]int32{
+ "USERNAME_PASSWORD_ERROR": 0,
+ "FREE_USER": 1,
+ "CONNECTION_ERROR": 2,
+ "TFA_ERROR": 3,
+ "TFA_ABORT": 4,
+ "TWO_PASSWORDS_ERROR": 5,
+ "TWO_PASSWORDS_ABORT": 6,
+ }
+)
+
+func (x LoginErrorType) Enum() *LoginErrorType {
+ p := new(LoginErrorType)
+ *p = x
+ return p
+}
+
+func (x LoginErrorType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (LoginErrorType) Descriptor() protoreflect.EnumDescriptor {
+ return file_bridge_rpc_proto_enumTypes[0].Descriptor()
+}
+
+func (LoginErrorType) Type() protoreflect.EnumType {
+ return &file_bridge_rpc_proto_enumTypes[0]
+}
+
+func (x LoginErrorType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use LoginErrorType.Descriptor instead.
+func (LoginErrorType) EnumDescriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{0}
+}
+
+type UpdateErrorType int32
+
+const (
+ UpdateErrorType_UPDATE_MANUAL_ERROR UpdateErrorType = 0
+ UpdateErrorType_UPDATE_FORCE_ERROR UpdateErrorType = 1
+ UpdateErrorType_UPDATE_SILENT_ERROR UpdateErrorType = 2
+)
+
+// Enum value maps for UpdateErrorType.
+var (
+ UpdateErrorType_name = map[int32]string{
+ 0: "UPDATE_MANUAL_ERROR",
+ 1: "UPDATE_FORCE_ERROR",
+ 2: "UPDATE_SILENT_ERROR",
+ }
+ UpdateErrorType_value = map[string]int32{
+ "UPDATE_MANUAL_ERROR": 0,
+ "UPDATE_FORCE_ERROR": 1,
+ "UPDATE_SILENT_ERROR": 2,
+ }
+)
+
+func (x UpdateErrorType) Enum() *UpdateErrorType {
+ p := new(UpdateErrorType)
+ *p = x
+ return p
+}
+
+func (x UpdateErrorType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (UpdateErrorType) Descriptor() protoreflect.EnumDescriptor {
+ return file_bridge_rpc_proto_enumTypes[1].Descriptor()
+}
+
+func (UpdateErrorType) Type() protoreflect.EnumType {
+ return &file_bridge_rpc_proto_enumTypes[1]
+}
+
+func (x UpdateErrorType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use UpdateErrorType.Descriptor instead.
+func (UpdateErrorType) EnumDescriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{1}
+}
+
+type CacheErrorType int32
+
+const (
+ CacheErrorType_CACHE_UNAVAILABLE_ERROR CacheErrorType = 0
+ CacheErrorType_CACHE_CANT_MOVE_ERROR CacheErrorType = 1
+ CacheErrorType_DISK_FULL CacheErrorType = 2
+)
+
+// Enum value maps for CacheErrorType.
+var (
+ CacheErrorType_name = map[int32]string{
+ 0: "CACHE_UNAVAILABLE_ERROR",
+ 1: "CACHE_CANT_MOVE_ERROR",
+ 2: "DISK_FULL",
+ }
+ CacheErrorType_value = map[string]int32{
+ "CACHE_UNAVAILABLE_ERROR": 0,
+ "CACHE_CANT_MOVE_ERROR": 1,
+ "DISK_FULL": 2,
+ }
+)
+
+func (x CacheErrorType) Enum() *CacheErrorType {
+ p := new(CacheErrorType)
+ *p = x
+ return p
+}
+
+func (x CacheErrorType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (CacheErrorType) Descriptor() protoreflect.EnumDescriptor {
+ return file_bridge_rpc_proto_enumTypes[2].Descriptor()
+}
+
+func (CacheErrorType) Type() protoreflect.EnumType {
+ return &file_bridge_rpc_proto_enumTypes[2]
+}
+
+func (x CacheErrorType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use CacheErrorType.Descriptor instead.
+func (CacheErrorType) EnumDescriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{2}
+}
+
+type MailSettingsErrorType int32
+
+const (
+ MailSettingsErrorType_IMAP_PORT_ISSUE MailSettingsErrorType = 0
+ MailSettingsErrorType_SMTP_PORT_ISSUE MailSettingsErrorType = 1
+)
+
+// Enum value maps for MailSettingsErrorType.
+var (
+ MailSettingsErrorType_name = map[int32]string{
+ 0: "IMAP_PORT_ISSUE",
+ 1: "SMTP_PORT_ISSUE",
+ }
+ MailSettingsErrorType_value = map[string]int32{
+ "IMAP_PORT_ISSUE": 0,
+ "SMTP_PORT_ISSUE": 1,
+ }
+)
+
+func (x MailSettingsErrorType) Enum() *MailSettingsErrorType {
+ p := new(MailSettingsErrorType)
+ *p = x
+ return p
+}
+
+func (x MailSettingsErrorType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (MailSettingsErrorType) Descriptor() protoreflect.EnumDescriptor {
+ return file_bridge_rpc_proto_enumTypes[3].Descriptor()
+}
+
+func (MailSettingsErrorType) Type() protoreflect.EnumType {
+ return &file_bridge_rpc_proto_enumTypes[3]
+}
+
+func (x MailSettingsErrorType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use MailSettingsErrorType.Descriptor instead.
+func (MailSettingsErrorType) EnumDescriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{3}
+}
+
+//**********************************************************
+// GUI related messages
+//**********************************************************
+type PointResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ X int32 `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
+ Y int32 `protobuf:"varint,2,opt,name=y,proto3" json:"y,omitempty"`
+}
+
+func (x *PointResponse) Reset() {
+ *x = PointResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *PointResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*PointResponse) ProtoMessage() {}
+
+func (x *PointResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use PointResponse.ProtoReflect.Descriptor instead.
+func (*PointResponse) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *PointResponse) GetX() int32 {
+ if x != nil {
+ return x.X
+ }
+ return 0
+}
+
+func (x *PointResponse) GetY() int32 {
+ if x != nil {
+ return x.Y
+ }
+ return 0
+}
+
+type ReportBugRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
+ Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
+ EmailClient string `protobuf:"bytes,3,opt,name=emailClient,proto3" json:"emailClient,omitempty"`
+ IncludeLogs bool `protobuf:"varint,4,opt,name=includeLogs,proto3" json:"includeLogs,omitempty"`
+}
+
+func (x *ReportBugRequest) Reset() {
+ *x = ReportBugRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReportBugRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReportBugRequest) ProtoMessage() {}
+
+func (x *ReportBugRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReportBugRequest.ProtoReflect.Descriptor instead.
+func (*ReportBugRequest) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *ReportBugRequest) GetDescription() string {
+ if x != nil {
+ return x.Description
+ }
+ return ""
+}
+
+func (x *ReportBugRequest) GetAddress() string {
+ if x != nil {
+ return x.Address
+ }
+ return ""
+}
+
+func (x *ReportBugRequest) GetEmailClient() string {
+ if x != nil {
+ return x.EmailClient
+ }
+ return ""
+}
+
+func (x *ReportBugRequest) GetIncludeLogs() bool {
+ if x != nil {
+ return x.IncludeLogs
+ }
+ return false
+}
+
+type LoginRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
+ Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
+}
+
+func (x *LoginRequest) Reset() {
+ *x = LoginRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LoginRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LoginRequest) ProtoMessage() {}
+
+func (x *LoginRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LoginRequest.ProtoReflect.Descriptor instead.
+func (*LoginRequest) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *LoginRequest) GetUsername() string {
+ if x != nil {
+ return x.Username
+ }
+ return ""
+}
+
+func (x *LoginRequest) GetPassword() string {
+ if x != nil {
+ return x.Password
+ }
+ return ""
+}
+
+type LoginAbortRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
+}
+
+func (x *LoginAbortRequest) Reset() {
+ *x = LoginAbortRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[3]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LoginAbortRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LoginAbortRequest) ProtoMessage() {}
+
+func (x *LoginAbortRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[3]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LoginAbortRequest.ProtoReflect.Descriptor instead.
+func (*LoginAbortRequest) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{3}
+}
+
+func (x *LoginAbortRequest) GetUsername() string {
+ if x != nil {
+ return x.Username
+ }
+ return ""
+}
+
+//**********************************************************
+// Cache on disk related messages
+//**********************************************************
+type ChangeLocalCacheRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ EnableDiskCache bool `protobuf:"varint,1,opt,name=enableDiskCache,proto3" json:"enableDiskCache,omitempty"`
+ DiskCachePath string `protobuf:"bytes,2,opt,name=diskCachePath,proto3" json:"diskCachePath,omitempty"`
+}
+
+func (x *ChangeLocalCacheRequest) Reset() {
+ *x = ChangeLocalCacheRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[4]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChangeLocalCacheRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChangeLocalCacheRequest) ProtoMessage() {}
+
+func (x *ChangeLocalCacheRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[4]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChangeLocalCacheRequest.ProtoReflect.Descriptor instead.
+func (*ChangeLocalCacheRequest) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{4}
+}
+
+func (x *ChangeLocalCacheRequest) GetEnableDiskCache() bool {
+ if x != nil {
+ return x.EnableDiskCache
+ }
+ return false
+}
+
+func (x *ChangeLocalCacheRequest) GetDiskCachePath() string {
+ if x != nil {
+ return x.DiskCachePath
+ }
+ return ""
+}
+
+//**********************************************************
+// Cache on disk related messages
+//**********************************************************
+type ChangePortsRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ ImapPort int32 `protobuf:"varint,1,opt,name=imapPort,proto3" json:"imapPort,omitempty"`
+ SmtpPort int32 `protobuf:"varint,2,opt,name=smtpPort,proto3" json:"smtpPort,omitempty"`
+}
+
+func (x *ChangePortsRequest) Reset() {
+ *x = ChangePortsRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChangePortsRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChangePortsRequest) ProtoMessage() {}
+
+func (x *ChangePortsRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[5]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChangePortsRequest.ProtoReflect.Descriptor instead.
+func (*ChangePortsRequest) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{5}
+}
+
+func (x *ChangePortsRequest) GetImapPort() int32 {
+ if x != nil {
+ return x.ImapPort
+ }
+ return 0
+}
+
+func (x *ChangePortsRequest) GetSmtpPort() int32 {
+ if x != nil {
+ return x.SmtpPort
+ }
+ return 0
+}
+
+//**********************************************************
+// Cache on disk related messages
+//**********************************************************
+type AvailableKeychainsResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Keychains []string `protobuf:"bytes,1,rep,name=keychains,proto3" json:"keychains,omitempty"`
+}
+
+func (x *AvailableKeychainsResponse) Reset() {
+ *x = AvailableKeychainsResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AvailableKeychainsResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AvailableKeychainsResponse) ProtoMessage() {}
+
+func (x *AvailableKeychainsResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[6]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AvailableKeychainsResponse.ProtoReflect.Descriptor instead.
+func (*AvailableKeychainsResponse) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{6}
+}
+
+func (x *AvailableKeychainsResponse) GetKeychains() []string {
+ if x != nil {
+ return x.Keychains
+ }
+ return nil
+}
+
+//**********************************************************
+// Cache on disk related messages
+//**********************************************************
+type User struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"`
+ AvatarText string `protobuf:"bytes,3,opt,name=avatarText,proto3" json:"avatarText,omitempty"`
+ LoggedIn bool `protobuf:"varint,4,opt,name=loggedIn,proto3" json:"loggedIn,omitempty"`
+ SplitMode bool `protobuf:"varint,5,opt,name=splitMode,proto3" json:"splitMode,omitempty"`
+ SetupGuideSeen bool `protobuf:"varint,6,opt,name=setupGuideSeen,proto3" json:"setupGuideSeen,omitempty"`
+ UsedBytes int64 `protobuf:"varint,7,opt,name=usedBytes,proto3" json:"usedBytes,omitempty"`
+ TotalBytes int64 `protobuf:"varint,8,opt,name=totalBytes,proto3" json:"totalBytes,omitempty"`
+ Password string `protobuf:"bytes,9,opt,name=password,proto3" json:"password,omitempty"`
+ Addresses []string `protobuf:"bytes,10,rep,name=addresses,proto3" json:"addresses,omitempty"`
+}
+
+func (x *User) Reset() {
+ *x = User{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[7]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *User) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*User) ProtoMessage() {}
+
+func (x *User) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[7]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use User.ProtoReflect.Descriptor instead.
+func (*User) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{7}
+}
+
+func (x *User) GetId() string {
+ if x != nil {
+ return x.Id
+ }
+ return ""
+}
+
+func (x *User) GetUsername() string {
+ if x != nil {
+ return x.Username
+ }
+ return ""
+}
+
+func (x *User) GetAvatarText() string {
+ if x != nil {
+ return x.AvatarText
+ }
+ return ""
+}
+
+func (x *User) GetLoggedIn() bool {
+ if x != nil {
+ return x.LoggedIn
+ }
+ return false
+}
+
+func (x *User) GetSplitMode() bool {
+ if x != nil {
+ return x.SplitMode
+ }
+ return false
+}
+
+func (x *User) GetSetupGuideSeen() bool {
+ if x != nil {
+ return x.SetupGuideSeen
+ }
+ return false
+}
+
+func (x *User) GetUsedBytes() int64 {
+ if x != nil {
+ return x.UsedBytes
+ }
+ return 0
+}
+
+func (x *User) GetTotalBytes() int64 {
+ if x != nil {
+ return x.TotalBytes
+ }
+ return 0
+}
+
+func (x *User) GetPassword() string {
+ if x != nil {
+ return x.Password
+ }
+ return ""
+}
+
+func (x *User) GetAddresses() []string {
+ if x != nil {
+ return x.Addresses
+ }
+ return nil
+}
+
+type UserSplitModeRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID,omitempty"`
+ Active bool `protobuf:"varint,2,opt,name=active,proto3" json:"active,omitempty"`
+}
+
+func (x *UserSplitModeRequest) Reset() {
+ *x = UserSplitModeRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[8]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UserSplitModeRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UserSplitModeRequest) ProtoMessage() {}
+
+func (x *UserSplitModeRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[8]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UserSplitModeRequest.ProtoReflect.Descriptor instead.
+func (*UserSplitModeRequest) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{8}
+}
+
+func (x *UserSplitModeRequest) GetUserID() string {
+ if x != nil {
+ return x.UserID
+ }
+ return ""
+}
+
+func (x *UserSplitModeRequest) GetActive() bool {
+ if x != nil {
+ return x.Active
+ }
+ return false
+}
+
+type UserListResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Users []*User `protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty"`
+}
+
+func (x *UserListResponse) Reset() {
+ *x = UserListResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[9]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UserListResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UserListResponse) ProtoMessage() {}
+
+func (x *UserListResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[9]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UserListResponse.ProtoReflect.Descriptor instead.
+func (*UserListResponse) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{9}
+}
+
+func (x *UserListResponse) GetUsers() []*User {
+ if x != nil {
+ return x.Users
+ }
+ return nil
+}
+
+type ConfigureAppleMailRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID,omitempty"`
+ Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
+}
+
+func (x *ConfigureAppleMailRequest) Reset() {
+ *x = ConfigureAppleMailRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[10]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ConfigureAppleMailRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ConfigureAppleMailRequest) ProtoMessage() {}
+
+func (x *ConfigureAppleMailRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[10]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ConfigureAppleMailRequest.ProtoReflect.Descriptor instead.
+func (*ConfigureAppleMailRequest) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{10}
+}
+
+func (x *ConfigureAppleMailRequest) GetUserID() string {
+ if x != nil {
+ return x.UserID
+ }
+ return ""
+}
+
+func (x *ConfigureAppleMailRequest) GetAddress() string {
+ if x != nil {
+ return x.Address
+ }
+ return ""
+}
+
+//**********************************************************************************************************************
+// Event stream messages
+//**********************************************************************************************************************
+type StreamEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Event:
+ // *StreamEvent_App
+ // *StreamEvent_Login
+ // *StreamEvent_Update
+ // *StreamEvent_Cache
+ // *StreamEvent_MailSettings
+ // *StreamEvent_Keychain
+ // *StreamEvent_Mail
+ // *StreamEvent_User
+ Event isStreamEvent_Event `protobuf_oneof:"event"`
+}
+
+func (x *StreamEvent) Reset() {
+ *x = StreamEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[11]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StreamEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StreamEvent) ProtoMessage() {}
+
+func (x *StreamEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[11]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StreamEvent.ProtoReflect.Descriptor instead.
+func (*StreamEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{11}
+}
+
+func (m *StreamEvent) GetEvent() isStreamEvent_Event {
+ if m != nil {
+ return m.Event
+ }
+ return nil
+}
+
+func (x *StreamEvent) GetApp() *AppEvent {
+ if x, ok := x.GetEvent().(*StreamEvent_App); ok {
+ return x.App
+ }
+ return nil
+}
+
+func (x *StreamEvent) GetLogin() *LoginEvent {
+ if x, ok := x.GetEvent().(*StreamEvent_Login); ok {
+ return x.Login
+ }
+ return nil
+}
+
+func (x *StreamEvent) GetUpdate() *UpdateEvent {
+ if x, ok := x.GetEvent().(*StreamEvent_Update); ok {
+ return x.Update
+ }
+ return nil
+}
+
+func (x *StreamEvent) GetCache() *CacheEvent {
+ if x, ok := x.GetEvent().(*StreamEvent_Cache); ok {
+ return x.Cache
+ }
+ return nil
+}
+
+func (x *StreamEvent) GetMailSettings() *MailSettingsEvent {
+ if x, ok := x.GetEvent().(*StreamEvent_MailSettings); ok {
+ return x.MailSettings
+ }
+ return nil
+}
+
+func (x *StreamEvent) GetKeychain() *KeychainEvent {
+ if x, ok := x.GetEvent().(*StreamEvent_Keychain); ok {
+ return x.Keychain
+ }
+ return nil
+}
+
+func (x *StreamEvent) GetMail() *MailEvent {
+ if x, ok := x.GetEvent().(*StreamEvent_Mail); ok {
+ return x.Mail
+ }
+ return nil
+}
+
+func (x *StreamEvent) GetUser() *UserEvent {
+ if x, ok := x.GetEvent().(*StreamEvent_User); ok {
+ return x.User
+ }
+ return nil
+}
+
+type isStreamEvent_Event interface {
+ isStreamEvent_Event()
+}
+
+type StreamEvent_App struct {
+ App *AppEvent `protobuf:"bytes,1,opt,name=app,proto3,oneof"`
+}
+
+type StreamEvent_Login struct {
+ Login *LoginEvent `protobuf:"bytes,2,opt,name=login,proto3,oneof"`
+}
+
+type StreamEvent_Update struct {
+ Update *UpdateEvent `protobuf:"bytes,3,opt,name=update,proto3,oneof"`
+}
+
+type StreamEvent_Cache struct {
+ Cache *CacheEvent `protobuf:"bytes,4,opt,name=cache,proto3,oneof"`
+}
+
+type StreamEvent_MailSettings struct {
+ MailSettings *MailSettingsEvent `protobuf:"bytes,5,opt,name=mailSettings,proto3,oneof"`
+}
+
+type StreamEvent_Keychain struct {
+ Keychain *KeychainEvent `protobuf:"bytes,6,opt,name=keychain,proto3,oneof"`
+}
+
+type StreamEvent_Mail struct {
+ Mail *MailEvent `protobuf:"bytes,7,opt,name=mail,proto3,oneof"`
+}
+
+type StreamEvent_User struct {
+ User *UserEvent `protobuf:"bytes,8,opt,name=user,proto3,oneof"`
+}
+
+func (*StreamEvent_App) isStreamEvent_Event() {}
+
+func (*StreamEvent_Login) isStreamEvent_Event() {}
+
+func (*StreamEvent_Update) isStreamEvent_Event() {}
+
+func (*StreamEvent_Cache) isStreamEvent_Event() {}
+
+func (*StreamEvent_MailSettings) isStreamEvent_Event() {}
+
+func (*StreamEvent_Keychain) isStreamEvent_Event() {}
+
+func (*StreamEvent_Mail) isStreamEvent_Event() {}
+
+func (*StreamEvent_User) isStreamEvent_Event() {}
+
+//**********************************************************
+// App related events
+//**********************************************************
+type AppEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Event:
+ // *AppEvent_InternetStatus
+ // *AppEvent_AutostartFinished
+ // *AppEvent_ResetFinished
+ // *AppEvent_ReportBugFinished
+ // *AppEvent_ReportBugSuccess
+ // *AppEvent_ReportBugError
+ // *AppEvent_ShowMainWindow
+ Event isAppEvent_Event `protobuf_oneof:"event"`
+}
+
+func (x *AppEvent) Reset() {
+ *x = AppEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[12]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AppEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AppEvent) ProtoMessage() {}
+
+func (x *AppEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[12]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AppEvent.ProtoReflect.Descriptor instead.
+func (*AppEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{12}
+}
+
+func (m *AppEvent) GetEvent() isAppEvent_Event {
+ if m != nil {
+ return m.Event
+ }
+ return nil
+}
+
+func (x *AppEvent) GetInternetStatus() *InternetStatusEvent {
+ if x, ok := x.GetEvent().(*AppEvent_InternetStatus); ok {
+ return x.InternetStatus
+ }
+ return nil
+}
+
+func (x *AppEvent) GetAutostartFinished() *AutostartFinishedEvent {
+ if x, ok := x.GetEvent().(*AppEvent_AutostartFinished); ok {
+ return x.AutostartFinished
+ }
+ return nil
+}
+
+func (x *AppEvent) GetResetFinished() *ResetFinishedEvent {
+ if x, ok := x.GetEvent().(*AppEvent_ResetFinished); ok {
+ return x.ResetFinished
+ }
+ return nil
+}
+
+func (x *AppEvent) GetReportBugFinished() *ReportBugFinishedEvent {
+ if x, ok := x.GetEvent().(*AppEvent_ReportBugFinished); ok {
+ return x.ReportBugFinished
+ }
+ return nil
+}
+
+func (x *AppEvent) GetReportBugSuccess() *ReportBugSuccessEvent {
+ if x, ok := x.GetEvent().(*AppEvent_ReportBugSuccess); ok {
+ return x.ReportBugSuccess
+ }
+ return nil
+}
+
+func (x *AppEvent) GetReportBugError() *ReportBugErrorEvent {
+ if x, ok := x.GetEvent().(*AppEvent_ReportBugError); ok {
+ return x.ReportBugError
+ }
+ return nil
+}
+
+func (x *AppEvent) GetShowMainWindow() *ShowMainWindowEvent {
+ if x, ok := x.GetEvent().(*AppEvent_ShowMainWindow); ok {
+ return x.ShowMainWindow
+ }
+ return nil
+}
+
+type isAppEvent_Event interface {
+ isAppEvent_Event()
+}
+
+type AppEvent_InternetStatus struct {
+ InternetStatus *InternetStatusEvent `protobuf:"bytes,1,opt,name=internetStatus,proto3,oneof"`
+}
+
+type AppEvent_AutostartFinished struct {
+ AutostartFinished *AutostartFinishedEvent `protobuf:"bytes,2,opt,name=autostartFinished,proto3,oneof"`
+}
+
+type AppEvent_ResetFinished struct {
+ ResetFinished *ResetFinishedEvent `protobuf:"bytes,3,opt,name=resetFinished,proto3,oneof"`
+}
+
+type AppEvent_ReportBugFinished struct {
+ ReportBugFinished *ReportBugFinishedEvent `protobuf:"bytes,4,opt,name=reportBugFinished,proto3,oneof"`
+}
+
+type AppEvent_ReportBugSuccess struct {
+ ReportBugSuccess *ReportBugSuccessEvent `protobuf:"bytes,5,opt,name=reportBugSuccess,proto3,oneof"`
+}
+
+type AppEvent_ReportBugError struct {
+ ReportBugError *ReportBugErrorEvent `protobuf:"bytes,6,opt,name=reportBugError,proto3,oneof"`
+}
+
+type AppEvent_ShowMainWindow struct {
+ ShowMainWindow *ShowMainWindowEvent `protobuf:"bytes,7,opt,name=showMainWindow,proto3,oneof"`
+}
+
+func (*AppEvent_InternetStatus) isAppEvent_Event() {}
+
+func (*AppEvent_AutostartFinished) isAppEvent_Event() {}
+
+func (*AppEvent_ResetFinished) isAppEvent_Event() {}
+
+func (*AppEvent_ReportBugFinished) isAppEvent_Event() {}
+
+func (*AppEvent_ReportBugSuccess) isAppEvent_Event() {}
+
+func (*AppEvent_ReportBugError) isAppEvent_Event() {}
+
+func (*AppEvent_ShowMainWindow) isAppEvent_Event() {}
+
+type InternetStatusEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Connected bool `protobuf:"varint,1,opt,name=connected,proto3" json:"connected,omitempty"`
+}
+
+func (x *InternetStatusEvent) Reset() {
+ *x = InternetStatusEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[13]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *InternetStatusEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*InternetStatusEvent) ProtoMessage() {}
+
+func (x *InternetStatusEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[13]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use InternetStatusEvent.ProtoReflect.Descriptor instead.
+func (*InternetStatusEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{13}
+}
+
+func (x *InternetStatusEvent) GetConnected() bool {
+ if x != nil {
+ return x.Connected
+ }
+ return false
+}
+
+type AutostartFinishedEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *AutostartFinishedEvent) Reset() {
+ *x = AutostartFinishedEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[14]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AutostartFinishedEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AutostartFinishedEvent) ProtoMessage() {}
+
+func (x *AutostartFinishedEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[14]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AutostartFinishedEvent.ProtoReflect.Descriptor instead.
+func (*AutostartFinishedEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{14}
+}
+
+type ResetFinishedEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ResetFinishedEvent) Reset() {
+ *x = ResetFinishedEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[15]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ResetFinishedEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ResetFinishedEvent) ProtoMessage() {}
+
+func (x *ResetFinishedEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[15]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ResetFinishedEvent.ProtoReflect.Descriptor instead.
+func (*ResetFinishedEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{15}
+}
+
+type ReportBugFinishedEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ReportBugFinishedEvent) Reset() {
+ *x = ReportBugFinishedEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[16]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReportBugFinishedEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReportBugFinishedEvent) ProtoMessage() {}
+
+func (x *ReportBugFinishedEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[16]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReportBugFinishedEvent.ProtoReflect.Descriptor instead.
+func (*ReportBugFinishedEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{16}
+}
+
+type ReportBugSuccessEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ReportBugSuccessEvent) Reset() {
+ *x = ReportBugSuccessEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[17]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReportBugSuccessEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReportBugSuccessEvent) ProtoMessage() {}
+
+func (x *ReportBugSuccessEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[17]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReportBugSuccessEvent.ProtoReflect.Descriptor instead.
+func (*ReportBugSuccessEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{17}
+}
+
+type ReportBugErrorEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ReportBugErrorEvent) Reset() {
+ *x = ReportBugErrorEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[18]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ReportBugErrorEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ReportBugErrorEvent) ProtoMessage() {}
+
+func (x *ReportBugErrorEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[18]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ReportBugErrorEvent.ProtoReflect.Descriptor instead.
+func (*ReportBugErrorEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{18}
+}
+
+type ShowMainWindowEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ShowMainWindowEvent) Reset() {
+ *x = ShowMainWindowEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[19]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ShowMainWindowEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ShowMainWindowEvent) ProtoMessage() {}
+
+func (x *ShowMainWindowEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[19]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ShowMainWindowEvent.ProtoReflect.Descriptor instead.
+func (*ShowMainWindowEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{19}
+}
+
+//**********************************************************
+// Login related events
+//**********************************************************
+type LoginEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Event:
+ // *LoginEvent_Error
+ // *LoginEvent_TfaRequested
+ // *LoginEvent_TwoPasswordRequested
+ // *LoginEvent_Finished
+ Event isLoginEvent_Event `protobuf_oneof:"event"`
+}
+
+func (x *LoginEvent) Reset() {
+ *x = LoginEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[20]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LoginEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LoginEvent) ProtoMessage() {}
+
+func (x *LoginEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[20]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LoginEvent.ProtoReflect.Descriptor instead.
+func (*LoginEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{20}
+}
+
+func (m *LoginEvent) GetEvent() isLoginEvent_Event {
+ if m != nil {
+ return m.Event
+ }
+ return nil
+}
+
+func (x *LoginEvent) GetError() *LoginErrorEvent {
+ if x, ok := x.GetEvent().(*LoginEvent_Error); ok {
+ return x.Error
+ }
+ return nil
+}
+
+func (x *LoginEvent) GetTfaRequested() *LoginTfaRequestedEvent {
+ if x, ok := x.GetEvent().(*LoginEvent_TfaRequested); ok {
+ return x.TfaRequested
+ }
+ return nil
+}
+
+func (x *LoginEvent) GetTwoPasswordRequested() *LoginTwoPasswordsRequestedEvent {
+ if x, ok := x.GetEvent().(*LoginEvent_TwoPasswordRequested); ok {
+ return x.TwoPasswordRequested
+ }
+ return nil
+}
+
+func (x *LoginEvent) GetFinished() *LoginFinishedEvent {
+ if x, ok := x.GetEvent().(*LoginEvent_Finished); ok {
+ return x.Finished
+ }
+ return nil
+}
+
+type isLoginEvent_Event interface {
+ isLoginEvent_Event()
+}
+
+type LoginEvent_Error struct {
+ Error *LoginErrorEvent `protobuf:"bytes,1,opt,name=error,proto3,oneof"`
+}
+
+type LoginEvent_TfaRequested struct {
+ TfaRequested *LoginTfaRequestedEvent `protobuf:"bytes,2,opt,name=tfaRequested,proto3,oneof"`
+}
+
+type LoginEvent_TwoPasswordRequested struct {
+ TwoPasswordRequested *LoginTwoPasswordsRequestedEvent `protobuf:"bytes,3,opt,name=twoPasswordRequested,proto3,oneof"`
+}
+
+type LoginEvent_Finished struct {
+ Finished *LoginFinishedEvent `protobuf:"bytes,4,opt,name=finished,proto3,oneof"`
+}
+
+func (*LoginEvent_Error) isLoginEvent_Event() {}
+
+func (*LoginEvent_TfaRequested) isLoginEvent_Event() {}
+
+func (*LoginEvent_TwoPasswordRequested) isLoginEvent_Event() {}
+
+func (*LoginEvent_Finished) isLoginEvent_Event() {}
+
+type LoginErrorEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Type LoginErrorType `protobuf:"varint,1,opt,name=type,proto3,enum=bridgerpc.LoginErrorType" json:"type,omitempty"`
+ Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
+}
+
+func (x *LoginErrorEvent) Reset() {
+ *x = LoginErrorEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[21]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LoginErrorEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LoginErrorEvent) ProtoMessage() {}
+
+func (x *LoginErrorEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[21]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LoginErrorEvent.ProtoReflect.Descriptor instead.
+func (*LoginErrorEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{21}
+}
+
+func (x *LoginErrorEvent) GetType() LoginErrorType {
+ if x != nil {
+ return x.Type
+ }
+ return LoginErrorType_USERNAME_PASSWORD_ERROR
+}
+
+func (x *LoginErrorEvent) GetMessage() string {
+ if x != nil {
+ return x.Message
+ }
+ return ""
+}
+
+type LoginTfaRequestedEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
+}
+
+func (x *LoginTfaRequestedEvent) Reset() {
+ *x = LoginTfaRequestedEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[22]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LoginTfaRequestedEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LoginTfaRequestedEvent) ProtoMessage() {}
+
+func (x *LoginTfaRequestedEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[22]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LoginTfaRequestedEvent.ProtoReflect.Descriptor instead.
+func (*LoginTfaRequestedEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{22}
+}
+
+func (x *LoginTfaRequestedEvent) GetUsername() string {
+ if x != nil {
+ return x.Username
+ }
+ return ""
+}
+
+type LoginTwoPasswordsRequestedEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *LoginTwoPasswordsRequestedEvent) Reset() {
+ *x = LoginTwoPasswordsRequestedEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[23]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LoginTwoPasswordsRequestedEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LoginTwoPasswordsRequestedEvent) ProtoMessage() {}
+
+func (x *LoginTwoPasswordsRequestedEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[23]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LoginTwoPasswordsRequestedEvent.ProtoReflect.Descriptor instead.
+func (*LoginTwoPasswordsRequestedEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{23}
+}
+
+type LoginFinishedEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ WasAlreadyLoggedIn bool `protobuf:"varint,1,opt,name=wasAlreadyLoggedIn,proto3" json:"wasAlreadyLoggedIn,omitempty"`
+}
+
+func (x *LoginFinishedEvent) Reset() {
+ *x = LoginFinishedEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[24]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *LoginFinishedEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*LoginFinishedEvent) ProtoMessage() {}
+
+func (x *LoginFinishedEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[24]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use LoginFinishedEvent.ProtoReflect.Descriptor instead.
+func (*LoginFinishedEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{24}
+}
+
+func (x *LoginFinishedEvent) GetWasAlreadyLoggedIn() bool {
+ if x != nil {
+ return x.WasAlreadyLoggedIn
+ }
+ return false
+}
+
+//**********************************************************
+// Update related events
+//**********************************************************
+type UpdateEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Event:
+ // *UpdateEvent_Error
+ // *UpdateEvent_ManualReady
+ // *UpdateEvent_ManualRestartNeeded
+ // *UpdateEvent_Force
+ // *UpdateEvent_SilentRestartNeeded
+ // *UpdateEvent_IsLatestVersion
+ // *UpdateEvent_CheckFinished
+ Event isUpdateEvent_Event `protobuf_oneof:"event"`
+}
+
+func (x *UpdateEvent) Reset() {
+ *x = UpdateEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[25]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdateEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateEvent) ProtoMessage() {}
+
+func (x *UpdateEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[25]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateEvent.ProtoReflect.Descriptor instead.
+func (*UpdateEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{25}
+}
+
+func (m *UpdateEvent) GetEvent() isUpdateEvent_Event {
+ if m != nil {
+ return m.Event
+ }
+ return nil
+}
+
+func (x *UpdateEvent) GetError() *UpdateErrorEvent {
+ if x, ok := x.GetEvent().(*UpdateEvent_Error); ok {
+ return x.Error
+ }
+ return nil
+}
+
+func (x *UpdateEvent) GetManualReady() *UpdateManualReadyEvent {
+ if x, ok := x.GetEvent().(*UpdateEvent_ManualReady); ok {
+ return x.ManualReady
+ }
+ return nil
+}
+
+func (x *UpdateEvent) GetManualRestartNeeded() *UpdateManualRestartNeededEvent {
+ if x, ok := x.GetEvent().(*UpdateEvent_ManualRestartNeeded); ok {
+ return x.ManualRestartNeeded
+ }
+ return nil
+}
+
+func (x *UpdateEvent) GetForce() *UpdateForceEvent {
+ if x, ok := x.GetEvent().(*UpdateEvent_Force); ok {
+ return x.Force
+ }
+ return nil
+}
+
+func (x *UpdateEvent) GetSilentRestartNeeded() *UpdateSilentRestartNeeded {
+ if x, ok := x.GetEvent().(*UpdateEvent_SilentRestartNeeded); ok {
+ return x.SilentRestartNeeded
+ }
+ return nil
+}
+
+func (x *UpdateEvent) GetIsLatestVersion() *UpdateIsLatestVersion {
+ if x, ok := x.GetEvent().(*UpdateEvent_IsLatestVersion); ok {
+ return x.IsLatestVersion
+ }
+ return nil
+}
+
+func (x *UpdateEvent) GetCheckFinished() *UpdateCheckFinished {
+ if x, ok := x.GetEvent().(*UpdateEvent_CheckFinished); ok {
+ return x.CheckFinished
+ }
+ return nil
+}
+
+type isUpdateEvent_Event interface {
+ isUpdateEvent_Event()
+}
+
+type UpdateEvent_Error struct {
+ Error *UpdateErrorEvent `protobuf:"bytes,1,opt,name=error,proto3,oneof"`
+}
+
+type UpdateEvent_ManualReady struct {
+ ManualReady *UpdateManualReadyEvent `protobuf:"bytes,2,opt,name=manualReady,proto3,oneof"`
+}
+
+type UpdateEvent_ManualRestartNeeded struct {
+ ManualRestartNeeded *UpdateManualRestartNeededEvent `protobuf:"bytes,3,opt,name=manualRestartNeeded,proto3,oneof"`
+}
+
+type UpdateEvent_Force struct {
+ Force *UpdateForceEvent `protobuf:"bytes,4,opt,name=force,proto3,oneof"`
+}
+
+type UpdateEvent_SilentRestartNeeded struct {
+ SilentRestartNeeded *UpdateSilentRestartNeeded `protobuf:"bytes,5,opt,name=silentRestartNeeded,proto3,oneof"`
+}
+
+type UpdateEvent_IsLatestVersion struct {
+ IsLatestVersion *UpdateIsLatestVersion `protobuf:"bytes,6,opt,name=isLatestVersion,proto3,oneof"`
+}
+
+type UpdateEvent_CheckFinished struct {
+ CheckFinished *UpdateCheckFinished `protobuf:"bytes,7,opt,name=checkFinished,proto3,oneof"`
+}
+
+func (*UpdateEvent_Error) isUpdateEvent_Event() {}
+
+func (*UpdateEvent_ManualReady) isUpdateEvent_Event() {}
+
+func (*UpdateEvent_ManualRestartNeeded) isUpdateEvent_Event() {}
+
+func (*UpdateEvent_Force) isUpdateEvent_Event() {}
+
+func (*UpdateEvent_SilentRestartNeeded) isUpdateEvent_Event() {}
+
+func (*UpdateEvent_IsLatestVersion) isUpdateEvent_Event() {}
+
+func (*UpdateEvent_CheckFinished) isUpdateEvent_Event() {}
+
+type UpdateErrorEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Type UpdateErrorType `protobuf:"varint,1,opt,name=type,proto3,enum=bridgerpc.UpdateErrorType" json:"type,omitempty"`
+}
+
+func (x *UpdateErrorEvent) Reset() {
+ *x = UpdateErrorEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[26]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdateErrorEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateErrorEvent) ProtoMessage() {}
+
+func (x *UpdateErrorEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[26]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateErrorEvent.ProtoReflect.Descriptor instead.
+func (*UpdateErrorEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{26}
+}
+
+func (x *UpdateErrorEvent) GetType() UpdateErrorType {
+ if x != nil {
+ return x.Type
+ }
+ return UpdateErrorType_UPDATE_MANUAL_ERROR
+}
+
+type UpdateManualReadyEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
+}
+
+func (x *UpdateManualReadyEvent) Reset() {
+ *x = UpdateManualReadyEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[27]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdateManualReadyEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateManualReadyEvent) ProtoMessage() {}
+
+func (x *UpdateManualReadyEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[27]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateManualReadyEvent.ProtoReflect.Descriptor instead.
+func (*UpdateManualReadyEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{27}
+}
+
+func (x *UpdateManualReadyEvent) GetVersion() string {
+ if x != nil {
+ return x.Version
+ }
+ return ""
+}
+
+type UpdateManualRestartNeededEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *UpdateManualRestartNeededEvent) Reset() {
+ *x = UpdateManualRestartNeededEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[28]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdateManualRestartNeededEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateManualRestartNeededEvent) ProtoMessage() {}
+
+func (x *UpdateManualRestartNeededEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[28]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateManualRestartNeededEvent.ProtoReflect.Descriptor instead.
+func (*UpdateManualRestartNeededEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{28}
+}
+
+type UpdateForceEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
+}
+
+func (x *UpdateForceEvent) Reset() {
+ *x = UpdateForceEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[29]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdateForceEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateForceEvent) ProtoMessage() {}
+
+func (x *UpdateForceEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[29]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateForceEvent.ProtoReflect.Descriptor instead.
+func (*UpdateForceEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{29}
+}
+
+func (x *UpdateForceEvent) GetVersion() string {
+ if x != nil {
+ return x.Version
+ }
+ return ""
+}
+
+type UpdateSilentRestartNeeded struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *UpdateSilentRestartNeeded) Reset() {
+ *x = UpdateSilentRestartNeeded{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[30]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdateSilentRestartNeeded) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateSilentRestartNeeded) ProtoMessage() {}
+
+func (x *UpdateSilentRestartNeeded) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[30]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateSilentRestartNeeded.ProtoReflect.Descriptor instead.
+func (*UpdateSilentRestartNeeded) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{30}
+}
+
+type UpdateIsLatestVersion struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *UpdateIsLatestVersion) Reset() {
+ *x = UpdateIsLatestVersion{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[31]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdateIsLatestVersion) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateIsLatestVersion) ProtoMessage() {}
+
+func (x *UpdateIsLatestVersion) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[31]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateIsLatestVersion.ProtoReflect.Descriptor instead.
+func (*UpdateIsLatestVersion) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{31}
+}
+
+type UpdateCheckFinished struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *UpdateCheckFinished) Reset() {
+ *x = UpdateCheckFinished{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[32]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UpdateCheckFinished) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UpdateCheckFinished) ProtoMessage() {}
+
+func (x *UpdateCheckFinished) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[32]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UpdateCheckFinished.ProtoReflect.Descriptor instead.
+func (*UpdateCheckFinished) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{32}
+}
+
+//**********************************************************
+// Cache on disk related events
+//**********************************************************
+type CacheEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Event:
+ // *CacheEvent_Error
+ // *CacheEvent_LocationChangedSuccess
+ // *CacheEvent_ChangeLocalCacheFinished
+ Event isCacheEvent_Event `protobuf_oneof:"event"`
+}
+
+func (x *CacheEvent) Reset() {
+ *x = CacheEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[33]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CacheEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CacheEvent) ProtoMessage() {}
+
+func (x *CacheEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[33]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CacheEvent.ProtoReflect.Descriptor instead.
+func (*CacheEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{33}
+}
+
+func (m *CacheEvent) GetEvent() isCacheEvent_Event {
+ if m != nil {
+ return m.Event
+ }
+ return nil
+}
+
+func (x *CacheEvent) GetError() *CacheErrorEvent {
+ if x, ok := x.GetEvent().(*CacheEvent_Error); ok {
+ return x.Error
+ }
+ return nil
+}
+
+func (x *CacheEvent) GetLocationChangedSuccess() *CacheLocationChangeSuccessEvent {
+ if x, ok := x.GetEvent().(*CacheEvent_LocationChangedSuccess); ok {
+ return x.LocationChangedSuccess
+ }
+ return nil
+}
+
+func (x *CacheEvent) GetChangeLocalCacheFinished() *ChangeLocalCacheFinishedEvent {
+ if x, ok := x.GetEvent().(*CacheEvent_ChangeLocalCacheFinished); ok {
+ return x.ChangeLocalCacheFinished
+ }
+ return nil
+}
+
+type isCacheEvent_Event interface {
+ isCacheEvent_Event()
+}
+
+type CacheEvent_Error struct {
+ Error *CacheErrorEvent `protobuf:"bytes,1,opt,name=error,proto3,oneof"`
+}
+
+type CacheEvent_LocationChangedSuccess struct {
+ LocationChangedSuccess *CacheLocationChangeSuccessEvent `protobuf:"bytes,2,opt,name=locationChangedSuccess,proto3,oneof"`
+}
+
+type CacheEvent_ChangeLocalCacheFinished struct {
+ ChangeLocalCacheFinished *ChangeLocalCacheFinishedEvent `protobuf:"bytes,3,opt,name=changeLocalCacheFinished,proto3,oneof"`
+}
+
+func (*CacheEvent_Error) isCacheEvent_Event() {}
+
+func (*CacheEvent_LocationChangedSuccess) isCacheEvent_Event() {}
+
+func (*CacheEvent_ChangeLocalCacheFinished) isCacheEvent_Event() {}
+
+type CacheErrorEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Type CacheErrorType `protobuf:"varint,1,opt,name=type,proto3,enum=bridgerpc.CacheErrorType" json:"type,omitempty"`
+}
+
+func (x *CacheErrorEvent) Reset() {
+ *x = CacheErrorEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[34]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CacheErrorEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CacheErrorEvent) ProtoMessage() {}
+
+func (x *CacheErrorEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[34]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CacheErrorEvent.ProtoReflect.Descriptor instead.
+func (*CacheErrorEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{34}
+}
+
+func (x *CacheErrorEvent) GetType() CacheErrorType {
+ if x != nil {
+ return x.Type
+ }
+ return CacheErrorType_CACHE_UNAVAILABLE_ERROR
+}
+
+type CacheLocationChangeSuccessEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *CacheLocationChangeSuccessEvent) Reset() {
+ *x = CacheLocationChangeSuccessEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[35]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CacheLocationChangeSuccessEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CacheLocationChangeSuccessEvent) ProtoMessage() {}
+
+func (x *CacheLocationChangeSuccessEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[35]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CacheLocationChangeSuccessEvent.ProtoReflect.Descriptor instead.
+func (*CacheLocationChangeSuccessEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{35}
+}
+
+type ChangeLocalCacheFinishedEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ChangeLocalCacheFinishedEvent) Reset() {
+ *x = ChangeLocalCacheFinishedEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[36]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChangeLocalCacheFinishedEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChangeLocalCacheFinishedEvent) ProtoMessage() {}
+
+func (x *ChangeLocalCacheFinishedEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[36]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChangeLocalCacheFinishedEvent.ProtoReflect.Descriptor instead.
+func (*ChangeLocalCacheFinishedEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{36}
+}
+
+//**********************************************************
+// Mail settings related events
+//**********************************************************
+type MailSettingsEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Event:
+ // *MailSettingsEvent_Error
+ // *MailSettingsEvent_UseSslForSmtpFinished
+ // *MailSettingsEvent_ChangePortsFinished
+ Event isMailSettingsEvent_Event `protobuf_oneof:"event"`
+}
+
+func (x *MailSettingsEvent) Reset() {
+ *x = MailSettingsEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[37]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MailSettingsEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MailSettingsEvent) ProtoMessage() {}
+
+func (x *MailSettingsEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[37]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MailSettingsEvent.ProtoReflect.Descriptor instead.
+func (*MailSettingsEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{37}
+}
+
+func (m *MailSettingsEvent) GetEvent() isMailSettingsEvent_Event {
+ if m != nil {
+ return m.Event
+ }
+ return nil
+}
+
+func (x *MailSettingsEvent) GetError() *MailSettingsErrorEvent {
+ if x, ok := x.GetEvent().(*MailSettingsEvent_Error); ok {
+ return x.Error
+ }
+ return nil
+}
+
+func (x *MailSettingsEvent) GetUseSslForSmtpFinished() *UseSslForSmtpFinishedEvent {
+ if x, ok := x.GetEvent().(*MailSettingsEvent_UseSslForSmtpFinished); ok {
+ return x.UseSslForSmtpFinished
+ }
+ return nil
+}
+
+func (x *MailSettingsEvent) GetChangePortsFinished() *ChangePortsFinishedEvent {
+ if x, ok := x.GetEvent().(*MailSettingsEvent_ChangePortsFinished); ok {
+ return x.ChangePortsFinished
+ }
+ return nil
+}
+
+type isMailSettingsEvent_Event interface {
+ isMailSettingsEvent_Event()
+}
+
+type MailSettingsEvent_Error struct {
+ Error *MailSettingsErrorEvent `protobuf:"bytes,1,opt,name=error,proto3,oneof"`
+}
+
+type MailSettingsEvent_UseSslForSmtpFinished struct {
+ UseSslForSmtpFinished *UseSslForSmtpFinishedEvent `protobuf:"bytes,2,opt,name=useSslForSmtpFinished,proto3,oneof"`
+}
+
+type MailSettingsEvent_ChangePortsFinished struct {
+ ChangePortsFinished *ChangePortsFinishedEvent `protobuf:"bytes,3,opt,name=changePortsFinished,proto3,oneof"`
+}
+
+func (*MailSettingsEvent_Error) isMailSettingsEvent_Event() {}
+
+func (*MailSettingsEvent_UseSslForSmtpFinished) isMailSettingsEvent_Event() {}
+
+func (*MailSettingsEvent_ChangePortsFinished) isMailSettingsEvent_Event() {}
+
+type MailSettingsErrorEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Type MailSettingsErrorType `protobuf:"varint,1,opt,name=type,proto3,enum=bridgerpc.MailSettingsErrorType" json:"type,omitempty"`
+}
+
+func (x *MailSettingsErrorEvent) Reset() {
+ *x = MailSettingsErrorEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[38]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MailSettingsErrorEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MailSettingsErrorEvent) ProtoMessage() {}
+
+func (x *MailSettingsErrorEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[38]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MailSettingsErrorEvent.ProtoReflect.Descriptor instead.
+func (*MailSettingsErrorEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{38}
+}
+
+func (x *MailSettingsErrorEvent) GetType() MailSettingsErrorType {
+ if x != nil {
+ return x.Type
+ }
+ return MailSettingsErrorType_IMAP_PORT_ISSUE
+}
+
+type UseSslForSmtpFinishedEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *UseSslForSmtpFinishedEvent) Reset() {
+ *x = UseSslForSmtpFinishedEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[39]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UseSslForSmtpFinishedEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UseSslForSmtpFinishedEvent) ProtoMessage() {}
+
+func (x *UseSslForSmtpFinishedEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[39]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UseSslForSmtpFinishedEvent.ProtoReflect.Descriptor instead.
+func (*UseSslForSmtpFinishedEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{39}
+}
+
+type ChangePortsFinishedEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ChangePortsFinishedEvent) Reset() {
+ *x = ChangePortsFinishedEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[40]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChangePortsFinishedEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChangePortsFinishedEvent) ProtoMessage() {}
+
+func (x *ChangePortsFinishedEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[40]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChangePortsFinishedEvent.ProtoReflect.Descriptor instead.
+func (*ChangePortsFinishedEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{40}
+}
+
+//**********************************************************
+// keychain related events
+//**********************************************************
+type KeychainEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Event:
+ // *KeychainEvent_ChangeKeychainFinished
+ // *KeychainEvent_HasNoKeychain
+ // *KeychainEvent_RebuildKeychain
+ Event isKeychainEvent_Event `protobuf_oneof:"event"`
+}
+
+func (x *KeychainEvent) Reset() {
+ *x = KeychainEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[41]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *KeychainEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*KeychainEvent) ProtoMessage() {}
+
+func (x *KeychainEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[41]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use KeychainEvent.ProtoReflect.Descriptor instead.
+func (*KeychainEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{41}
+}
+
+func (m *KeychainEvent) GetEvent() isKeychainEvent_Event {
+ if m != nil {
+ return m.Event
+ }
+ return nil
+}
+
+func (x *KeychainEvent) GetChangeKeychainFinished() *ChangeKeychainFinishedEvent {
+ if x, ok := x.GetEvent().(*KeychainEvent_ChangeKeychainFinished); ok {
+ return x.ChangeKeychainFinished
+ }
+ return nil
+}
+
+func (x *KeychainEvent) GetHasNoKeychain() *HasNoKeychainEvent {
+ if x, ok := x.GetEvent().(*KeychainEvent_HasNoKeychain); ok {
+ return x.HasNoKeychain
+ }
+ return nil
+}
+
+func (x *KeychainEvent) GetRebuildKeychain() *RebuildKeychainEvent {
+ if x, ok := x.GetEvent().(*KeychainEvent_RebuildKeychain); ok {
+ return x.RebuildKeychain
+ }
+ return nil
+}
+
+type isKeychainEvent_Event interface {
+ isKeychainEvent_Event()
+}
+
+type KeychainEvent_ChangeKeychainFinished struct {
+ ChangeKeychainFinished *ChangeKeychainFinishedEvent `protobuf:"bytes,1,opt,name=changeKeychainFinished,proto3,oneof"`
+}
+
+type KeychainEvent_HasNoKeychain struct {
+ HasNoKeychain *HasNoKeychainEvent `protobuf:"bytes,2,opt,name=hasNoKeychain,proto3,oneof"`
+}
+
+type KeychainEvent_RebuildKeychain struct {
+ RebuildKeychain *RebuildKeychainEvent `protobuf:"bytes,3,opt,name=rebuildKeychain,proto3,oneof"`
+}
+
+func (*KeychainEvent_ChangeKeychainFinished) isKeychainEvent_Event() {}
+
+func (*KeychainEvent_HasNoKeychain) isKeychainEvent_Event() {}
+
+func (*KeychainEvent_RebuildKeychain) isKeychainEvent_Event() {}
+
+type ChangeKeychainFinishedEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ChangeKeychainFinishedEvent) Reset() {
+ *x = ChangeKeychainFinishedEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[42]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChangeKeychainFinishedEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChangeKeychainFinishedEvent) ProtoMessage() {}
+
+func (x *ChangeKeychainFinishedEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[42]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChangeKeychainFinishedEvent.ProtoReflect.Descriptor instead.
+func (*ChangeKeychainFinishedEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{42}
+}
+
+type HasNoKeychainEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *HasNoKeychainEvent) Reset() {
+ *x = HasNoKeychainEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[43]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HasNoKeychainEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HasNoKeychainEvent) ProtoMessage() {}
+
+func (x *HasNoKeychainEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[43]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HasNoKeychainEvent.ProtoReflect.Descriptor instead.
+func (*HasNoKeychainEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{43}
+}
+
+type RebuildKeychainEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *RebuildKeychainEvent) Reset() {
+ *x = RebuildKeychainEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[44]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RebuildKeychainEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RebuildKeychainEvent) ProtoMessage() {}
+
+func (x *RebuildKeychainEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[44]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RebuildKeychainEvent.ProtoReflect.Descriptor instead.
+func (*RebuildKeychainEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{44}
+}
+
+//**********************************************************
+// Mail related events
+//**********************************************************
+type MailEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Event:
+ // *MailEvent_NoActiveKeyForRecipientEvent
+ // *MailEvent_AddressChanged
+ // *MailEvent_AddressChangedLogout
+ // *MailEvent_ApiCertIssue
+ Event isMailEvent_Event `protobuf_oneof:"event"`
+}
+
+func (x *MailEvent) Reset() {
+ *x = MailEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[45]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MailEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MailEvent) ProtoMessage() {}
+
+func (x *MailEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[45]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MailEvent.ProtoReflect.Descriptor instead.
+func (*MailEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{45}
+}
+
+func (m *MailEvent) GetEvent() isMailEvent_Event {
+ if m != nil {
+ return m.Event
+ }
+ return nil
+}
+
+func (x *MailEvent) GetNoActiveKeyForRecipientEvent() *NoActiveKeyForRecipientEvent {
+ if x, ok := x.GetEvent().(*MailEvent_NoActiveKeyForRecipientEvent); ok {
+ return x.NoActiveKeyForRecipientEvent
+ }
+ return nil
+}
+
+func (x *MailEvent) GetAddressChanged() *AddressChangedEvent {
+ if x, ok := x.GetEvent().(*MailEvent_AddressChanged); ok {
+ return x.AddressChanged
+ }
+ return nil
+}
+
+func (x *MailEvent) GetAddressChangedLogout() *AddressChangedLogoutEvent {
+ if x, ok := x.GetEvent().(*MailEvent_AddressChangedLogout); ok {
+ return x.AddressChangedLogout
+ }
+ return nil
+}
+
+func (x *MailEvent) GetApiCertIssue() *ApiCertIssueEvent {
+ if x, ok := x.GetEvent().(*MailEvent_ApiCertIssue); ok {
+ return x.ApiCertIssue
+ }
+ return nil
+}
+
+type isMailEvent_Event interface {
+ isMailEvent_Event()
+}
+
+type MailEvent_NoActiveKeyForRecipientEvent struct {
+ NoActiveKeyForRecipientEvent *NoActiveKeyForRecipientEvent `protobuf:"bytes,1,opt,name=noActiveKeyForRecipientEvent,proto3,oneof"`
+}
+
+type MailEvent_AddressChanged struct {
+ AddressChanged *AddressChangedEvent `protobuf:"bytes,2,opt,name=addressChanged,proto3,oneof"`
+}
+
+type MailEvent_AddressChangedLogout struct {
+ AddressChangedLogout *AddressChangedLogoutEvent `protobuf:"bytes,3,opt,name=addressChangedLogout,proto3,oneof"`
+}
+
+type MailEvent_ApiCertIssue struct {
+ ApiCertIssue *ApiCertIssueEvent `protobuf:"bytes,6,opt,name=apiCertIssue,proto3,oneof"`
+}
+
+func (*MailEvent_NoActiveKeyForRecipientEvent) isMailEvent_Event() {}
+
+func (*MailEvent_AddressChanged) isMailEvent_Event() {}
+
+func (*MailEvent_AddressChangedLogout) isMailEvent_Event() {}
+
+func (*MailEvent_ApiCertIssue) isMailEvent_Event() {}
+
+type NoActiveKeyForRecipientEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"`
+}
+
+func (x *NoActiveKeyForRecipientEvent) Reset() {
+ *x = NoActiveKeyForRecipientEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[46]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *NoActiveKeyForRecipientEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*NoActiveKeyForRecipientEvent) ProtoMessage() {}
+
+func (x *NoActiveKeyForRecipientEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[46]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use NoActiveKeyForRecipientEvent.ProtoReflect.Descriptor instead.
+func (*NoActiveKeyForRecipientEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{46}
+}
+
+func (x *NoActiveKeyForRecipientEvent) GetEmail() string {
+ if x != nil {
+ return x.Email
+ }
+ return ""
+}
+
+type AddressChangedEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // TODO: user event ?
+}
+
+func (x *AddressChangedEvent) Reset() {
+ *x = AddressChangedEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[47]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AddressChangedEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AddressChangedEvent) ProtoMessage() {}
+
+func (x *AddressChangedEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[47]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AddressChangedEvent.ProtoReflect.Descriptor instead.
+func (*AddressChangedEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{47}
+}
+
+func (x *AddressChangedEvent) GetAddress() string {
+ if x != nil {
+ return x.Address
+ }
+ return ""
+}
+
+type AddressChangedLogoutEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // TODO: user event ?
+}
+
+func (x *AddressChangedLogoutEvent) Reset() {
+ *x = AddressChangedLogoutEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[48]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AddressChangedLogoutEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AddressChangedLogoutEvent) ProtoMessage() {}
+
+func (x *AddressChangedLogoutEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[48]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AddressChangedLogoutEvent.ProtoReflect.Descriptor instead.
+func (*AddressChangedLogoutEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{48}
+}
+
+func (x *AddressChangedLogoutEvent) GetAddress() string {
+ if x != nil {
+ return x.Address
+ }
+ return ""
+}
+
+type ApiCertIssueEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ApiCertIssueEvent) Reset() {
+ *x = ApiCertIssueEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[49]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ApiCertIssueEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ApiCertIssueEvent) ProtoMessage() {}
+
+func (x *ApiCertIssueEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[49]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ApiCertIssueEvent.ProtoReflect.Descriptor instead.
+func (*ApiCertIssueEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{49}
+}
+
+type UserEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Types that are assignable to Event:
+ // *UserEvent_ToggleSplitModeFinished
+ // *UserEvent_UserDisconnected
+ // *UserEvent_UserChanged
+ Event isUserEvent_Event `protobuf_oneof:"event"`
+}
+
+func (x *UserEvent) Reset() {
+ *x = UserEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[50]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UserEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UserEvent) ProtoMessage() {}
+
+func (x *UserEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[50]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UserEvent.ProtoReflect.Descriptor instead.
+func (*UserEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{50}
+}
+
+func (m *UserEvent) GetEvent() isUserEvent_Event {
+ if m != nil {
+ return m.Event
+ }
+ return nil
+}
+
+func (x *UserEvent) GetToggleSplitModeFinished() *ToggleSplitModeFinishedEvent {
+ if x, ok := x.GetEvent().(*UserEvent_ToggleSplitModeFinished); ok {
+ return x.ToggleSplitModeFinished
+ }
+ return nil
+}
+
+func (x *UserEvent) GetUserDisconnected() *UserDisconnectedEvent {
+ if x, ok := x.GetEvent().(*UserEvent_UserDisconnected); ok {
+ return x.UserDisconnected
+ }
+ return nil
+}
+
+func (x *UserEvent) GetUserChanged() *UserChangedEvent {
+ if x, ok := x.GetEvent().(*UserEvent_UserChanged); ok {
+ return x.UserChanged
+ }
+ return nil
+}
+
+type isUserEvent_Event interface {
+ isUserEvent_Event()
+}
+
+type UserEvent_ToggleSplitModeFinished struct {
+ ToggleSplitModeFinished *ToggleSplitModeFinishedEvent `protobuf:"bytes,1,opt,name=toggleSplitModeFinished,proto3,oneof"`
+}
+
+type UserEvent_UserDisconnected struct {
+ UserDisconnected *UserDisconnectedEvent `protobuf:"bytes,2,opt,name=userDisconnected,proto3,oneof"`
+}
+
+type UserEvent_UserChanged struct {
+ UserChanged *UserChangedEvent `protobuf:"bytes,3,opt,name=userChanged,proto3,oneof"`
+}
+
+func (*UserEvent_ToggleSplitModeFinished) isUserEvent_Event() {}
+
+func (*UserEvent_UserDisconnected) isUserEvent_Event() {}
+
+func (*UserEvent_UserChanged) isUserEvent_Event() {}
+
+type ToggleSplitModeFinishedEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID,omitempty"`
+}
+
+func (x *ToggleSplitModeFinishedEvent) Reset() {
+ *x = ToggleSplitModeFinishedEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[51]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ToggleSplitModeFinishedEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ToggleSplitModeFinishedEvent) ProtoMessage() {}
+
+func (x *ToggleSplitModeFinishedEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[51]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ToggleSplitModeFinishedEvent.ProtoReflect.Descriptor instead.
+func (*ToggleSplitModeFinishedEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{51}
+}
+
+func (x *ToggleSplitModeFinishedEvent) GetUserID() string {
+ if x != nil {
+ return x.UserID
+ }
+ return ""
+}
+
+type UserDisconnectedEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` // TODO: isn't it userID ?
+}
+
+func (x *UserDisconnectedEvent) Reset() {
+ *x = UserDisconnectedEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[52]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UserDisconnectedEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UserDisconnectedEvent) ProtoMessage() {}
+
+func (x *UserDisconnectedEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[52]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UserDisconnectedEvent.ProtoReflect.Descriptor instead.
+func (*UserDisconnectedEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{52}
+}
+
+func (x *UserDisconnectedEvent) GetUsername() string {
+ if x != nil {
+ return x.Username
+ }
+ return ""
+}
+
+type UserChangedEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
+}
+
+func (x *UserChangedEvent) Reset() {
+ *x = UserChangedEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_rpc_proto_msgTypes[53]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UserChangedEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UserChangedEvent) ProtoMessage() {}
+
+func (x *UserChangedEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_rpc_proto_msgTypes[53]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use UserChangedEvent.ProtoReflect.Descriptor instead.
+func (*UserChangedEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_rpc_proto_rawDescGZIP(), []int{53}
+}
+
+func (x *UserChangedEvent) GetUser() *User {
+ if x != nil {
+ return x.User
+ }
+ return nil
+}
+
+var File_bridge_rpc_proto protoreflect.FileDescriptor
+
+var file_bridge_rpc_proto_rawDesc = []byte{
+ 0x0a, 0x10, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x5f, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x12, 0x09, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x1a, 0x1b, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65,
+ 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70,
+ 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2b, 0x0a, 0x0d, 0x50, 0x6f,
+ 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x78,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x79, 0x22, 0x92, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x70, 0x6f,
+ 0x72, 0x74, 0x42, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b,
+ 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18,
+ 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6d, 0x61, 0x69,
+ 0x6c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65,
+ 0x6d, 0x61, 0x69, 0x6c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e,
+ 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0b, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4c, 0x6f, 0x67, 0x73, 0x22, 0x46, 0x0a, 0x0c,
+ 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
+ 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
+ 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73,
+ 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73,
+ 0x77, 0x6f, 0x72, 0x64, 0x22, 0x2f, 0x0a, 0x11, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x62, 0x6f,
+ 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65,
+ 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65,
+ 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x69, 0x0a, 0x17, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c,
+ 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x28, 0x0a, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x43, 0x61,
+ 0x63, 0x68, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c,
+ 0x65, 0x44, 0x69, 0x73, 0x6b, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x69,
+ 0x73, 0x6b, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x6b, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x61, 0x74, 0x68,
+ 0x22, 0x4c, 0x0a, 0x12, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x70, 0x50, 0x6f,
+ 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x70, 0x50, 0x6f,
+ 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x6d, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x6d, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x22, 0x3a,
+ 0x0a, 0x1a, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x63, 0x68,
+ 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09,
+ 0x6b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
+ 0x09, 0x6b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x22, 0xac, 0x02, 0x0a, 0x04, 0x55,
+ 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12,
+ 0x1e, 0x0a, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x54, 0x65, 0x78, 0x74, 0x12,
+ 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x73,
+ 0x70, 0x6c, 0x69, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,
+ 0x73, 0x70, 0x6c, 0x69, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x65, 0x74,
+ 0x75, 0x70, 0x47, 0x75, 0x69, 0x64, 0x65, 0x53, 0x65, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x0e, 0x73, 0x65, 0x74, 0x75, 0x70, 0x47, 0x75, 0x69, 0x64, 0x65, 0x53, 0x65, 0x65,
+ 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x73, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12,
+ 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12,
+ 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61,
+ 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09,
+ 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x46, 0x0a, 0x14, 0x55, 0x73, 0x65,
+ 0x72, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74,
+ 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76,
+ 0x65, 0x22, 0x39, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63,
+ 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x22, 0x4d, 0x0a, 0x19,
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x4d, 0x61,
+ 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65,
+ 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49,
+ 0x44, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xa3, 0x03, 0x0a, 0x0b,
+ 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x03, 0x61,
+ 0x70, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67,
+ 0x65, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x70, 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52,
+ 0x03, 0x61, 0x70, 0x70, 0x12, 0x2d, 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e,
+ 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x6f,
+ 0x67, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x06, 0x75,
+ 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63,
+ 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x05, 0x63,
+ 0x61, 0x63, 0x68, 0x65, 0x12, 0x42, 0x0a, 0x0c, 0x6d, 0x61, 0x69, 0x6c, 0x53, 0x65, 0x74, 0x74,
+ 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x62, 0x72, 0x69,
+ 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x69, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69,
+ 0x6e, 0x67, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x6d, 0x61, 0x69, 0x6c,
+ 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x36, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x63,
+ 0x68, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x72, 0x69,
+ 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x45,
+ 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e,
+ 0x12, 0x2a, 0x0a, 0x04, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14,
+ 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x69, 0x6c, 0x45,
+ 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2a, 0x0a, 0x04,
+ 0x75, 0x73, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x62, 0x72, 0x69,
+ 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74,
+ 0x48, 0x00, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e,
+ 0x74, 0x22, 0xae, 0x04, 0x0a, 0x08, 0x41, 0x70, 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x48,
+ 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72,
+ 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75,
+ 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e,
+ 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x51, 0x0a, 0x11, 0x61, 0x75, 0x74, 0x6f,
+ 0x73, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e,
+ 0x41, 0x75, 0x74, 0x6f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65,
+ 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x11, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x74,
+ 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x45, 0x0a, 0x0d, 0x72,
+ 0x65, 0x73, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52,
+ 0x65, 0x73, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e,
+ 0x74, 0x48, 0x00, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68,
+ 0x65, 0x64, 0x12, 0x51, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x75, 0x67, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e,
+ 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74,
+ 0x42, 0x75, 0x67, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74,
+ 0x48, 0x00, 0x52, 0x11, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x75, 0x67, 0x46, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x4e, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42,
+ 0x75, 0x67, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x20, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6f,
+ 0x72, 0x74, 0x42, 0x75, 0x67, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x45, 0x76, 0x65, 0x6e,
+ 0x74, 0x48, 0x00, 0x52, 0x10, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x75, 0x67, 0x53, 0x75,
+ 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x48, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42,
+ 0x75, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
+ 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74,
+ 0x42, 0x75, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52,
+ 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x75, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12,
+ 0x48, 0x0a, 0x0e, 0x73, 0x68, 0x6f, 0x77, 0x4d, 0x61, 0x69, 0x6e, 0x57, 0x69, 0x6e, 0x64, 0x6f,
+ 0x77, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65,
+ 0x72, 0x70, 0x63, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x61, 0x69, 0x6e, 0x57, 0x69, 0x6e, 0x64,
+ 0x6f, 0x77, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x68, 0x6f, 0x77, 0x4d,
+ 0x61, 0x69, 0x6e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65,
+ 0x6e, 0x74, 0x22, 0x33, 0x0a, 0x13, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x53, 0x74,
+ 0x61, 0x74, 0x75, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e,
+ 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f,
+ 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x18, 0x0a, 0x16, 0x41, 0x75, 0x74, 0x6f, 0x73,
+ 0x74, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e,
+ 0x74, 0x22, 0x14, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x65, 0x74, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68,
+ 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x18, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6f, 0x72,
+ 0x74, 0x42, 0x75, 0x67, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e,
+ 0x74, 0x22, 0x17, 0x0a, 0x15, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x75, 0x67, 0x53, 0x75,
+ 0x63, 0x63, 0x65, 0x73, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x15, 0x0a, 0x13, 0x52, 0x65,
+ 0x70, 0x6f, 0x72, 0x74, 0x42, 0x75, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x45, 0x76, 0x65, 0x6e,
+ 0x74, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x61, 0x69, 0x6e, 0x57, 0x69, 0x6e,
+ 0x64, 0x6f, 0x77, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xb1, 0x02, 0x0a, 0x0a, 0x4c, 0x6f, 0x67,
+ 0x69, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72,
+ 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x45, 0x76, 0x65,
+ 0x6e, 0x74, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x47, 0x0a, 0x0c, 0x74,
+ 0x66, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x21, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f,
+ 0x67, 0x69, 0x6e, 0x54, 0x66, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45,
+ 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x66, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x65, 0x64, 0x12, 0x60, 0x0a, 0x14, 0x74, 0x77, 0x6f, 0x50, 0x61, 0x73, 0x73, 0x77,
+ 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x4c,
+ 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x77, 0x6f, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00,
+ 0x52, 0x14, 0x74, 0x77, 0x6f, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x08, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68,
+ 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67,
+ 0x65, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68,
+ 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x08, 0x66, 0x69, 0x6e, 0x69, 0x73,
+ 0x68, 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x5a, 0x0a, 0x0f,
+ 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12,
+ 0x2d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e,
+ 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x45,
+ 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18,
+ 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x34, 0x0a, 0x16, 0x4c, 0x6f, 0x67, 0x69,
+ 0x6e, 0x54, 0x66, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65,
+ 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x21,
+ 0x0a, 0x1f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x77, 0x6f, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f,
+ 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e,
+ 0x74, 0x22, 0x44, 0x0a, 0x12, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68,
+ 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x77, 0x61, 0x73, 0x41, 0x6c,
+ 0x72, 0x65, 0x61, 0x64, 0x79, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x12, 0x77, 0x61, 0x73, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x4c,
+ 0x6f, 0x67, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x22, 0x96, 0x04, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72,
+ 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x45, 0x76,
+ 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x45, 0x0a, 0x0b,
+ 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x21, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x79, 0x45,
+ 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65,
+ 0x61, 0x64, 0x79, 0x12, 0x5d, 0x0a, 0x13, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x73,
+ 0x74, 0x61, 0x72, 0x74, 0x4e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x29, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x4e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x13, 0x6d,
+ 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x65, 0x65, 0x64,
+ 0x65, 0x64, 0x12, 0x33, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1b, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00,
+ 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x58, 0x0a, 0x13, 0x73, 0x69, 0x6c, 0x65, 0x6e,
+ 0x74, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63,
+ 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73,
+ 0x74, 0x61, 0x72, 0x74, 0x4e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x48, 0x00, 0x52, 0x13, 0x73, 0x69,
+ 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x65, 0x65, 0x64, 0x65,
+ 0x64, 0x12, 0x4c, 0x0a, 0x0f, 0x69, 0x73, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72,
+ 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x62, 0x72, 0x69,
+ 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x73, 0x4c,
+ 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0f,
+ 0x69, 0x73, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
+ 0x46, 0x0a, 0x0d, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64,
+ 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72,
+ 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74,
+ 0x22, 0x42, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x45,
+ 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x55,
+ 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04,
+ 0x74, 0x79, 0x70, 0x65, 0x22, 0x32, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61,
+ 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x18,
+ 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4e,
+ 0x65, 0x65, 0x64, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x2c, 0x0a, 0x10, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x18,
+ 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x1b, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x53, 0x69, 0x6c, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4e,
+ 0x65, 0x65, 0x64, 0x65, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49,
+ 0x73, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x15,
+ 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x65, 0x64, 0x22, 0x97, 0x02, 0x0a, 0x0a, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45,
+ 0x76, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e,
+ 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48,
+ 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x64, 0x0a, 0x16, 0x6c, 0x6f, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x53, 0x75, 0x63, 0x63, 0x65,
+ 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67,
+ 0x65, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x45,
+ 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x16, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x66,
+ 0x0a, 0x18, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x61, 0x63,
+ 0x68, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x28, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x18, 0x63, 0x68,
+ 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22,
+ 0x40, 0x0a, 0x0f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x45, 0x76, 0x65,
+ 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x19, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x63,
+ 0x68, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70,
+ 0x65, 0x22, 0x21, 0x0a, 0x1f, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x45,
+ 0x76, 0x65, 0x6e, 0x74, 0x22, 0x1f, 0x0a, 0x1d, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x6f,
+ 0x63, 0x61, 0x6c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64,
+ 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x8f, 0x02, 0x0a, 0x11, 0x4d, 0x61, 0x69, 0x6c, 0x53, 0x65,
+ 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x05, 0x65,
+ 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x62, 0x72, 0x69,
+ 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x69, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69,
+ 0x6e, 0x67, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52,
+ 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x5d, 0x0a, 0x15, 0x75, 0x73, 0x65, 0x53, 0x73, 0x6c,
+ 0x46, 0x6f, 0x72, 0x53, 0x6d, 0x74, 0x70, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70,
+ 0x63, 0x2e, 0x55, 0x73, 0x65, 0x53, 0x73, 0x6c, 0x46, 0x6f, 0x72, 0x53, 0x6d, 0x74, 0x70, 0x46,
+ 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x15,
+ 0x75, 0x73, 0x65, 0x53, 0x73, 0x6c, 0x46, 0x6f, 0x72, 0x53, 0x6d, 0x74, 0x70, 0x46, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x57, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50,
+ 0x6f, 0x72, 0x74, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x43,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68,
+ 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x13, 0x63, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x42, 0x07,
+ 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x4e, 0x0a, 0x16, 0x4d, 0x61, 0x69, 0x6c, 0x53,
+ 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x45, 0x76, 0x65, 0x6e,
+ 0x74, 0x12, 0x34, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x20, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x69, 0x6c,
+ 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70,
+ 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x55, 0x73, 0x65, 0x53, 0x73,
+ 0x6c, 0x46, 0x6f, 0x72, 0x53, 0x6d, 0x74, 0x70, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64,
+ 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x1a, 0x0a, 0x18, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50,
+ 0x6f, 0x72, 0x74, 0x73, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e,
+ 0x74, 0x22, 0x8e, 0x02, 0x0a, 0x0d, 0x4b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x76,
+ 0x65, 0x6e, 0x74, 0x12, 0x60, 0x0a, 0x16, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4b, 0x65, 0x79,
+ 0x63, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x69,
+ 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x16, 0x63,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x45, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x4e, 0x6f, 0x4b, 0x65,
+ 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62,
+ 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x61, 0x73, 0x4e, 0x6f, 0x4b, 0x65,
+ 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x68,
+ 0x61, 0x73, 0x4e, 0x6f, 0x4b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x4b, 0x0a, 0x0f,
+ 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70,
+ 0x63, 0x2e, 0x52, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69,
+ 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c,
+ 0x64, 0x4b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65,
+ 0x6e, 0x74, 0x22, 0x1d, 0x0a, 0x1b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x63,
+ 0x68, 0x61, 0x69, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e,
+ 0x74, 0x22, 0x14, 0x0a, 0x12, 0x48, 0x61, 0x73, 0x4e, 0x6f, 0x4b, 0x65, 0x79, 0x63, 0x68, 0x61,
+ 0x69, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x16, 0x0a, 0x14, 0x52, 0x65, 0x62, 0x75, 0x69,
+ 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22,
+ 0xed, 0x02, 0x0a, 0x09, 0x4d, 0x61, 0x69, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x6d, 0x0a,
+ 0x1c, 0x6e, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x52,
+ 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e,
+ 0x4e, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x52, 0x65,
+ 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x1c,
+ 0x6e, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x52, 0x65,
+ 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x48, 0x0a, 0x0e,
+ 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63,
+ 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x45,
+ 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x5a, 0x0a, 0x14, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
+ 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63,
+ 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4c,
+ 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x14, 0x61, 0x64,
+ 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4c, 0x6f, 0x67, 0x6f,
+ 0x75, 0x74, 0x12, 0x42, 0x0a, 0x0c, 0x61, 0x70, 0x69, 0x43, 0x65, 0x72, 0x74, 0x49, 0x73, 0x73,
+ 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67,
+ 0x65, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x70, 0x69, 0x43, 0x65, 0x72, 0x74, 0x49, 0x73, 0x73, 0x75,
+ 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x70, 0x69, 0x43, 0x65, 0x72,
+ 0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22,
+ 0x34, 0x0a, 0x1c, 0x4e, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x46, 0x6f,
+ 0x72, 0x52, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12,
+ 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
+ 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x2f, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07,
+ 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61,
+ 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x35, 0x0a, 0x19, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
+ 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x45, 0x76,
+ 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x13, 0x0a,
+ 0x11, 0x41, 0x70, 0x69, 0x43, 0x65, 0x72, 0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x45, 0x76, 0x65,
+ 0x6e, 0x74, 0x22, 0x8a, 0x02, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74,
+ 0x12, 0x63, 0x0a, 0x17, 0x74, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x4d,
+ 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x27, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f,
+ 0x67, 0x67, 0x6c, 0x65, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x17, 0x74, 0x6f,
+ 0x67, 0x67, 0x6c, 0x65, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x4e, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x44, 0x69, 0x73,
+ 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x20, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x73, 0x65, 0x72,
+ 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e,
+ 0x74, 0x48, 0x00, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e,
+ 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x3f, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x62, 0x72, 0x69,
+ 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67,
+ 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x43,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22,
+ 0x36, 0x0a, 0x1c, 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x4d, 0x6f,
+ 0x64, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12,
+ 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x22, 0x33, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72, 0x44,
+ 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74,
+ 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x37, 0x0a, 0x10,
+ 0x55, 0x73, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74,
+ 0x12, 0x23, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
+ 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52,
+ 0x04, 0x75, 0x73, 0x65, 0x72, 0x2a, 0xa2, 0x01, 0x0a, 0x0e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x45,
+ 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x53, 0x45, 0x52,
+ 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x57, 0x4f, 0x52, 0x44, 0x5f, 0x45, 0x52,
+ 0x52, 0x4f, 0x52, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x52, 0x45, 0x45, 0x5f, 0x55, 0x53,
+ 0x45, 0x52, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49,
+ 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x46,
+ 0x41, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x46, 0x41,
+ 0x5f, 0x41, 0x42, 0x4f, 0x52, 0x54, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x57, 0x4f, 0x5f,
+ 0x50, 0x41, 0x53, 0x53, 0x57, 0x4f, 0x52, 0x44, 0x53, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10,
+ 0x05, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x57, 0x4f, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x57, 0x4f, 0x52,
+ 0x44, 0x53, 0x5f, 0x41, 0x42, 0x4f, 0x52, 0x54, 0x10, 0x06, 0x2a, 0x5b, 0x0a, 0x0f, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a,
+ 0x13, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x55, 0x41, 0x4c, 0x5f, 0x45,
+ 0x52, 0x52, 0x4f, 0x52, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45,
+ 0x5f, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x17,
+ 0x0a, 0x13, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x49, 0x4c, 0x45, 0x4e, 0x54, 0x5f,
+ 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x2a, 0x57, 0x0a, 0x0e, 0x43, 0x61, 0x63, 0x68, 0x65,
+ 0x45, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x41, 0x43,
+ 0x48, 0x45, 0x5f, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x45,
+ 0x52, 0x52, 0x4f, 0x52, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f,
+ 0x43, 0x41, 0x4e, 0x54, 0x5f, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10,
+ 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x49, 0x53, 0x4b, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x02,
+ 0x2a, 0x41, 0x0a, 0x15, 0x4d, 0x61, 0x69, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
+ 0x45, 0x72, 0x72, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4d, 0x41,
+ 0x50, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x10, 0x00, 0x12, 0x13,
+ 0x0a, 0x0f, 0x53, 0x4d, 0x54, 0x50, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x49, 0x53, 0x53, 0x55,
+ 0x45, 0x10, 0x01, 0x32, 0xf5, 0x21, 0x0a, 0x09, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x52, 0x70,
+ 0x63, 0x12, 0x40, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x50, 0x6f,
+ 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x18, 0x2e, 0x62, 0x72, 0x69, 0x64,
+ 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x47, 0x75, 0x69, 0x52, 0x65, 0x61, 0x64, 0x79, 0x12,
+ 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12,
+ 0x36, 0x0a, 0x04, 0x51, 0x75, 0x69, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a,
+ 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x39, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x74, 0x61,
+ 0x72, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
+ 0x74, 0x79, 0x12, 0x46, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x53, 0x68, 0x6f, 0x77, 0x4f, 0x6e, 0x53,
+ 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x12, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x43, 0x0a, 0x0d, 0x53, 0x68,
+ 0x6f, 0x77, 0x4f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x12, 0x16, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
+ 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
+ 0x49, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x70, 0x6c, 0x61, 0x73, 0x68,
+ 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x12, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x46, 0x0a, 0x10, 0x53, 0x68,
+ 0x6f, 0x77, 0x53, 0x70, 0x6c, 0x61, 0x73, 0x68, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x12, 0x16,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x12, 0x48, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x6b, 0x49, 0x63, 0x6f,
+ 0x6e, 0x56, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x12, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x45, 0x0a, 0x0f,
+ 0x44, 0x6f, 0x63, 0x6b, 0x49, 0x63, 0x6f, 0x6e, 0x56, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x12,
+ 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x12, 0x48, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x49, 0x73, 0x46, 0x69, 0x72, 0x73,
+ 0x74, 0x47, 0x75, 0x69, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c,
+ 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x45, 0x0a,
+ 0x0f, 0x49, 0x73, 0x46, 0x69, 0x72, 0x73, 0x74, 0x47, 0x75, 0x69, 0x53, 0x74, 0x61, 0x72, 0x74,
+ 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x12, 0x46, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x49, 0x73, 0x41, 0x75, 0x74,
+ 0x6f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4f, 0x6e, 0x12, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x43, 0x0a, 0x0d,
+ 0x49, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4f, 0x6e, 0x12, 0x16, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x12, 0x46, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x49, 0x73, 0x42, 0x65, 0x74, 0x61, 0x45, 0x6e,
+ 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x43, 0x0a, 0x0d, 0x49, 0x73, 0x42,
+ 0x65, 0x74, 0x61, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
+ 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3c,
+ 0x0a, 0x04, 0x47, 0x6f, 0x4f, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3e, 0x0a, 0x0c,
+ 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x16, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
+ 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3f, 0x0a, 0x07,
+ 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a,
+ 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3f, 0x0a,
+ 0x07, 0x4c, 0x6f, 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
+ 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x43,
+ 0x0a, 0x0b, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x12, 0x48, 0x0a, 0x10, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4e, 0x6f,
+ 0x74, 0x65, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a,
+ 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x47, 0x0a,
+ 0x0f, 0x4c, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x6e, 0x6b,
+ 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
+ 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4a, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6c,
+ 0x6f, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53,
+ 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
+ 0x74, 0x79, 0x12, 0x47, 0x0a, 0x0f, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, 0x63, 0x68, 0x65, 0x6d,
+ 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4d, 0x0a, 0x15, 0x53,
+ 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x43, 0x6c,
+ 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4a, 0x0a, 0x12, 0x43, 0x75,
+ 0x72, 0x72, 0x65, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
+ 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
+ 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x40, 0x0a, 0x09, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74,
+ 0x42, 0x75, 0x67, 0x12, 0x1b, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e,
+ 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x38, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69,
+ 0x6e, 0x12, 0x17, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f,
+ 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
+ 0x74, 0x79, 0x12, 0x3b, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x32, 0x46, 0x41, 0x12, 0x17,
+ 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12,
+ 0x42, 0x0a, 0x0f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x32, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72,
+ 0x64, 0x73, 0x12, 0x17, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x4c,
+ 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
+ 0x70, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0a, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x62, 0x6f, 0x72,
+ 0x74, 0x12, 0x1c, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f,
+ 0x67, 0x69, 0x6e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3d, 0x0a, 0x0b, 0x43, 0x68, 0x65, 0x63, 0x6b,
+ 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x16,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3f, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c,
+ 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a,
+ 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4c, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x49, 0x73,
+ 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f,
+ 0x6e, 0x12, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x16, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x49, 0x0a, 0x13, 0x49, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x6d,
+ 0x61, 0x74, 0x69, 0x63, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x12, 0x16, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
+ 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x12, 0x4d, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x49, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4f, 0x6e,
+ 0x44, 0x69, 0x73, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1a, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f,
+ 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12,
+ 0x4a, 0x0a, 0x14, 0x49, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4f, 0x6e, 0x44, 0x69, 0x73, 0x6b,
+ 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a,
+ 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x48, 0x0a, 0x10, 0x53,
+ 0x65, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12,
+ 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x16, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x45, 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x6b, 0x43, 0x61, 0x63,
+ 0x68, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x4e, 0x0a, 0x10,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x61, 0x63, 0x68, 0x65,
+ 0x12, 0x22, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x45, 0x0a, 0x0f,
+ 0x53, 0x65, 0x74, 0x49, 0x73, 0x44, 0x6f, 0x48, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12,
+ 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
+ 0x70, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0c, 0x49, 0x73, 0x44, 0x6f, 0x48, 0x45, 0x6e, 0x61, 0x62,
+ 0x6c, 0x65, 0x64, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f,
+ 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x46, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x55, 0x73,
+ 0x65, 0x53, 0x73, 0x6c, 0x46, 0x6f, 0x72, 0x53, 0x6d, 0x74, 0x70, 0x12, 0x1a, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f,
+ 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12,
+ 0x43, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x53, 0x73, 0x6c, 0x46, 0x6f, 0x72, 0x53, 0x6d, 0x74, 0x70,
+ 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56,
+ 0x61, 0x6c, 0x75, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65,
+ 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
+ 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x49, 0x6d, 0x61,
+ 0x70, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c,
+ 0x75, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3f, 0x0a, 0x08, 0x49, 0x6d,
+ 0x61, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x53,
+ 0x65, 0x74, 0x53, 0x6d, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74,
+ 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12,
+ 0x3f, 0x0a, 0x08, 0x53, 0x6d, 0x74, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
+ 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65,
+ 0x12, 0x44, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12,
+ 0x1d, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x45, 0x0a, 0x0a, 0x49, 0x73, 0x50, 0x6f, 0x72, 0x74,
+ 0x46, 0x72, 0x65, 0x65, 0x12, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75,
+ 0x65, 0x1a, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x53, 0x0a,
+ 0x12, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x63, 0x68, 0x61,
+ 0x69, 0x6e, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x25, 0x2e, 0x62, 0x72,
+ 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c,
+ 0x65, 0x4b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
+ 0x4b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
+ 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x47,
+ 0x0a, 0x0f, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69,
+ 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69,
+ 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x42, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x55, 0x73,
+ 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b,
+ 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c,
+ 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x07, 0x47,
+ 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0f,
+ 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x12,
+ 0x4b, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x4d,
+ 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e,
+ 0x55, 0x73, 0x65, 0x72, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0a,
+ 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72,
+ 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
+ 0x12, 0x42, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x16, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
+ 0x6d, 0x70, 0x74, 0x79, 0x12, 0x56, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72,
+ 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x4d, 0x61, 0x69, 0x6c, 0x12, 0x24,
+ 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x75, 0x72, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x4d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3d, 0x0a, 0x09,
+ 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74,
+ 0x79, 0x1a, 0x16, 0x2e, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74,
+ 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x42, 0x32, 0x5a, 0x30, 0x67,
+ 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x6e,
+ 0x4d, 0x61, 0x69, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6e, 0x2d, 0x62, 0x72, 0x69, 0x64,
+ 0x67, 0x65, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x72, 0x70, 0x63, 0x62,
+ 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_bridge_rpc_proto_rawDescOnce sync.Once
+ file_bridge_rpc_proto_rawDescData = file_bridge_rpc_proto_rawDesc
+)
+
+func file_bridge_rpc_proto_rawDescGZIP() []byte {
+ file_bridge_rpc_proto_rawDescOnce.Do(func() {
+ file_bridge_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_bridge_rpc_proto_rawDescData)
+ })
+ return file_bridge_rpc_proto_rawDescData
+}
+
+var file_bridge_rpc_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
+var file_bridge_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 54)
+var file_bridge_rpc_proto_goTypes = []interface{}{
+ (LoginErrorType)(0), // 0: bridgerpc.LoginErrorType
+ (UpdateErrorType)(0), // 1: bridgerpc.UpdateErrorType
+ (CacheErrorType)(0), // 2: bridgerpc.CacheErrorType
+ (MailSettingsErrorType)(0), // 3: bridgerpc.MailSettingsErrorType
+ (*PointResponse)(nil), // 4: bridgerpc.PointResponse
+ (*ReportBugRequest)(nil), // 5: bridgerpc.ReportBugRequest
+ (*LoginRequest)(nil), // 6: bridgerpc.LoginRequest
+ (*LoginAbortRequest)(nil), // 7: bridgerpc.LoginAbortRequest
+ (*ChangeLocalCacheRequest)(nil), // 8: bridgerpc.ChangeLocalCacheRequest
+ (*ChangePortsRequest)(nil), // 9: bridgerpc.ChangePortsRequest
+ (*AvailableKeychainsResponse)(nil), // 10: bridgerpc.AvailableKeychainsResponse
+ (*User)(nil), // 11: bridgerpc.User
+ (*UserSplitModeRequest)(nil), // 12: bridgerpc.UserSplitModeRequest
+ (*UserListResponse)(nil), // 13: bridgerpc.UserListResponse
+ (*ConfigureAppleMailRequest)(nil), // 14: bridgerpc.ConfigureAppleMailRequest
+ (*StreamEvent)(nil), // 15: bridgerpc.StreamEvent
+ (*AppEvent)(nil), // 16: bridgerpc.AppEvent
+ (*InternetStatusEvent)(nil), // 17: bridgerpc.InternetStatusEvent
+ (*AutostartFinishedEvent)(nil), // 18: bridgerpc.AutostartFinishedEvent
+ (*ResetFinishedEvent)(nil), // 19: bridgerpc.ResetFinishedEvent
+ (*ReportBugFinishedEvent)(nil), // 20: bridgerpc.ReportBugFinishedEvent
+ (*ReportBugSuccessEvent)(nil), // 21: bridgerpc.ReportBugSuccessEvent
+ (*ReportBugErrorEvent)(nil), // 22: bridgerpc.ReportBugErrorEvent
+ (*ShowMainWindowEvent)(nil), // 23: bridgerpc.ShowMainWindowEvent
+ (*LoginEvent)(nil), // 24: bridgerpc.LoginEvent
+ (*LoginErrorEvent)(nil), // 25: bridgerpc.LoginErrorEvent
+ (*LoginTfaRequestedEvent)(nil), // 26: bridgerpc.LoginTfaRequestedEvent
+ (*LoginTwoPasswordsRequestedEvent)(nil), // 27: bridgerpc.LoginTwoPasswordsRequestedEvent
+ (*LoginFinishedEvent)(nil), // 28: bridgerpc.LoginFinishedEvent
+ (*UpdateEvent)(nil), // 29: bridgerpc.UpdateEvent
+ (*UpdateErrorEvent)(nil), // 30: bridgerpc.UpdateErrorEvent
+ (*UpdateManualReadyEvent)(nil), // 31: bridgerpc.UpdateManualReadyEvent
+ (*UpdateManualRestartNeededEvent)(nil), // 32: bridgerpc.UpdateManualRestartNeededEvent
+ (*UpdateForceEvent)(nil), // 33: bridgerpc.UpdateForceEvent
+ (*UpdateSilentRestartNeeded)(nil), // 34: bridgerpc.UpdateSilentRestartNeeded
+ (*UpdateIsLatestVersion)(nil), // 35: bridgerpc.UpdateIsLatestVersion
+ (*UpdateCheckFinished)(nil), // 36: bridgerpc.UpdateCheckFinished
+ (*CacheEvent)(nil), // 37: bridgerpc.CacheEvent
+ (*CacheErrorEvent)(nil), // 38: bridgerpc.CacheErrorEvent
+ (*CacheLocationChangeSuccessEvent)(nil), // 39: bridgerpc.CacheLocationChangeSuccessEvent
+ (*ChangeLocalCacheFinishedEvent)(nil), // 40: bridgerpc.ChangeLocalCacheFinishedEvent
+ (*MailSettingsEvent)(nil), // 41: bridgerpc.MailSettingsEvent
+ (*MailSettingsErrorEvent)(nil), // 42: bridgerpc.MailSettingsErrorEvent
+ (*UseSslForSmtpFinishedEvent)(nil), // 43: bridgerpc.UseSslForSmtpFinishedEvent
+ (*ChangePortsFinishedEvent)(nil), // 44: bridgerpc.ChangePortsFinishedEvent
+ (*KeychainEvent)(nil), // 45: bridgerpc.KeychainEvent
+ (*ChangeKeychainFinishedEvent)(nil), // 46: bridgerpc.ChangeKeychainFinishedEvent
+ (*HasNoKeychainEvent)(nil), // 47: bridgerpc.HasNoKeychainEvent
+ (*RebuildKeychainEvent)(nil), // 48: bridgerpc.RebuildKeychainEvent
+ (*MailEvent)(nil), // 49: bridgerpc.MailEvent
+ (*NoActiveKeyForRecipientEvent)(nil), // 50: bridgerpc.NoActiveKeyForRecipientEvent
+ (*AddressChangedEvent)(nil), // 51: bridgerpc.AddressChangedEvent
+ (*AddressChangedLogoutEvent)(nil), // 52: bridgerpc.AddressChangedLogoutEvent
+ (*ApiCertIssueEvent)(nil), // 53: bridgerpc.ApiCertIssueEvent
+ (*UserEvent)(nil), // 54: bridgerpc.UserEvent
+ (*ToggleSplitModeFinishedEvent)(nil), // 55: bridgerpc.ToggleSplitModeFinishedEvent
+ (*UserDisconnectedEvent)(nil), // 56: bridgerpc.UserDisconnectedEvent
+ (*UserChangedEvent)(nil), // 57: bridgerpc.UserChangedEvent
+ (*emptypb.Empty)(nil), // 58: google.protobuf.Empty
+ (*wrapperspb.BoolValue)(nil), // 59: google.protobuf.BoolValue
+ (*wrapperspb.StringValue)(nil), // 60: google.protobuf.StringValue
+ (*wrapperspb.Int32Value)(nil), // 61: google.protobuf.Int32Value
+}
+var file_bridge_rpc_proto_depIdxs = []int32{
+ 11, // 0: bridgerpc.UserListResponse.users:type_name -> bridgerpc.User
+ 16, // 1: bridgerpc.StreamEvent.app:type_name -> bridgerpc.AppEvent
+ 24, // 2: bridgerpc.StreamEvent.login:type_name -> bridgerpc.LoginEvent
+ 29, // 3: bridgerpc.StreamEvent.update:type_name -> bridgerpc.UpdateEvent
+ 37, // 4: bridgerpc.StreamEvent.cache:type_name -> bridgerpc.CacheEvent
+ 41, // 5: bridgerpc.StreamEvent.mailSettings:type_name -> bridgerpc.MailSettingsEvent
+ 45, // 6: bridgerpc.StreamEvent.keychain:type_name -> bridgerpc.KeychainEvent
+ 49, // 7: bridgerpc.StreamEvent.mail:type_name -> bridgerpc.MailEvent
+ 54, // 8: bridgerpc.StreamEvent.user:type_name -> bridgerpc.UserEvent
+ 17, // 9: bridgerpc.AppEvent.internetStatus:type_name -> bridgerpc.InternetStatusEvent
+ 18, // 10: bridgerpc.AppEvent.autostartFinished:type_name -> bridgerpc.AutostartFinishedEvent
+ 19, // 11: bridgerpc.AppEvent.resetFinished:type_name -> bridgerpc.ResetFinishedEvent
+ 20, // 12: bridgerpc.AppEvent.reportBugFinished:type_name -> bridgerpc.ReportBugFinishedEvent
+ 21, // 13: bridgerpc.AppEvent.reportBugSuccess:type_name -> bridgerpc.ReportBugSuccessEvent
+ 22, // 14: bridgerpc.AppEvent.reportBugError:type_name -> bridgerpc.ReportBugErrorEvent
+ 23, // 15: bridgerpc.AppEvent.showMainWindow:type_name -> bridgerpc.ShowMainWindowEvent
+ 25, // 16: bridgerpc.LoginEvent.error:type_name -> bridgerpc.LoginErrorEvent
+ 26, // 17: bridgerpc.LoginEvent.tfaRequested:type_name -> bridgerpc.LoginTfaRequestedEvent
+ 27, // 18: bridgerpc.LoginEvent.twoPasswordRequested:type_name -> bridgerpc.LoginTwoPasswordsRequestedEvent
+ 28, // 19: bridgerpc.LoginEvent.finished:type_name -> bridgerpc.LoginFinishedEvent
+ 0, // 20: bridgerpc.LoginErrorEvent.type:type_name -> bridgerpc.LoginErrorType
+ 30, // 21: bridgerpc.UpdateEvent.error:type_name -> bridgerpc.UpdateErrorEvent
+ 31, // 22: bridgerpc.UpdateEvent.manualReady:type_name -> bridgerpc.UpdateManualReadyEvent
+ 32, // 23: bridgerpc.UpdateEvent.manualRestartNeeded:type_name -> bridgerpc.UpdateManualRestartNeededEvent
+ 33, // 24: bridgerpc.UpdateEvent.force:type_name -> bridgerpc.UpdateForceEvent
+ 34, // 25: bridgerpc.UpdateEvent.silentRestartNeeded:type_name -> bridgerpc.UpdateSilentRestartNeeded
+ 35, // 26: bridgerpc.UpdateEvent.isLatestVersion:type_name -> bridgerpc.UpdateIsLatestVersion
+ 36, // 27: bridgerpc.UpdateEvent.checkFinished:type_name -> bridgerpc.UpdateCheckFinished
+ 1, // 28: bridgerpc.UpdateErrorEvent.type:type_name -> bridgerpc.UpdateErrorType
+ 38, // 29: bridgerpc.CacheEvent.error:type_name -> bridgerpc.CacheErrorEvent
+ 39, // 30: bridgerpc.CacheEvent.locationChangedSuccess:type_name -> bridgerpc.CacheLocationChangeSuccessEvent
+ 40, // 31: bridgerpc.CacheEvent.changeLocalCacheFinished:type_name -> bridgerpc.ChangeLocalCacheFinishedEvent
+ 2, // 32: bridgerpc.CacheErrorEvent.type:type_name -> bridgerpc.CacheErrorType
+ 42, // 33: bridgerpc.MailSettingsEvent.error:type_name -> bridgerpc.MailSettingsErrorEvent
+ 43, // 34: bridgerpc.MailSettingsEvent.useSslForSmtpFinished:type_name -> bridgerpc.UseSslForSmtpFinishedEvent
+ 44, // 35: bridgerpc.MailSettingsEvent.changePortsFinished:type_name -> bridgerpc.ChangePortsFinishedEvent
+ 3, // 36: bridgerpc.MailSettingsErrorEvent.type:type_name -> bridgerpc.MailSettingsErrorType
+ 46, // 37: bridgerpc.KeychainEvent.changeKeychainFinished:type_name -> bridgerpc.ChangeKeychainFinishedEvent
+ 47, // 38: bridgerpc.KeychainEvent.hasNoKeychain:type_name -> bridgerpc.HasNoKeychainEvent
+ 48, // 39: bridgerpc.KeychainEvent.rebuildKeychain:type_name -> bridgerpc.RebuildKeychainEvent
+ 50, // 40: bridgerpc.MailEvent.noActiveKeyForRecipientEvent:type_name -> bridgerpc.NoActiveKeyForRecipientEvent
+ 51, // 41: bridgerpc.MailEvent.addressChanged:type_name -> bridgerpc.AddressChangedEvent
+ 52, // 42: bridgerpc.MailEvent.addressChangedLogout:type_name -> bridgerpc.AddressChangedLogoutEvent
+ 53, // 43: bridgerpc.MailEvent.apiCertIssue:type_name -> bridgerpc.ApiCertIssueEvent
+ 55, // 44: bridgerpc.UserEvent.toggleSplitModeFinished:type_name -> bridgerpc.ToggleSplitModeFinishedEvent
+ 56, // 45: bridgerpc.UserEvent.userDisconnected:type_name -> bridgerpc.UserDisconnectedEvent
+ 57, // 46: bridgerpc.UserEvent.userChanged:type_name -> bridgerpc.UserChangedEvent
+ 11, // 47: bridgerpc.UserChangedEvent.user:type_name -> bridgerpc.User
+ 58, // 48: bridgerpc.BridgeRpc.GetCursorPos:input_type -> google.protobuf.Empty
+ 58, // 49: bridgerpc.BridgeRpc.GuiReady:input_type -> google.protobuf.Empty
+ 58, // 50: bridgerpc.BridgeRpc.Quit:input_type -> google.protobuf.Empty
+ 58, // 51: bridgerpc.BridgeRpc.Restart:input_type -> google.protobuf.Empty
+ 59, // 52: bridgerpc.BridgeRpc.SetShowOnStartup:input_type -> google.protobuf.BoolValue
+ 58, // 53: bridgerpc.BridgeRpc.ShowOnStartup:input_type -> google.protobuf.Empty
+ 59, // 54: bridgerpc.BridgeRpc.SetShowSplashScreen:input_type -> google.protobuf.BoolValue
+ 58, // 55: bridgerpc.BridgeRpc.ShowSplashScreen:input_type -> google.protobuf.Empty
+ 59, // 56: bridgerpc.BridgeRpc.SetDockIconVisible:input_type -> google.protobuf.BoolValue
+ 58, // 57: bridgerpc.BridgeRpc.DockIconVisible:input_type -> google.protobuf.Empty
+ 59, // 58: bridgerpc.BridgeRpc.SetIsFirstGuiStart:input_type -> google.protobuf.BoolValue
+ 58, // 59: bridgerpc.BridgeRpc.IsFirstGuiStart:input_type -> google.protobuf.Empty
+ 59, // 60: bridgerpc.BridgeRpc.SetIsAutostartOn:input_type -> google.protobuf.BoolValue
+ 58, // 61: bridgerpc.BridgeRpc.IsAutostartOn:input_type -> google.protobuf.Empty
+ 59, // 62: bridgerpc.BridgeRpc.SetIsBetaEnabled:input_type -> google.protobuf.BoolValue
+ 58, // 63: bridgerpc.BridgeRpc.IsBetaEnabled:input_type -> google.protobuf.Empty
+ 58, // 64: bridgerpc.BridgeRpc.GoOs:input_type -> google.protobuf.Empty
+ 58, // 65: bridgerpc.BridgeRpc.TriggerReset:input_type -> google.protobuf.Empty
+ 58, // 66: bridgerpc.BridgeRpc.Version:input_type -> google.protobuf.Empty
+ 58, // 67: bridgerpc.BridgeRpc.LogPath:input_type -> google.protobuf.Empty
+ 58, // 68: bridgerpc.BridgeRpc.LicensePath:input_type -> google.protobuf.Empty
+ 58, // 69: bridgerpc.BridgeRpc.ReleaseNotesLink:input_type -> google.protobuf.Empty
+ 58, // 70: bridgerpc.BridgeRpc.LandingPageLink:input_type -> google.protobuf.Empty
+ 60, // 71: bridgerpc.BridgeRpc.SetColorSchemeName:input_type -> google.protobuf.StringValue
+ 58, // 72: bridgerpc.BridgeRpc.ColorSchemeName:input_type -> google.protobuf.Empty
+ 60, // 73: bridgerpc.BridgeRpc.SetCurrentEmailClient:input_type -> google.protobuf.StringValue
+ 58, // 74: bridgerpc.BridgeRpc.CurrentEmailClient:input_type -> google.protobuf.Empty
+ 5, // 75: bridgerpc.BridgeRpc.ReportBug:input_type -> bridgerpc.ReportBugRequest
+ 6, // 76: bridgerpc.BridgeRpc.Login:input_type -> bridgerpc.LoginRequest
+ 6, // 77: bridgerpc.BridgeRpc.Login2FA:input_type -> bridgerpc.LoginRequest
+ 6, // 78: bridgerpc.BridgeRpc.Login2Passwords:input_type -> bridgerpc.LoginRequest
+ 7, // 79: bridgerpc.BridgeRpc.LoginAbort:input_type -> bridgerpc.LoginAbortRequest
+ 58, // 80: bridgerpc.BridgeRpc.CheckUpdate:input_type -> google.protobuf.Empty
+ 58, // 81: bridgerpc.BridgeRpc.InstallUpdate:input_type -> google.protobuf.Empty
+ 59, // 82: bridgerpc.BridgeRpc.SetIsAutomaticUpdateOn:input_type -> google.protobuf.BoolValue
+ 58, // 83: bridgerpc.BridgeRpc.IsAutomaticUpdateOn:input_type -> google.protobuf.Empty
+ 59, // 84: bridgerpc.BridgeRpc.SetIsCacheOnDiskEnabled:input_type -> google.protobuf.BoolValue
+ 58, // 85: bridgerpc.BridgeRpc.IsCacheOnDiskEnabled:input_type -> google.protobuf.Empty
+ 60, // 86: bridgerpc.BridgeRpc.SetDiskCachePath:input_type -> google.protobuf.StringValue
+ 58, // 87: bridgerpc.BridgeRpc.DiskCachePath:input_type -> google.protobuf.Empty
+ 8, // 88: bridgerpc.BridgeRpc.ChangeLocalCache:input_type -> bridgerpc.ChangeLocalCacheRequest
+ 59, // 89: bridgerpc.BridgeRpc.SetIsDoHEnabled:input_type -> google.protobuf.BoolValue
+ 58, // 90: bridgerpc.BridgeRpc.IsDoHEnabled:input_type -> google.protobuf.Empty
+ 59, // 91: bridgerpc.BridgeRpc.SetUseSslForSmtp:input_type -> google.protobuf.BoolValue
+ 58, // 92: bridgerpc.BridgeRpc.UseSslForSmtp:input_type -> google.protobuf.Empty
+ 58, // 93: bridgerpc.BridgeRpc.Hostname:input_type -> google.protobuf.Empty
+ 61, // 94: bridgerpc.BridgeRpc.SetImapPort:input_type -> google.protobuf.Int32Value
+ 58, // 95: bridgerpc.BridgeRpc.ImapPort:input_type -> google.protobuf.Empty
+ 61, // 96: bridgerpc.BridgeRpc.SetSmtpPort:input_type -> google.protobuf.Int32Value
+ 58, // 97: bridgerpc.BridgeRpc.SmtpPort:input_type -> google.protobuf.Empty
+ 9, // 98: bridgerpc.BridgeRpc.ChangePorts:input_type -> bridgerpc.ChangePortsRequest
+ 61, // 99: bridgerpc.BridgeRpc.IsPortFree:input_type -> google.protobuf.Int32Value
+ 58, // 100: bridgerpc.BridgeRpc.AvailableKeychains:input_type -> google.protobuf.Empty
+ 60, // 101: bridgerpc.BridgeRpc.SetCurrentKeychain:input_type -> google.protobuf.StringValue
+ 58, // 102: bridgerpc.BridgeRpc.CurrentKeychain:input_type -> google.protobuf.Empty
+ 58, // 103: bridgerpc.BridgeRpc.GetUserList:input_type -> google.protobuf.Empty
+ 58, // 104: bridgerpc.BridgeRpc.GetUser:input_type -> google.protobuf.Empty
+ 12, // 105: bridgerpc.BridgeRpc.SetUserSplitMode:input_type -> bridgerpc.UserSplitModeRequest
+ 60, // 106: bridgerpc.BridgeRpc.LogoutUser:input_type -> google.protobuf.StringValue
+ 60, // 107: bridgerpc.BridgeRpc.RemoveUser:input_type -> google.protobuf.StringValue
+ 14, // 108: bridgerpc.BridgeRpc.ConfigureUserAppleMail:input_type -> bridgerpc.ConfigureAppleMailRequest
+ 58, // 109: bridgerpc.BridgeRpc.GetEvents:input_type -> google.protobuf.Empty
+ 4, // 110: bridgerpc.BridgeRpc.GetCursorPos:output_type -> bridgerpc.PointResponse
+ 58, // 111: bridgerpc.BridgeRpc.GuiReady:output_type -> google.protobuf.Empty
+ 58, // 112: bridgerpc.BridgeRpc.Quit:output_type -> google.protobuf.Empty
+ 58, // 113: bridgerpc.BridgeRpc.Restart:output_type -> google.protobuf.Empty
+ 58, // 114: bridgerpc.BridgeRpc.SetShowOnStartup:output_type -> google.protobuf.Empty
+ 59, // 115: bridgerpc.BridgeRpc.ShowOnStartup:output_type -> google.protobuf.BoolValue
+ 58, // 116: bridgerpc.BridgeRpc.SetShowSplashScreen:output_type -> google.protobuf.Empty
+ 59, // 117: bridgerpc.BridgeRpc.ShowSplashScreen:output_type -> google.protobuf.BoolValue
+ 58, // 118: bridgerpc.BridgeRpc.SetDockIconVisible:output_type -> google.protobuf.Empty
+ 59, // 119: bridgerpc.BridgeRpc.DockIconVisible:output_type -> google.protobuf.BoolValue
+ 58, // 120: bridgerpc.BridgeRpc.SetIsFirstGuiStart:output_type -> google.protobuf.Empty
+ 59, // 121: bridgerpc.BridgeRpc.IsFirstGuiStart:output_type -> google.protobuf.BoolValue
+ 58, // 122: bridgerpc.BridgeRpc.SetIsAutostartOn:output_type -> google.protobuf.Empty
+ 59, // 123: bridgerpc.BridgeRpc.IsAutostartOn:output_type -> google.protobuf.BoolValue
+ 58, // 124: bridgerpc.BridgeRpc.SetIsBetaEnabled:output_type -> google.protobuf.Empty
+ 59, // 125: bridgerpc.BridgeRpc.IsBetaEnabled:output_type -> google.protobuf.BoolValue
+ 60, // 126: bridgerpc.BridgeRpc.GoOs:output_type -> google.protobuf.StringValue
+ 58, // 127: bridgerpc.BridgeRpc.TriggerReset:output_type -> google.protobuf.Empty
+ 60, // 128: bridgerpc.BridgeRpc.Version:output_type -> google.protobuf.StringValue
+ 60, // 129: bridgerpc.BridgeRpc.LogPath:output_type -> google.protobuf.StringValue
+ 60, // 130: bridgerpc.BridgeRpc.LicensePath:output_type -> google.protobuf.StringValue
+ 60, // 131: bridgerpc.BridgeRpc.ReleaseNotesLink:output_type -> google.protobuf.StringValue
+ 60, // 132: bridgerpc.BridgeRpc.LandingPageLink:output_type -> google.protobuf.StringValue
+ 58, // 133: bridgerpc.BridgeRpc.SetColorSchemeName:output_type -> google.protobuf.Empty
+ 60, // 134: bridgerpc.BridgeRpc.ColorSchemeName:output_type -> google.protobuf.StringValue
+ 58, // 135: bridgerpc.BridgeRpc.SetCurrentEmailClient:output_type -> google.protobuf.Empty
+ 60, // 136: bridgerpc.BridgeRpc.CurrentEmailClient:output_type -> google.protobuf.StringValue
+ 58, // 137: bridgerpc.BridgeRpc.ReportBug:output_type -> google.protobuf.Empty
+ 58, // 138: bridgerpc.BridgeRpc.Login:output_type -> google.protobuf.Empty
+ 58, // 139: bridgerpc.BridgeRpc.Login2FA:output_type -> google.protobuf.Empty
+ 58, // 140: bridgerpc.BridgeRpc.Login2Passwords:output_type -> google.protobuf.Empty
+ 58, // 141: bridgerpc.BridgeRpc.LoginAbort:output_type -> google.protobuf.Empty
+ 58, // 142: bridgerpc.BridgeRpc.CheckUpdate:output_type -> google.protobuf.Empty
+ 58, // 143: bridgerpc.BridgeRpc.InstallUpdate:output_type -> google.protobuf.Empty
+ 58, // 144: bridgerpc.BridgeRpc.SetIsAutomaticUpdateOn:output_type -> google.protobuf.Empty
+ 59, // 145: bridgerpc.BridgeRpc.IsAutomaticUpdateOn:output_type -> google.protobuf.BoolValue
+ 58, // 146: bridgerpc.BridgeRpc.SetIsCacheOnDiskEnabled:output_type -> google.protobuf.Empty
+ 59, // 147: bridgerpc.BridgeRpc.IsCacheOnDiskEnabled:output_type -> google.protobuf.BoolValue
+ 58, // 148: bridgerpc.BridgeRpc.SetDiskCachePath:output_type -> google.protobuf.Empty
+ 60, // 149: bridgerpc.BridgeRpc.DiskCachePath:output_type -> google.protobuf.StringValue
+ 58, // 150: bridgerpc.BridgeRpc.ChangeLocalCache:output_type -> google.protobuf.Empty
+ 58, // 151: bridgerpc.BridgeRpc.SetIsDoHEnabled:output_type -> google.protobuf.Empty
+ 59, // 152: bridgerpc.BridgeRpc.IsDoHEnabled:output_type -> google.protobuf.BoolValue
+ 58, // 153: bridgerpc.BridgeRpc.SetUseSslForSmtp:output_type -> google.protobuf.Empty
+ 59, // 154: bridgerpc.BridgeRpc.UseSslForSmtp:output_type -> google.protobuf.BoolValue
+ 60, // 155: bridgerpc.BridgeRpc.Hostname:output_type -> google.protobuf.StringValue
+ 58, // 156: bridgerpc.BridgeRpc.SetImapPort:output_type -> google.protobuf.Empty
+ 61, // 157: bridgerpc.BridgeRpc.ImapPort:output_type -> google.protobuf.Int32Value
+ 58, // 158: bridgerpc.BridgeRpc.SetSmtpPort:output_type -> google.protobuf.Empty
+ 61, // 159: bridgerpc.BridgeRpc.SmtpPort:output_type -> google.protobuf.Int32Value
+ 58, // 160: bridgerpc.BridgeRpc.ChangePorts:output_type -> google.protobuf.Empty
+ 59, // 161: bridgerpc.BridgeRpc.IsPortFree:output_type -> google.protobuf.BoolValue
+ 10, // 162: bridgerpc.BridgeRpc.AvailableKeychains:output_type -> bridgerpc.AvailableKeychainsResponse
+ 58, // 163: bridgerpc.BridgeRpc.SetCurrentKeychain:output_type -> google.protobuf.Empty
+ 60, // 164: bridgerpc.BridgeRpc.CurrentKeychain:output_type -> google.protobuf.StringValue
+ 13, // 165: bridgerpc.BridgeRpc.GetUserList:output_type -> bridgerpc.UserListResponse
+ 11, // 166: bridgerpc.BridgeRpc.GetUser:output_type -> bridgerpc.User
+ 58, // 167: bridgerpc.BridgeRpc.SetUserSplitMode:output_type -> google.protobuf.Empty
+ 58, // 168: bridgerpc.BridgeRpc.LogoutUser:output_type -> google.protobuf.Empty
+ 58, // 169: bridgerpc.BridgeRpc.RemoveUser:output_type -> google.protobuf.Empty
+ 58, // 170: bridgerpc.BridgeRpc.ConfigureUserAppleMail:output_type -> google.protobuf.Empty
+ 15, // 171: bridgerpc.BridgeRpc.GetEvents:output_type -> bridgerpc.StreamEvent
+ 110, // [110:172] is the sub-list for method output_type
+ 48, // [48:110] is the sub-list for method input_type
+ 48, // [48:48] is the sub-list for extension type_name
+ 48, // [48:48] is the sub-list for extension extendee
+ 0, // [0:48] is the sub-list for field type_name
+}
+
+func init() { file_bridge_rpc_proto_init() }
+func file_bridge_rpc_proto_init() {
+ if File_bridge_rpc_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_bridge_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*PointResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReportBugRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LoginRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LoginAbortRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChangeLocalCacheRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChangePortsRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AvailableKeychainsResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*User); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UserSplitModeRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UserListResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ConfigureAppleMailRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StreamEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AppEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*InternetStatusEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AutostartFinishedEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ResetFinishedEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReportBugFinishedEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReportBugSuccessEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReportBugErrorEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ShowMainWindowEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LoginEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LoginErrorEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LoginTfaRequestedEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LoginTwoPasswordsRequestedEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LoginFinishedEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateErrorEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateManualReadyEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateManualRestartNeededEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateForceEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateSilentRestartNeeded); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateIsLatestVersion); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateCheckFinished); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CacheEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CacheErrorEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CacheLocationChangeSuccessEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChangeLocalCacheFinishedEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MailSettingsEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MailSettingsErrorEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UseSslForSmtpFinishedEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChangePortsFinishedEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*KeychainEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ChangeKeychainFinishedEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HasNoKeychainEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RebuildKeychainEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*MailEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*NoActiveKeyForRecipientEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AddressChangedEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*AddressChangedLogoutEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ApiCertIssueEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UserEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ToggleSplitModeFinishedEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UserDisconnectedEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UserChangedEvent); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ file_bridge_rpc_proto_msgTypes[11].OneofWrappers = []interface{}{
+ (*StreamEvent_App)(nil),
+ (*StreamEvent_Login)(nil),
+ (*StreamEvent_Update)(nil),
+ (*StreamEvent_Cache)(nil),
+ (*StreamEvent_MailSettings)(nil),
+ (*StreamEvent_Keychain)(nil),
+ (*StreamEvent_Mail)(nil),
+ (*StreamEvent_User)(nil),
+ }
+ file_bridge_rpc_proto_msgTypes[12].OneofWrappers = []interface{}{
+ (*AppEvent_InternetStatus)(nil),
+ (*AppEvent_AutostartFinished)(nil),
+ (*AppEvent_ResetFinished)(nil),
+ (*AppEvent_ReportBugFinished)(nil),
+ (*AppEvent_ReportBugSuccess)(nil),
+ (*AppEvent_ReportBugError)(nil),
+ (*AppEvent_ShowMainWindow)(nil),
+ }
+ file_bridge_rpc_proto_msgTypes[20].OneofWrappers = []interface{}{
+ (*LoginEvent_Error)(nil),
+ (*LoginEvent_TfaRequested)(nil),
+ (*LoginEvent_TwoPasswordRequested)(nil),
+ (*LoginEvent_Finished)(nil),
+ }
+ file_bridge_rpc_proto_msgTypes[25].OneofWrappers = []interface{}{
+ (*UpdateEvent_Error)(nil),
+ (*UpdateEvent_ManualReady)(nil),
+ (*UpdateEvent_ManualRestartNeeded)(nil),
+ (*UpdateEvent_Force)(nil),
+ (*UpdateEvent_SilentRestartNeeded)(nil),
+ (*UpdateEvent_IsLatestVersion)(nil),
+ (*UpdateEvent_CheckFinished)(nil),
+ }
+ file_bridge_rpc_proto_msgTypes[33].OneofWrappers = []interface{}{
+ (*CacheEvent_Error)(nil),
+ (*CacheEvent_LocationChangedSuccess)(nil),
+ (*CacheEvent_ChangeLocalCacheFinished)(nil),
+ }
+ file_bridge_rpc_proto_msgTypes[37].OneofWrappers = []interface{}{
+ (*MailSettingsEvent_Error)(nil),
+ (*MailSettingsEvent_UseSslForSmtpFinished)(nil),
+ (*MailSettingsEvent_ChangePortsFinished)(nil),
+ }
+ file_bridge_rpc_proto_msgTypes[41].OneofWrappers = []interface{}{
+ (*KeychainEvent_ChangeKeychainFinished)(nil),
+ (*KeychainEvent_HasNoKeychain)(nil),
+ (*KeychainEvent_RebuildKeychain)(nil),
+ }
+ file_bridge_rpc_proto_msgTypes[45].OneofWrappers = []interface{}{
+ (*MailEvent_NoActiveKeyForRecipientEvent)(nil),
+ (*MailEvent_AddressChanged)(nil),
+ (*MailEvent_AddressChangedLogout)(nil),
+ (*MailEvent_ApiCertIssue)(nil),
+ }
+ file_bridge_rpc_proto_msgTypes[50].OneofWrappers = []interface{}{
+ (*UserEvent_ToggleSplitModeFinished)(nil),
+ (*UserEvent_UserDisconnected)(nil),
+ (*UserEvent_UserChanged)(nil),
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_bridge_rpc_proto_rawDesc,
+ NumEnums: 4,
+ NumMessages: 54,
+ NumExtensions: 0,
+ NumServices: 1,
+ },
+ GoTypes: file_bridge_rpc_proto_goTypes,
+ DependencyIndexes: file_bridge_rpc_proto_depIdxs,
+ EnumInfos: file_bridge_rpc_proto_enumTypes,
+ MessageInfos: file_bridge_rpc_proto_msgTypes,
+ }.Build()
+ File_bridge_rpc_proto = out.File
+ file_bridge_rpc_proto_rawDesc = nil
+ file_bridge_rpc_proto_goTypes = nil
+ file_bridge_rpc_proto_depIdxs = nil
+}
diff --git a/internal/rpc/bridge_rpc.proto b/internal/rpc/bridge_rpc.proto
new file mode 100644
index 00000000..70a7ae36
--- /dev/null
+++ b/internal/rpc/bridge_rpc.proto
@@ -0,0 +1,428 @@
+// 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 .
+
+syntax = "proto3";
+
+import "google/protobuf/empty.proto";
+import "google/protobuf/wrappers.proto";
+
+option go_package = "github.com/ProtonMail/proton-bridge/internal/rpc";
+
+package bridgerpc; // ignored by Go, used as namespace name in C++.
+
+//**********************************************************************************************************************
+// Service Declaration
+//**********************************************************************************************************************
+service BridgeRpc {
+
+ // App related calls
+ rpc GetCursorPos (google.protobuf.Empty) returns (PointResponse); // May be unnecessary
+ rpc GuiReady (google.protobuf.Empty) returns (google.protobuf.Empty);
+ rpc Quit (google.protobuf.Empty) returns (google.protobuf.Empty);
+ rpc Restart (google.protobuf.Empty) returns (google.protobuf.Empty);
+ rpc SetShowOnStartup(google.protobuf.BoolValue) returns (google.protobuf.Empty);
+ rpc ShowOnStartup(google.protobuf.Empty) returns (google.protobuf.BoolValue);
+ rpc SetShowSplashScreen(google.protobuf.BoolValue) returns (google.protobuf.Empty);
+ rpc ShowSplashScreen(google.protobuf.Empty) returns (google.protobuf.BoolValue);
+ rpc SetDockIconVisible(google.protobuf.BoolValue) returns (google.protobuf.Empty);
+ rpc DockIconVisible(google.protobuf.Empty) returns (google.protobuf.BoolValue);
+ rpc SetIsFirstGuiStart(google.protobuf.BoolValue) returns (google.protobuf.Empty);
+ rpc IsFirstGuiStart(google.protobuf.Empty) returns (google.protobuf.BoolValue);
+ rpc SetIsAutostartOn(google.protobuf.BoolValue) returns (google.protobuf.Empty);
+ rpc IsAutostartOn(google.protobuf.Empty) returns (google.protobuf.BoolValue);
+ rpc SetIsBetaEnabled(google.protobuf.BoolValue) returns (google.protobuf.Empty);
+ rpc IsBetaEnabled(google.protobuf.Empty) returns (google.protobuf.BoolValue);
+ rpc GoOs(google.protobuf.Empty) returns (google.protobuf.StringValue);
+ rpc TriggerReset(google.protobuf.Empty) returns (google.protobuf.Empty);
+ rpc Version(google.protobuf.Empty) returns (google.protobuf.StringValue);
+ rpc LogPath(google.protobuf.Empty) returns (google.protobuf.StringValue);
+ rpc LicensePath(google.protobuf.Empty) returns (google.protobuf.StringValue);
+ rpc ReleaseNotesLink(google.protobuf.Empty) returns (google.protobuf.StringValue);
+ rpc LandingPageLink(google.protobuf.Empty) returns (google.protobuf.StringValue);
+ rpc SetColorSchemeName(google.protobuf.StringValue) returns (google.protobuf.Empty);
+ rpc ColorSchemeName(google.protobuf.Empty) returns (google.protobuf.StringValue);
+ rpc SetCurrentEmailClient(google.protobuf.StringValue) returns (google.protobuf.Empty);
+ rpc CurrentEmailClient(google.protobuf.Empty) returns (google.protobuf.StringValue);
+ rpc ReportBug(ReportBugRequest) returns (google.protobuf.Empty);
+
+ // login
+ rpc Login(LoginRequest) returns (google.protobuf.Empty);
+ rpc Login2FA(LoginRequest) returns (google.protobuf.Empty);
+ rpc Login2Passwords(LoginRequest) returns (google.protobuf.Empty);
+ rpc LoginAbort(LoginAbortRequest) returns (google.protobuf.Empty);
+
+ // update
+ rpc CheckUpdate(google.protobuf.Empty) returns (google.protobuf.Empty);
+ rpc InstallUpdate(google.protobuf.Empty) returns (google.protobuf.Empty);
+ rpc SetIsAutomaticUpdateOn(google.protobuf.BoolValue) returns (google.protobuf.Empty);
+ rpc IsAutomaticUpdateOn(google.protobuf.Empty) returns (google.protobuf.BoolValue);
+
+ // cache
+ rpc SetIsCacheOnDiskEnabled (google.protobuf.BoolValue) returns (google.protobuf.Empty);
+ rpc IsCacheOnDiskEnabled (google.protobuf.Empty) returns (google.protobuf.BoolValue);
+ rpc SetDiskCachePath (google.protobuf.StringValue) returns (google.protobuf.Empty);
+ rpc DiskCachePath(google.protobuf.Empty) returns (google.protobuf.StringValue);
+ rpc ChangeLocalCache(ChangeLocalCacheRequest) returns (google.protobuf.Empty);
+
+ // mail
+ rpc SetIsDoHEnabled(google.protobuf.BoolValue) returns (google.protobuf.Empty);
+ rpc IsDoHEnabled(google.protobuf.Empty) returns (google.protobuf.BoolValue);
+ rpc SetUseSslForSmtp(google.protobuf.BoolValue) returns (google.protobuf.Empty);
+ rpc UseSslForSmtp(google.protobuf.Empty) returns (google.protobuf.BoolValue);
+ rpc Hostname(google.protobuf.Empty) returns (google.protobuf.StringValue);
+ rpc SetImapPort(google.protobuf.Int32Value) returns (google.protobuf.Empty);
+ rpc ImapPort(google.protobuf.Empty) returns (google.protobuf.Int32Value);
+ rpc SetSmtpPort(google.protobuf.Int32Value) returns (google.protobuf.Empty);
+ rpc SmtpPort(google.protobuf.Empty) returns (google.protobuf.Int32Value);
+ rpc ChangePorts(ChangePortsRequest) returns (google.protobuf.Empty);
+ rpc IsPortFree(google.protobuf.Int32Value) returns (google.protobuf.BoolValue);
+
+ // keychain
+ rpc AvailableKeychains(google.protobuf.Empty) returns (AvailableKeychainsResponse);
+ rpc SetCurrentKeychain(google.protobuf.StringValue) returns (google.protobuf.Empty);
+ rpc CurrentKeychain(google.protobuf.Empty) returns (google.protobuf.StringValue);
+
+ // User & user list
+ rpc GetUserList(google.protobuf.Empty) returns (UserListResponse);
+ rpc GetUser(google.protobuf.Empty) returns (User);
+ rpc SetUserSplitMode(UserSplitModeRequest) returns (google.protobuf.Empty);
+ rpc LogoutUser(google.protobuf.StringValue) returns (google.protobuf.Empty);
+ rpc RemoveUser(google.protobuf.StringValue) returns (google.protobuf.Empty);
+ rpc ConfigureUserAppleMail(ConfigureAppleMailRequest) returns (google.protobuf.Empty);
+
+ // Server -> Client event stream
+ rpc GetEvents(google.protobuf.Empty) returns (stream StreamEvent);
+}
+
+//**********************************************************************************************************************
+// RPC calls requests and replies messages
+//**********************************************************************************************************************
+
+//**********************************************************
+// GUI related messages
+//**********************************************************
+message PointResponse {
+ int32 x = 1;
+ int32 y = 2;
+};
+
+message ReportBugRequest {
+ string description = 1;
+ string address = 2;
+ string emailClient = 3;
+ bool includeLogs = 4;
+
+}
+
+// login related messages
+
+message LoginRequest {
+ string username = 1;
+ string password = 2;
+}
+
+message LoginAbortRequest {
+ string username = 1;
+}
+
+//**********************************************************
+// Cache on disk related messages
+//**********************************************************
+message ChangeLocalCacheRequest {
+ bool enableDiskCache = 1;
+ string diskCachePath = 2;
+}
+
+//**********************************************************
+// Cache on disk related messages
+//**********************************************************
+message ChangePortsRequest {
+ int32 imapPort = 1;
+ int32 smtpPort = 2;
+}
+
+//**********************************************************
+// Cache on disk related messages
+//**********************************************************
+message AvailableKeychainsResponse {
+ repeated string keychains = 1;
+}
+
+//**********************************************************
+// Cache on disk related messages
+//**********************************************************
+message User {
+ string id = 1;
+ string username = 2;
+ string avatarText = 3;
+ bool loggedIn = 4;
+ bool splitMode = 5;
+ bool setupGuideSeen = 6;
+ int64 usedBytes = 7;
+ int64 totalBytes = 8;
+ string password = 9;
+ repeated string addresses = 10;
+}
+
+message UserSplitModeRequest {
+ string userID = 1;
+ bool active = 2;
+}
+
+message UserListResponse {
+ repeated User users = 1;
+}
+
+message ConfigureAppleMailRequest {
+ string userID = 1;
+ string address = 2;
+}
+
+//**********************************************************************************************************************
+// Event stream messages
+//**********************************************************************************************************************
+message StreamEvent {
+ oneof event {
+ AppEvent app = 1;
+ LoginEvent login = 2;
+ UpdateEvent update = 3;
+ CacheEvent cache = 4;
+ MailSettingsEvent mailSettings = 5;
+ KeychainEvent keychain = 6;
+ MailEvent mail = 7;
+ UserEvent user = 8;
+ }
+}
+
+//**********************************************************
+// App related events
+//**********************************************************
+message AppEvent {
+ oneof event {
+ InternetStatusEvent internetStatus = 1;
+ AutostartFinishedEvent autostartFinished = 2;
+ ResetFinishedEvent resetFinished = 3;
+ ReportBugFinishedEvent reportBugFinished = 4;
+ ReportBugSuccessEvent reportBugSuccess = 5;
+ ReportBugErrorEvent reportBugError = 6;
+ ShowMainWindowEvent showMainWindow = 7;
+ }
+}
+
+message InternetStatusEvent {
+ bool connected = 1;
+}
+
+message AutostartFinishedEvent {}
+message ResetFinishedEvent {}
+message ReportBugFinishedEvent {}
+message ReportBugSuccessEvent {}
+message ReportBugErrorEvent {}
+message ShowMainWindowEvent {}
+
+//**********************************************************
+// Login related events
+//**********************************************************
+message LoginEvent {
+ oneof event {
+ LoginErrorEvent error = 1;
+ LoginTfaRequestedEvent tfaRequested = 2;
+ LoginTwoPasswordsRequestedEvent twoPasswordRequested = 3;
+ LoginFinishedEvent finished = 4;
+ }
+}
+
+enum LoginErrorType {
+ USERNAME_PASSWORD_ERROR = 0;
+ FREE_USER = 1;
+ CONNECTION_ERROR = 2;
+ TFA_ERROR = 3;
+ TFA_ABORT = 4;
+ TWO_PASSWORDS_ERROR = 5;
+ TWO_PASSWORDS_ABORT = 6;
+}
+
+message LoginErrorEvent {
+ LoginErrorType type = 1;
+ string message = 2;
+}
+
+message LoginTfaRequestedEvent {
+ string username = 1;
+}
+
+message LoginTwoPasswordsRequestedEvent {}
+
+message LoginFinishedEvent {
+ bool wasAlreadyLoggedIn = 1;
+}
+
+//**********************************************************
+// Update related events
+//**********************************************************
+message UpdateEvent {
+ oneof event {
+ UpdateErrorEvent error = 1;
+ UpdateManualReadyEvent manualReady = 2;
+ UpdateManualRestartNeededEvent manualRestartNeeded = 3;
+ UpdateForceEvent force = 4;
+ UpdateSilentRestartNeeded silentRestartNeeded = 5;
+ UpdateIsLatestVersion isLatestVersion = 6;
+ UpdateCheckFinished checkFinished = 7;
+ }
+}
+
+enum UpdateErrorType {
+ UPDATE_MANUAL_ERROR = 0;
+ UPDATE_FORCE_ERROR = 1;
+ UPDATE_SILENT_ERROR = 2;
+}
+
+message UpdateErrorEvent {
+ UpdateErrorType type = 1;
+}
+
+message UpdateManualReadyEvent {
+ string version = 1;
+}
+
+message UpdateManualRestartNeededEvent {};
+
+message UpdateForceEvent {
+ string version = 1;
+}
+
+message UpdateSilentRestartNeeded {}
+
+message UpdateIsLatestVersion {}
+
+message UpdateCheckFinished {}
+
+//**********************************************************
+// Cache on disk related events
+//**********************************************************
+message CacheEvent {
+ oneof event {
+ CacheErrorEvent error = 1;
+ CacheLocationChangeSuccessEvent locationChangedSuccess = 2;
+ ChangeLocalCacheFinishedEvent changeLocalCacheFinished = 3;
+ }
+}
+
+enum CacheErrorType {
+ CACHE_UNAVAILABLE_ERROR = 0;
+ CACHE_CANT_MOVE_ERROR = 1;
+ DISK_FULL = 2;
+};
+
+message CacheErrorEvent {
+ CacheErrorType type = 1;
+}
+
+message CacheLocationChangeSuccessEvent {};
+
+message ChangeLocalCacheFinishedEvent {};
+
+//**********************************************************
+// Mail settings related events
+//**********************************************************
+message MailSettingsEvent {
+ oneof event {
+ MailSettingsErrorEvent error = 1;
+ UseSslForSmtpFinishedEvent useSslForSmtpFinished = 2;
+ ChangePortsFinishedEvent changePortsFinished = 3;
+ }
+}
+
+enum MailSettingsErrorType {
+ IMAP_PORT_ISSUE = 0;
+ SMTP_PORT_ISSUE = 1;
+}
+
+message MailSettingsErrorEvent {
+ MailSettingsErrorType type = 1;
+}
+
+message UseSslForSmtpFinishedEvent {}
+
+message ChangePortsFinishedEvent {}
+
+//**********************************************************
+// keychain related events
+//**********************************************************
+message KeychainEvent {
+ oneof event {
+ ChangeKeychainFinishedEvent changeKeychainFinished = 1;
+ HasNoKeychainEvent hasNoKeychain = 2;
+ RebuildKeychainEvent rebuildKeychain = 3;
+ }
+}
+
+message ChangeKeychainFinishedEvent {}
+message HasNoKeychainEvent {}
+message RebuildKeychainEvent {}
+
+//**********************************************************
+// Mail related events
+//**********************************************************
+message MailEvent {
+ oneof event {
+ NoActiveKeyForRecipientEvent noActiveKeyForRecipientEvent = 1;
+ AddressChangedEvent addressChanged = 2;
+ AddressChangedLogoutEvent addressChangedLogout = 3;
+ ApiCertIssueEvent apiCertIssue = 6;
+ }
+}
+
+message NoActiveKeyForRecipientEvent {
+ string email = 1;
+}
+
+message AddressChangedEvent {
+ string address = 1; // TODO: user event ?
+}
+
+message AddressChangedLogoutEvent {
+ string address = 1; // TODO: user event ?
+}
+
+message ApiCertIssueEvent {}
+
+//**********************************************************
+// User list related event
+//**********************************************************
+
+message UserEvent {
+ oneof event {
+ ToggleSplitModeFinishedEvent toggleSplitModeFinished= 1;
+ UserDisconnectedEvent userDisconnected = 2;
+ UserChangedEvent userChanged = 3;
+ }
+}
+
+message ToggleSplitModeFinishedEvent {
+ string userID = 1;
+}
+
+message UserDisconnectedEvent {
+ string username = 1; // TODO: isn't it userID ?
+}
+
+message UserChangedEvent {
+ User user = 1;
+}
+
diff --git a/internal/rpc/bridge_rpc_grpc.pb.go b/internal/rpc/bridge_rpc_grpc.pb.go
new file mode 100644
index 00000000..da3412c7
--- /dev/null
+++ b/internal/rpc/bridge_rpc_grpc.pb.go
@@ -0,0 +1,2347 @@
+// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
+// versions:
+// - protoc-gen-go-grpc v1.2.0
+// - protoc v3.19.4
+// source: bridge_rpc.proto
+
+package rpc
+
+import (
+ context "context"
+ grpc "google.golang.org/grpc"
+ codes "google.golang.org/grpc/codes"
+ status "google.golang.org/grpc/status"
+ emptypb "google.golang.org/protobuf/types/known/emptypb"
+ wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
+)
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+// Requires gRPC-Go v1.32.0 or later.
+const _ = grpc.SupportPackageIsVersion7
+
+// BridgeRpcClient is the client API for BridgeRpc service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
+type BridgeRpcClient interface {
+ // App related calls
+ GetCursorPos(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PointResponse, error)
+ GuiReady(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ Quit(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ Restart(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ SetShowOnStartup(ctx context.Context, in *wrapperspb.BoolValue, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ ShowOnStartup(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error)
+ SetShowSplashScreen(ctx context.Context, in *wrapperspb.BoolValue, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ ShowSplashScreen(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error)
+ SetDockIconVisible(ctx context.Context, in *wrapperspb.BoolValue, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ DockIconVisible(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error)
+ SetIsFirstGuiStart(ctx context.Context, in *wrapperspb.BoolValue, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ IsFirstGuiStart(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error)
+ SetIsAutostartOn(ctx context.Context, in *wrapperspb.BoolValue, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ IsAutostartOn(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error)
+ SetIsBetaEnabled(ctx context.Context, in *wrapperspb.BoolValue, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ IsBetaEnabled(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error)
+ GoOs(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.StringValue, error)
+ TriggerReset(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ Version(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.StringValue, error)
+ LogPath(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.StringValue, error)
+ LicensePath(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.StringValue, error)
+ ReleaseNotesLink(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.StringValue, error)
+ LandingPageLink(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.StringValue, error)
+ SetColorSchemeName(ctx context.Context, in *wrapperspb.StringValue, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ ColorSchemeName(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.StringValue, error)
+ SetCurrentEmailClient(ctx context.Context, in *wrapperspb.StringValue, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ CurrentEmailClient(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.StringValue, error)
+ ReportBug(ctx context.Context, in *ReportBugRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ // login
+ Login(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ Login2FA(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ Login2Passwords(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ LoginAbort(ctx context.Context, in *LoginAbortRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ // update
+ CheckUpdate(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ InstallUpdate(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ SetIsAutomaticUpdateOn(ctx context.Context, in *wrapperspb.BoolValue, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ IsAutomaticUpdateOn(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error)
+ // cache
+ SetIsCacheOnDiskEnabled(ctx context.Context, in *wrapperspb.BoolValue, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ IsCacheOnDiskEnabled(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error)
+ SetDiskCachePath(ctx context.Context, in *wrapperspb.StringValue, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ DiskCachePath(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.StringValue, error)
+ ChangeLocalCache(ctx context.Context, in *ChangeLocalCacheRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ // mail
+ SetIsDoHEnabled(ctx context.Context, in *wrapperspb.BoolValue, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ IsDoHEnabled(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error)
+ SetUseSslForSmtp(ctx context.Context, in *wrapperspb.BoolValue, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ UseSslForSmtp(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error)
+ Hostname(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.StringValue, error)
+ SetImapPort(ctx context.Context, in *wrapperspb.Int32Value, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ ImapPort(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.Int32Value, error)
+ SetSmtpPort(ctx context.Context, in *wrapperspb.Int32Value, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ SmtpPort(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.Int32Value, error)
+ ChangePorts(ctx context.Context, in *ChangePortsRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ IsPortFree(ctx context.Context, in *wrapperspb.Int32Value, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error)
+ // keychain
+ AvailableKeychains(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*AvailableKeychainsResponse, error)
+ SetCurrentKeychain(ctx context.Context, in *wrapperspb.StringValue, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ CurrentKeychain(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.StringValue, error)
+ // User & user list
+ GetUserList(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*UserListResponse, error)
+ GetUser(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*User, error)
+ SetUserSplitMode(ctx context.Context, in *UserSplitModeRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ LogoutUser(ctx context.Context, in *wrapperspb.StringValue, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ RemoveUser(ctx context.Context, in *wrapperspb.StringValue, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ ConfigureUserAppleMail(ctx context.Context, in *ConfigureAppleMailRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ // Server -> Client event stream
+ GetEvents(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (BridgeRpc_GetEventsClient, error)
+}
+
+type bridgeRpcClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewBridgeRpcClient(cc grpc.ClientConnInterface) BridgeRpcClient {
+ return &bridgeRpcClient{cc}
+}
+
+func (c *bridgeRpcClient) GetCursorPos(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*PointResponse, error) {
+ out := new(PointResponse)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/GetCursorPos", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) GuiReady(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/GuiReady", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) Quit(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/Quit", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) Restart(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/Restart", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) SetShowOnStartup(ctx context.Context, in *wrapperspb.BoolValue, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/SetShowOnStartup", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) ShowOnStartup(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error) {
+ out := new(wrapperspb.BoolValue)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/ShowOnStartup", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) SetShowSplashScreen(ctx context.Context, in *wrapperspb.BoolValue, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/SetShowSplashScreen", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) ShowSplashScreen(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error) {
+ out := new(wrapperspb.BoolValue)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/ShowSplashScreen", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) SetDockIconVisible(ctx context.Context, in *wrapperspb.BoolValue, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/SetDockIconVisible", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) DockIconVisible(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error) {
+ out := new(wrapperspb.BoolValue)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/DockIconVisible", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) SetIsFirstGuiStart(ctx context.Context, in *wrapperspb.BoolValue, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/SetIsFirstGuiStart", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) IsFirstGuiStart(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error) {
+ out := new(wrapperspb.BoolValue)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/IsFirstGuiStart", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) SetIsAutostartOn(ctx context.Context, in *wrapperspb.BoolValue, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/SetIsAutostartOn", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) IsAutostartOn(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error) {
+ out := new(wrapperspb.BoolValue)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/IsAutostartOn", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) SetIsBetaEnabled(ctx context.Context, in *wrapperspb.BoolValue, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/SetIsBetaEnabled", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) IsBetaEnabled(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error) {
+ out := new(wrapperspb.BoolValue)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/IsBetaEnabled", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) GoOs(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.StringValue, error) {
+ out := new(wrapperspb.StringValue)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/GoOs", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) TriggerReset(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/TriggerReset", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) Version(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.StringValue, error) {
+ out := new(wrapperspb.StringValue)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/Version", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) LogPath(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.StringValue, error) {
+ out := new(wrapperspb.StringValue)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/LogPath", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) LicensePath(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.StringValue, error) {
+ out := new(wrapperspb.StringValue)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/LicensePath", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) ReleaseNotesLink(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.StringValue, error) {
+ out := new(wrapperspb.StringValue)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/ReleaseNotesLink", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) LandingPageLink(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.StringValue, error) {
+ out := new(wrapperspb.StringValue)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/LandingPageLink", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) SetColorSchemeName(ctx context.Context, in *wrapperspb.StringValue, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/SetColorSchemeName", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) ColorSchemeName(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.StringValue, error) {
+ out := new(wrapperspb.StringValue)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/ColorSchemeName", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) SetCurrentEmailClient(ctx context.Context, in *wrapperspb.StringValue, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/SetCurrentEmailClient", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) CurrentEmailClient(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.StringValue, error) {
+ out := new(wrapperspb.StringValue)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/CurrentEmailClient", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) ReportBug(ctx context.Context, in *ReportBugRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/ReportBug", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) Login(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/Login", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) Login2FA(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/Login2FA", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) Login2Passwords(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/Login2Passwords", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) LoginAbort(ctx context.Context, in *LoginAbortRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/LoginAbort", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) CheckUpdate(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/CheckUpdate", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) InstallUpdate(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/InstallUpdate", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) SetIsAutomaticUpdateOn(ctx context.Context, in *wrapperspb.BoolValue, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/SetIsAutomaticUpdateOn", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) IsAutomaticUpdateOn(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error) {
+ out := new(wrapperspb.BoolValue)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/IsAutomaticUpdateOn", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) SetIsCacheOnDiskEnabled(ctx context.Context, in *wrapperspb.BoolValue, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/SetIsCacheOnDiskEnabled", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) IsCacheOnDiskEnabled(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error) {
+ out := new(wrapperspb.BoolValue)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/IsCacheOnDiskEnabled", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) SetDiskCachePath(ctx context.Context, in *wrapperspb.StringValue, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/SetDiskCachePath", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) DiskCachePath(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.StringValue, error) {
+ out := new(wrapperspb.StringValue)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/DiskCachePath", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) ChangeLocalCache(ctx context.Context, in *ChangeLocalCacheRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/ChangeLocalCache", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) SetIsDoHEnabled(ctx context.Context, in *wrapperspb.BoolValue, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/SetIsDoHEnabled", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) IsDoHEnabled(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error) {
+ out := new(wrapperspb.BoolValue)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/IsDoHEnabled", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) SetUseSslForSmtp(ctx context.Context, in *wrapperspb.BoolValue, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/SetUseSslForSmtp", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) UseSslForSmtp(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error) {
+ out := new(wrapperspb.BoolValue)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/UseSslForSmtp", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) Hostname(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.StringValue, error) {
+ out := new(wrapperspb.StringValue)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/Hostname", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) SetImapPort(ctx context.Context, in *wrapperspb.Int32Value, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/SetImapPort", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) ImapPort(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.Int32Value, error) {
+ out := new(wrapperspb.Int32Value)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/ImapPort", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) SetSmtpPort(ctx context.Context, in *wrapperspb.Int32Value, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/SetSmtpPort", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) SmtpPort(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.Int32Value, error) {
+ out := new(wrapperspb.Int32Value)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/SmtpPort", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) ChangePorts(ctx context.Context, in *ChangePortsRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/ChangePorts", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) IsPortFree(ctx context.Context, in *wrapperspb.Int32Value, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error) {
+ out := new(wrapperspb.BoolValue)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/IsPortFree", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) AvailableKeychains(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*AvailableKeychainsResponse, error) {
+ out := new(AvailableKeychainsResponse)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/AvailableKeychains", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) SetCurrentKeychain(ctx context.Context, in *wrapperspb.StringValue, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/SetCurrentKeychain", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) CurrentKeychain(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.StringValue, error) {
+ out := new(wrapperspb.StringValue)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/CurrentKeychain", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) GetUserList(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*UserListResponse, error) {
+ out := new(UserListResponse)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/GetUserList", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) GetUser(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*User, error) {
+ out := new(User)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/GetUser", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) SetUserSplitMode(ctx context.Context, in *UserSplitModeRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/SetUserSplitMode", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) LogoutUser(ctx context.Context, in *wrapperspb.StringValue, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/LogoutUser", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) RemoveUser(ctx context.Context, in *wrapperspb.StringValue, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/RemoveUser", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) ConfigureUserAppleMail(ctx context.Context, in *ConfigureAppleMailRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/bridgerpc.BridgeRpc/ConfigureUserAppleMail", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeRpcClient) GetEvents(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (BridgeRpc_GetEventsClient, error) {
+ stream, err := c.cc.NewStream(ctx, &BridgeRpc_ServiceDesc.Streams[0], "/bridgerpc.BridgeRpc/GetEvents", opts...)
+ if err != nil {
+ return nil, err
+ }
+ x := &bridgeRpcGetEventsClient{stream}
+ if err := x.ClientStream.SendMsg(in); err != nil {
+ return nil, err
+ }
+ if err := x.ClientStream.CloseSend(); err != nil {
+ return nil, err
+ }
+ return x, nil
+}
+
+type BridgeRpc_GetEventsClient interface {
+ Recv() (*StreamEvent, error)
+ grpc.ClientStream
+}
+
+type bridgeRpcGetEventsClient struct {
+ grpc.ClientStream
+}
+
+func (x *bridgeRpcGetEventsClient) Recv() (*StreamEvent, error) {
+ m := new(StreamEvent)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
+// BridgeRpcServer is the server API for BridgeRpc service.
+// All implementations must embed UnimplementedBridgeRpcServer
+// for forward compatibility
+type BridgeRpcServer interface {
+ // App related calls
+ GetCursorPos(context.Context, *emptypb.Empty) (*PointResponse, error)
+ GuiReady(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
+ Quit(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
+ Restart(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
+ SetShowOnStartup(context.Context, *wrapperspb.BoolValue) (*emptypb.Empty, error)
+ ShowOnStartup(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error)
+ SetShowSplashScreen(context.Context, *wrapperspb.BoolValue) (*emptypb.Empty, error)
+ ShowSplashScreen(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error)
+ SetDockIconVisible(context.Context, *wrapperspb.BoolValue) (*emptypb.Empty, error)
+ DockIconVisible(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error)
+ SetIsFirstGuiStart(context.Context, *wrapperspb.BoolValue) (*emptypb.Empty, error)
+ IsFirstGuiStart(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error)
+ SetIsAutostartOn(context.Context, *wrapperspb.BoolValue) (*emptypb.Empty, error)
+ IsAutostartOn(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error)
+ SetIsBetaEnabled(context.Context, *wrapperspb.BoolValue) (*emptypb.Empty, error)
+ IsBetaEnabled(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error)
+ GoOs(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error)
+ TriggerReset(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
+ Version(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error)
+ LogPath(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error)
+ LicensePath(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error)
+ ReleaseNotesLink(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error)
+ LandingPageLink(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error)
+ SetColorSchemeName(context.Context, *wrapperspb.StringValue) (*emptypb.Empty, error)
+ ColorSchemeName(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error)
+ SetCurrentEmailClient(context.Context, *wrapperspb.StringValue) (*emptypb.Empty, error)
+ CurrentEmailClient(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error)
+ ReportBug(context.Context, *ReportBugRequest) (*emptypb.Empty, error)
+ // login
+ Login(context.Context, *LoginRequest) (*emptypb.Empty, error)
+ Login2FA(context.Context, *LoginRequest) (*emptypb.Empty, error)
+ Login2Passwords(context.Context, *LoginRequest) (*emptypb.Empty, error)
+ LoginAbort(context.Context, *LoginAbortRequest) (*emptypb.Empty, error)
+ // update
+ CheckUpdate(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
+ InstallUpdate(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
+ SetIsAutomaticUpdateOn(context.Context, *wrapperspb.BoolValue) (*emptypb.Empty, error)
+ IsAutomaticUpdateOn(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error)
+ // cache
+ SetIsCacheOnDiskEnabled(context.Context, *wrapperspb.BoolValue) (*emptypb.Empty, error)
+ IsCacheOnDiskEnabled(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error)
+ SetDiskCachePath(context.Context, *wrapperspb.StringValue) (*emptypb.Empty, error)
+ DiskCachePath(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error)
+ ChangeLocalCache(context.Context, *ChangeLocalCacheRequest) (*emptypb.Empty, error)
+ // mail
+ SetIsDoHEnabled(context.Context, *wrapperspb.BoolValue) (*emptypb.Empty, error)
+ IsDoHEnabled(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error)
+ SetUseSslForSmtp(context.Context, *wrapperspb.BoolValue) (*emptypb.Empty, error)
+ UseSslForSmtp(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error)
+ Hostname(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error)
+ SetImapPort(context.Context, *wrapperspb.Int32Value) (*emptypb.Empty, error)
+ ImapPort(context.Context, *emptypb.Empty) (*wrapperspb.Int32Value, error)
+ SetSmtpPort(context.Context, *wrapperspb.Int32Value) (*emptypb.Empty, error)
+ SmtpPort(context.Context, *emptypb.Empty) (*wrapperspb.Int32Value, error)
+ ChangePorts(context.Context, *ChangePortsRequest) (*emptypb.Empty, error)
+ IsPortFree(context.Context, *wrapperspb.Int32Value) (*wrapperspb.BoolValue, error)
+ // keychain
+ AvailableKeychains(context.Context, *emptypb.Empty) (*AvailableKeychainsResponse, error)
+ SetCurrentKeychain(context.Context, *wrapperspb.StringValue) (*emptypb.Empty, error)
+ CurrentKeychain(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error)
+ // User & user list
+ GetUserList(context.Context, *emptypb.Empty) (*UserListResponse, error)
+ GetUser(context.Context, *emptypb.Empty) (*User, error)
+ SetUserSplitMode(context.Context, *UserSplitModeRequest) (*emptypb.Empty, error)
+ LogoutUser(context.Context, *wrapperspb.StringValue) (*emptypb.Empty, error)
+ RemoveUser(context.Context, *wrapperspb.StringValue) (*emptypb.Empty, error)
+ ConfigureUserAppleMail(context.Context, *ConfigureAppleMailRequest) (*emptypb.Empty, error)
+ // Server -> Client event stream
+ GetEvents(*emptypb.Empty, BridgeRpc_GetEventsServer) error
+ mustEmbedUnimplementedBridgeRpcServer()
+}
+
+// UnimplementedBridgeRpcServer must be embedded to have forward compatible implementations.
+type UnimplementedBridgeRpcServer struct {
+}
+
+func (UnimplementedBridgeRpcServer) GetCursorPos(context.Context, *emptypb.Empty) (*PointResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetCursorPos not implemented")
+}
+func (UnimplementedBridgeRpcServer) GuiReady(context.Context, *emptypb.Empty) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GuiReady not implemented")
+}
+func (UnimplementedBridgeRpcServer) Quit(context.Context, *emptypb.Empty) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method Quit not implemented")
+}
+func (UnimplementedBridgeRpcServer) Restart(context.Context, *emptypb.Empty) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method Restart not implemented")
+}
+func (UnimplementedBridgeRpcServer) SetShowOnStartup(context.Context, *wrapperspb.BoolValue) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method SetShowOnStartup not implemented")
+}
+func (UnimplementedBridgeRpcServer) ShowOnStartup(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ShowOnStartup not implemented")
+}
+func (UnimplementedBridgeRpcServer) SetShowSplashScreen(context.Context, *wrapperspb.BoolValue) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method SetShowSplashScreen not implemented")
+}
+func (UnimplementedBridgeRpcServer) ShowSplashScreen(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ShowSplashScreen not implemented")
+}
+func (UnimplementedBridgeRpcServer) SetDockIconVisible(context.Context, *wrapperspb.BoolValue) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method SetDockIconVisible not implemented")
+}
+func (UnimplementedBridgeRpcServer) DockIconVisible(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method DockIconVisible not implemented")
+}
+func (UnimplementedBridgeRpcServer) SetIsFirstGuiStart(context.Context, *wrapperspb.BoolValue) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method SetIsFirstGuiStart not implemented")
+}
+func (UnimplementedBridgeRpcServer) IsFirstGuiStart(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method IsFirstGuiStart not implemented")
+}
+func (UnimplementedBridgeRpcServer) SetIsAutostartOn(context.Context, *wrapperspb.BoolValue) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method SetIsAutostartOn not implemented")
+}
+func (UnimplementedBridgeRpcServer) IsAutostartOn(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method IsAutostartOn not implemented")
+}
+func (UnimplementedBridgeRpcServer) SetIsBetaEnabled(context.Context, *wrapperspb.BoolValue) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method SetIsBetaEnabled not implemented")
+}
+func (UnimplementedBridgeRpcServer) IsBetaEnabled(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method IsBetaEnabled not implemented")
+}
+func (UnimplementedBridgeRpcServer) GoOs(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GoOs not implemented")
+}
+func (UnimplementedBridgeRpcServer) TriggerReset(context.Context, *emptypb.Empty) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method TriggerReset not implemented")
+}
+func (UnimplementedBridgeRpcServer) Version(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method Version not implemented")
+}
+func (UnimplementedBridgeRpcServer) LogPath(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method LogPath not implemented")
+}
+func (UnimplementedBridgeRpcServer) LicensePath(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method LicensePath not implemented")
+}
+func (UnimplementedBridgeRpcServer) ReleaseNotesLink(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ReleaseNotesLink not implemented")
+}
+func (UnimplementedBridgeRpcServer) LandingPageLink(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method LandingPageLink not implemented")
+}
+func (UnimplementedBridgeRpcServer) SetColorSchemeName(context.Context, *wrapperspb.StringValue) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method SetColorSchemeName not implemented")
+}
+func (UnimplementedBridgeRpcServer) ColorSchemeName(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ColorSchemeName not implemented")
+}
+func (UnimplementedBridgeRpcServer) SetCurrentEmailClient(context.Context, *wrapperspb.StringValue) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method SetCurrentEmailClient not implemented")
+}
+func (UnimplementedBridgeRpcServer) CurrentEmailClient(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method CurrentEmailClient not implemented")
+}
+func (UnimplementedBridgeRpcServer) ReportBug(context.Context, *ReportBugRequest) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ReportBug not implemented")
+}
+func (UnimplementedBridgeRpcServer) Login(context.Context, *LoginRequest) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method Login not implemented")
+}
+func (UnimplementedBridgeRpcServer) Login2FA(context.Context, *LoginRequest) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method Login2FA not implemented")
+}
+func (UnimplementedBridgeRpcServer) Login2Passwords(context.Context, *LoginRequest) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method Login2Passwords not implemented")
+}
+func (UnimplementedBridgeRpcServer) LoginAbort(context.Context, *LoginAbortRequest) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method LoginAbort not implemented")
+}
+func (UnimplementedBridgeRpcServer) CheckUpdate(context.Context, *emptypb.Empty) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method CheckUpdate not implemented")
+}
+func (UnimplementedBridgeRpcServer) InstallUpdate(context.Context, *emptypb.Empty) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method InstallUpdate not implemented")
+}
+func (UnimplementedBridgeRpcServer) SetIsAutomaticUpdateOn(context.Context, *wrapperspb.BoolValue) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method SetIsAutomaticUpdateOn not implemented")
+}
+func (UnimplementedBridgeRpcServer) IsAutomaticUpdateOn(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method IsAutomaticUpdateOn not implemented")
+}
+func (UnimplementedBridgeRpcServer) SetIsCacheOnDiskEnabled(context.Context, *wrapperspb.BoolValue) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method SetIsCacheOnDiskEnabled not implemented")
+}
+func (UnimplementedBridgeRpcServer) IsCacheOnDiskEnabled(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method IsCacheOnDiskEnabled not implemented")
+}
+func (UnimplementedBridgeRpcServer) SetDiskCachePath(context.Context, *wrapperspb.StringValue) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method SetDiskCachePath not implemented")
+}
+func (UnimplementedBridgeRpcServer) DiskCachePath(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method DiskCachePath not implemented")
+}
+func (UnimplementedBridgeRpcServer) ChangeLocalCache(context.Context, *ChangeLocalCacheRequest) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ChangeLocalCache not implemented")
+}
+func (UnimplementedBridgeRpcServer) SetIsDoHEnabled(context.Context, *wrapperspb.BoolValue) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method SetIsDoHEnabled not implemented")
+}
+func (UnimplementedBridgeRpcServer) IsDoHEnabled(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method IsDoHEnabled not implemented")
+}
+func (UnimplementedBridgeRpcServer) SetUseSslForSmtp(context.Context, *wrapperspb.BoolValue) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method SetUseSslForSmtp not implemented")
+}
+func (UnimplementedBridgeRpcServer) UseSslForSmtp(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method UseSslForSmtp not implemented")
+}
+func (UnimplementedBridgeRpcServer) Hostname(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method Hostname not implemented")
+}
+func (UnimplementedBridgeRpcServer) SetImapPort(context.Context, *wrapperspb.Int32Value) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method SetImapPort not implemented")
+}
+func (UnimplementedBridgeRpcServer) ImapPort(context.Context, *emptypb.Empty) (*wrapperspb.Int32Value, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ImapPort not implemented")
+}
+func (UnimplementedBridgeRpcServer) SetSmtpPort(context.Context, *wrapperspb.Int32Value) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method SetSmtpPort not implemented")
+}
+func (UnimplementedBridgeRpcServer) SmtpPort(context.Context, *emptypb.Empty) (*wrapperspb.Int32Value, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method SmtpPort not implemented")
+}
+func (UnimplementedBridgeRpcServer) ChangePorts(context.Context, *ChangePortsRequest) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ChangePorts not implemented")
+}
+func (UnimplementedBridgeRpcServer) IsPortFree(context.Context, *wrapperspb.Int32Value) (*wrapperspb.BoolValue, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method IsPortFree not implemented")
+}
+func (UnimplementedBridgeRpcServer) AvailableKeychains(context.Context, *emptypb.Empty) (*AvailableKeychainsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method AvailableKeychains not implemented")
+}
+func (UnimplementedBridgeRpcServer) SetCurrentKeychain(context.Context, *wrapperspb.StringValue) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method SetCurrentKeychain not implemented")
+}
+func (UnimplementedBridgeRpcServer) CurrentKeychain(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method CurrentKeychain not implemented")
+}
+func (UnimplementedBridgeRpcServer) GetUserList(context.Context, *emptypb.Empty) (*UserListResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetUserList not implemented")
+}
+func (UnimplementedBridgeRpcServer) GetUser(context.Context, *emptypb.Empty) (*User, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetUser not implemented")
+}
+func (UnimplementedBridgeRpcServer) SetUserSplitMode(context.Context, *UserSplitModeRequest) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method SetUserSplitMode not implemented")
+}
+func (UnimplementedBridgeRpcServer) LogoutUser(context.Context, *wrapperspb.StringValue) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method LogoutUser not implemented")
+}
+func (UnimplementedBridgeRpcServer) RemoveUser(context.Context, *wrapperspb.StringValue) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method RemoveUser not implemented")
+}
+func (UnimplementedBridgeRpcServer) ConfigureUserAppleMail(context.Context, *ConfigureAppleMailRequest) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ConfigureUserAppleMail not implemented")
+}
+func (UnimplementedBridgeRpcServer) GetEvents(*emptypb.Empty, BridgeRpc_GetEventsServer) error {
+ return status.Errorf(codes.Unimplemented, "method GetEvents not implemented")
+}
+func (UnimplementedBridgeRpcServer) mustEmbedUnimplementedBridgeRpcServer() {}
+
+// UnsafeBridgeRpcServer may be embedded to opt out of forward compatibility for this service.
+// Use of this interface is not recommended, as added methods to BridgeRpcServer will
+// result in compilation errors.
+type UnsafeBridgeRpcServer interface {
+ mustEmbedUnimplementedBridgeRpcServer()
+}
+
+func RegisterBridgeRpcServer(s grpc.ServiceRegistrar, srv BridgeRpcServer) {
+ s.RegisterService(&BridgeRpc_ServiceDesc, srv)
+}
+
+func _BridgeRpc_GetCursorPos_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).GetCursorPos(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/GetCursorPos",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).GetCursorPos(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_GuiReady_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).GuiReady(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/GuiReady",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).GuiReady(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_Quit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).Quit(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/Quit",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).Quit(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_Restart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).Restart(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/Restart",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).Restart(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_SetShowOnStartup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(wrapperspb.BoolValue)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).SetShowOnStartup(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/SetShowOnStartup",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).SetShowOnStartup(ctx, req.(*wrapperspb.BoolValue))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_ShowOnStartup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).ShowOnStartup(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/ShowOnStartup",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).ShowOnStartup(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_SetShowSplashScreen_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(wrapperspb.BoolValue)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).SetShowSplashScreen(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/SetShowSplashScreen",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).SetShowSplashScreen(ctx, req.(*wrapperspb.BoolValue))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_ShowSplashScreen_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).ShowSplashScreen(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/ShowSplashScreen",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).ShowSplashScreen(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_SetDockIconVisible_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(wrapperspb.BoolValue)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).SetDockIconVisible(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/SetDockIconVisible",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).SetDockIconVisible(ctx, req.(*wrapperspb.BoolValue))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_DockIconVisible_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).DockIconVisible(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/DockIconVisible",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).DockIconVisible(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_SetIsFirstGuiStart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(wrapperspb.BoolValue)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).SetIsFirstGuiStart(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/SetIsFirstGuiStart",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).SetIsFirstGuiStart(ctx, req.(*wrapperspb.BoolValue))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_IsFirstGuiStart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).IsFirstGuiStart(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/IsFirstGuiStart",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).IsFirstGuiStart(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_SetIsAutostartOn_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(wrapperspb.BoolValue)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).SetIsAutostartOn(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/SetIsAutostartOn",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).SetIsAutostartOn(ctx, req.(*wrapperspb.BoolValue))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_IsAutostartOn_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).IsAutostartOn(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/IsAutostartOn",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).IsAutostartOn(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_SetIsBetaEnabled_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(wrapperspb.BoolValue)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).SetIsBetaEnabled(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/SetIsBetaEnabled",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).SetIsBetaEnabled(ctx, req.(*wrapperspb.BoolValue))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_IsBetaEnabled_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).IsBetaEnabled(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/IsBetaEnabled",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).IsBetaEnabled(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_GoOs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).GoOs(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/GoOs",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).GoOs(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_TriggerReset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).TriggerReset(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/TriggerReset",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).TriggerReset(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_Version_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).Version(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/Version",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).Version(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_LogPath_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).LogPath(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/LogPath",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).LogPath(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_LicensePath_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).LicensePath(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/LicensePath",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).LicensePath(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_ReleaseNotesLink_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).ReleaseNotesLink(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/ReleaseNotesLink",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).ReleaseNotesLink(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_LandingPageLink_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).LandingPageLink(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/LandingPageLink",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).LandingPageLink(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_SetColorSchemeName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(wrapperspb.StringValue)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).SetColorSchemeName(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/SetColorSchemeName",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).SetColorSchemeName(ctx, req.(*wrapperspb.StringValue))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_ColorSchemeName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).ColorSchemeName(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/ColorSchemeName",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).ColorSchemeName(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_SetCurrentEmailClient_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(wrapperspb.StringValue)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).SetCurrentEmailClient(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/SetCurrentEmailClient",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).SetCurrentEmailClient(ctx, req.(*wrapperspb.StringValue))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_CurrentEmailClient_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).CurrentEmailClient(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/CurrentEmailClient",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).CurrentEmailClient(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_ReportBug_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ReportBugRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).ReportBug(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/ReportBug",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).ReportBug(ctx, req.(*ReportBugRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_Login_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(LoginRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).Login(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/Login",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).Login(ctx, req.(*LoginRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_Login2FA_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(LoginRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).Login2FA(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/Login2FA",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).Login2FA(ctx, req.(*LoginRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_Login2Passwords_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(LoginRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).Login2Passwords(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/Login2Passwords",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).Login2Passwords(ctx, req.(*LoginRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_LoginAbort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(LoginAbortRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).LoginAbort(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/LoginAbort",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).LoginAbort(ctx, req.(*LoginAbortRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_CheckUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).CheckUpdate(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/CheckUpdate",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).CheckUpdate(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_InstallUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).InstallUpdate(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/InstallUpdate",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).InstallUpdate(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_SetIsAutomaticUpdateOn_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(wrapperspb.BoolValue)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).SetIsAutomaticUpdateOn(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/SetIsAutomaticUpdateOn",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).SetIsAutomaticUpdateOn(ctx, req.(*wrapperspb.BoolValue))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_IsAutomaticUpdateOn_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).IsAutomaticUpdateOn(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/IsAutomaticUpdateOn",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).IsAutomaticUpdateOn(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_SetIsCacheOnDiskEnabled_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(wrapperspb.BoolValue)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).SetIsCacheOnDiskEnabled(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/SetIsCacheOnDiskEnabled",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).SetIsCacheOnDiskEnabled(ctx, req.(*wrapperspb.BoolValue))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_IsCacheOnDiskEnabled_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).IsCacheOnDiskEnabled(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/IsCacheOnDiskEnabled",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).IsCacheOnDiskEnabled(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_SetDiskCachePath_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(wrapperspb.StringValue)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).SetDiskCachePath(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/SetDiskCachePath",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).SetDiskCachePath(ctx, req.(*wrapperspb.StringValue))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_DiskCachePath_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).DiskCachePath(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/DiskCachePath",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).DiskCachePath(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_ChangeLocalCache_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ChangeLocalCacheRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).ChangeLocalCache(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/ChangeLocalCache",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).ChangeLocalCache(ctx, req.(*ChangeLocalCacheRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_SetIsDoHEnabled_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(wrapperspb.BoolValue)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).SetIsDoHEnabled(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/SetIsDoHEnabled",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).SetIsDoHEnabled(ctx, req.(*wrapperspb.BoolValue))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_IsDoHEnabled_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).IsDoHEnabled(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/IsDoHEnabled",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).IsDoHEnabled(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_SetUseSslForSmtp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(wrapperspb.BoolValue)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).SetUseSslForSmtp(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/SetUseSslForSmtp",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).SetUseSslForSmtp(ctx, req.(*wrapperspb.BoolValue))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_UseSslForSmtp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).UseSslForSmtp(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/UseSslForSmtp",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).UseSslForSmtp(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_Hostname_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).Hostname(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/Hostname",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).Hostname(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_SetImapPort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(wrapperspb.Int32Value)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).SetImapPort(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/SetImapPort",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).SetImapPort(ctx, req.(*wrapperspb.Int32Value))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_ImapPort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).ImapPort(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/ImapPort",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).ImapPort(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_SetSmtpPort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(wrapperspb.Int32Value)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).SetSmtpPort(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/SetSmtpPort",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).SetSmtpPort(ctx, req.(*wrapperspb.Int32Value))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_SmtpPort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).SmtpPort(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/SmtpPort",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).SmtpPort(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_ChangePorts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ChangePortsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).ChangePorts(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/ChangePorts",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).ChangePorts(ctx, req.(*ChangePortsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_IsPortFree_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(wrapperspb.Int32Value)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).IsPortFree(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/IsPortFree",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).IsPortFree(ctx, req.(*wrapperspb.Int32Value))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_AvailableKeychains_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).AvailableKeychains(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/AvailableKeychains",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).AvailableKeychains(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_SetCurrentKeychain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(wrapperspb.StringValue)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).SetCurrentKeychain(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/SetCurrentKeychain",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).SetCurrentKeychain(ctx, req.(*wrapperspb.StringValue))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_CurrentKeychain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).CurrentKeychain(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/CurrentKeychain",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).CurrentKeychain(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_GetUserList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).GetUserList(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/GetUserList",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).GetUserList(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_GetUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(emptypb.Empty)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).GetUser(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/GetUser",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).GetUser(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_SetUserSplitMode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(UserSplitModeRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).SetUserSplitMode(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/SetUserSplitMode",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).SetUserSplitMode(ctx, req.(*UserSplitModeRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_LogoutUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(wrapperspb.StringValue)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).LogoutUser(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/LogoutUser",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).LogoutUser(ctx, req.(*wrapperspb.StringValue))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_RemoveUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(wrapperspb.StringValue)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).RemoveUser(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/RemoveUser",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).RemoveUser(ctx, req.(*wrapperspb.StringValue))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_ConfigureUserAppleMail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ConfigureAppleMailRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(BridgeRpcServer).ConfigureUserAppleMail(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/bridgerpc.BridgeRpc/ConfigureUserAppleMail",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeRpcServer).ConfigureUserAppleMail(ctx, req.(*ConfigureAppleMailRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _BridgeRpc_GetEvents_Handler(srv interface{}, stream grpc.ServerStream) error {
+ m := new(emptypb.Empty)
+ if err := stream.RecvMsg(m); err != nil {
+ return err
+ }
+ return srv.(BridgeRpcServer).GetEvents(m, &bridgeRpcGetEventsServer{stream})
+}
+
+type BridgeRpc_GetEventsServer interface {
+ Send(*StreamEvent) error
+ grpc.ServerStream
+}
+
+type bridgeRpcGetEventsServer struct {
+ grpc.ServerStream
+}
+
+func (x *bridgeRpcGetEventsServer) Send(m *StreamEvent) error {
+ return x.ServerStream.SendMsg(m)
+}
+
+// BridgeRpc_ServiceDesc is the grpc.ServiceDesc for BridgeRpc service.
+// It's only intended for direct use with grpc.RegisterService,
+// and not to be introspected or modified (even as a copy)
+var BridgeRpc_ServiceDesc = grpc.ServiceDesc{
+ ServiceName: "bridgerpc.BridgeRpc",
+ HandlerType: (*BridgeRpcServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "GetCursorPos",
+ Handler: _BridgeRpc_GetCursorPos_Handler,
+ },
+ {
+ MethodName: "GuiReady",
+ Handler: _BridgeRpc_GuiReady_Handler,
+ },
+ {
+ MethodName: "Quit",
+ Handler: _BridgeRpc_Quit_Handler,
+ },
+ {
+ MethodName: "Restart",
+ Handler: _BridgeRpc_Restart_Handler,
+ },
+ {
+ MethodName: "SetShowOnStartup",
+ Handler: _BridgeRpc_SetShowOnStartup_Handler,
+ },
+ {
+ MethodName: "ShowOnStartup",
+ Handler: _BridgeRpc_ShowOnStartup_Handler,
+ },
+ {
+ MethodName: "SetShowSplashScreen",
+ Handler: _BridgeRpc_SetShowSplashScreen_Handler,
+ },
+ {
+ MethodName: "ShowSplashScreen",
+ Handler: _BridgeRpc_ShowSplashScreen_Handler,
+ },
+ {
+ MethodName: "SetDockIconVisible",
+ Handler: _BridgeRpc_SetDockIconVisible_Handler,
+ },
+ {
+ MethodName: "DockIconVisible",
+ Handler: _BridgeRpc_DockIconVisible_Handler,
+ },
+ {
+ MethodName: "SetIsFirstGuiStart",
+ Handler: _BridgeRpc_SetIsFirstGuiStart_Handler,
+ },
+ {
+ MethodName: "IsFirstGuiStart",
+ Handler: _BridgeRpc_IsFirstGuiStart_Handler,
+ },
+ {
+ MethodName: "SetIsAutostartOn",
+ Handler: _BridgeRpc_SetIsAutostartOn_Handler,
+ },
+ {
+ MethodName: "IsAutostartOn",
+ Handler: _BridgeRpc_IsAutostartOn_Handler,
+ },
+ {
+ MethodName: "SetIsBetaEnabled",
+ Handler: _BridgeRpc_SetIsBetaEnabled_Handler,
+ },
+ {
+ MethodName: "IsBetaEnabled",
+ Handler: _BridgeRpc_IsBetaEnabled_Handler,
+ },
+ {
+ MethodName: "GoOs",
+ Handler: _BridgeRpc_GoOs_Handler,
+ },
+ {
+ MethodName: "TriggerReset",
+ Handler: _BridgeRpc_TriggerReset_Handler,
+ },
+ {
+ MethodName: "Version",
+ Handler: _BridgeRpc_Version_Handler,
+ },
+ {
+ MethodName: "LogPath",
+ Handler: _BridgeRpc_LogPath_Handler,
+ },
+ {
+ MethodName: "LicensePath",
+ Handler: _BridgeRpc_LicensePath_Handler,
+ },
+ {
+ MethodName: "ReleaseNotesLink",
+ Handler: _BridgeRpc_ReleaseNotesLink_Handler,
+ },
+ {
+ MethodName: "LandingPageLink",
+ Handler: _BridgeRpc_LandingPageLink_Handler,
+ },
+ {
+ MethodName: "SetColorSchemeName",
+ Handler: _BridgeRpc_SetColorSchemeName_Handler,
+ },
+ {
+ MethodName: "ColorSchemeName",
+ Handler: _BridgeRpc_ColorSchemeName_Handler,
+ },
+ {
+ MethodName: "SetCurrentEmailClient",
+ Handler: _BridgeRpc_SetCurrentEmailClient_Handler,
+ },
+ {
+ MethodName: "CurrentEmailClient",
+ Handler: _BridgeRpc_CurrentEmailClient_Handler,
+ },
+ {
+ MethodName: "ReportBug",
+ Handler: _BridgeRpc_ReportBug_Handler,
+ },
+ {
+ MethodName: "Login",
+ Handler: _BridgeRpc_Login_Handler,
+ },
+ {
+ MethodName: "Login2FA",
+ Handler: _BridgeRpc_Login2FA_Handler,
+ },
+ {
+ MethodName: "Login2Passwords",
+ Handler: _BridgeRpc_Login2Passwords_Handler,
+ },
+ {
+ MethodName: "LoginAbort",
+ Handler: _BridgeRpc_LoginAbort_Handler,
+ },
+ {
+ MethodName: "CheckUpdate",
+ Handler: _BridgeRpc_CheckUpdate_Handler,
+ },
+ {
+ MethodName: "InstallUpdate",
+ Handler: _BridgeRpc_InstallUpdate_Handler,
+ },
+ {
+ MethodName: "SetIsAutomaticUpdateOn",
+ Handler: _BridgeRpc_SetIsAutomaticUpdateOn_Handler,
+ },
+ {
+ MethodName: "IsAutomaticUpdateOn",
+ Handler: _BridgeRpc_IsAutomaticUpdateOn_Handler,
+ },
+ {
+ MethodName: "SetIsCacheOnDiskEnabled",
+ Handler: _BridgeRpc_SetIsCacheOnDiskEnabled_Handler,
+ },
+ {
+ MethodName: "IsCacheOnDiskEnabled",
+ Handler: _BridgeRpc_IsCacheOnDiskEnabled_Handler,
+ },
+ {
+ MethodName: "SetDiskCachePath",
+ Handler: _BridgeRpc_SetDiskCachePath_Handler,
+ },
+ {
+ MethodName: "DiskCachePath",
+ Handler: _BridgeRpc_DiskCachePath_Handler,
+ },
+ {
+ MethodName: "ChangeLocalCache",
+ Handler: _BridgeRpc_ChangeLocalCache_Handler,
+ },
+ {
+ MethodName: "SetIsDoHEnabled",
+ Handler: _BridgeRpc_SetIsDoHEnabled_Handler,
+ },
+ {
+ MethodName: "IsDoHEnabled",
+ Handler: _BridgeRpc_IsDoHEnabled_Handler,
+ },
+ {
+ MethodName: "SetUseSslForSmtp",
+ Handler: _BridgeRpc_SetUseSslForSmtp_Handler,
+ },
+ {
+ MethodName: "UseSslForSmtp",
+ Handler: _BridgeRpc_UseSslForSmtp_Handler,
+ },
+ {
+ MethodName: "Hostname",
+ Handler: _BridgeRpc_Hostname_Handler,
+ },
+ {
+ MethodName: "SetImapPort",
+ Handler: _BridgeRpc_SetImapPort_Handler,
+ },
+ {
+ MethodName: "ImapPort",
+ Handler: _BridgeRpc_ImapPort_Handler,
+ },
+ {
+ MethodName: "SetSmtpPort",
+ Handler: _BridgeRpc_SetSmtpPort_Handler,
+ },
+ {
+ MethodName: "SmtpPort",
+ Handler: _BridgeRpc_SmtpPort_Handler,
+ },
+ {
+ MethodName: "ChangePorts",
+ Handler: _BridgeRpc_ChangePorts_Handler,
+ },
+ {
+ MethodName: "IsPortFree",
+ Handler: _BridgeRpc_IsPortFree_Handler,
+ },
+ {
+ MethodName: "AvailableKeychains",
+ Handler: _BridgeRpc_AvailableKeychains_Handler,
+ },
+ {
+ MethodName: "SetCurrentKeychain",
+ Handler: _BridgeRpc_SetCurrentKeychain_Handler,
+ },
+ {
+ MethodName: "CurrentKeychain",
+ Handler: _BridgeRpc_CurrentKeychain_Handler,
+ },
+ {
+ MethodName: "GetUserList",
+ Handler: _BridgeRpc_GetUserList_Handler,
+ },
+ {
+ MethodName: "GetUser",
+ Handler: _BridgeRpc_GetUser_Handler,
+ },
+ {
+ MethodName: "SetUserSplitMode",
+ Handler: _BridgeRpc_SetUserSplitMode_Handler,
+ },
+ {
+ MethodName: "LogoutUser",
+ Handler: _BridgeRpc_LogoutUser_Handler,
+ },
+ {
+ MethodName: "RemoveUser",
+ Handler: _BridgeRpc_RemoveUser_Handler,
+ },
+ {
+ MethodName: "ConfigureUserAppleMail",
+ Handler: _BridgeRpc_ConfigureUserAppleMail_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{
+ {
+ StreamName: "GetEvents",
+ Handler: _BridgeRpc_GetEvents_Handler,
+ ServerStreams: true,
+ },
+ },
+ Metadata: "bridge_rpc.proto",
+}
diff --git a/internal/rpc/server.go b/internal/rpc/server.go
new file mode 100644
index 00000000..a33a8883
--- /dev/null
+++ b/internal/rpc/server.go
@@ -0,0 +1,121 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.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 rpc
+
+import (
+ "crypto/tls"
+ "net"
+
+ "github.com/sirupsen/logrus"
+ "google.golang.org/grpc"
+ "google.golang.org/grpc/credentials"
+)
+
+//go:generate protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative bridge_rpc.proto
+
+//goland:noinspection SpellCheckingInspection
+const (
+ serverCert = `-----BEGIN CERTIFICATE-----
+MIIC5TCCAc2gAwIBAgIJAJL2PajH8kFjMA0GCSqGSIb3DQEBCwUAMBQxEjAQBgNV
+BAMMCWxvY2FsaG9zdDAeFw0yMjA1MTAwNjEzMzdaFw0yMjA2MDkwNjEzMzdaMBQx
+EjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBAKyb48XL+08YI8m4X/eeD9TQshV+vybKbU7MOG7BnH3Hv7kUH0aVP7OPnU51
+eYRgUu+bkJ8qWhxD7wOLVJBcU5T1lgd+k6St83ix25P02nUc3UeU4MCxMwhjMjYu
+R5F9bfSG0UlCCGAEjjmGh+CfnZkS+rgCwE/xGswFnVrynTMvrLQyN02dz/r4zJPp
+yyVhTOmjdsUDs0zGDbubLf+ypR8VCXg55qYMw7Abpe+rx3BF+NCEjKlATjMeIZNx
+iS0dl0OGjJZ+bfHGhnPiQxP8HxyJ0NjFNtWgblQev2sHmIq65Rry3RP1gbDAW3sk
+MiIfjbnp4gGspYrmHWeWXH8g6WMCAwEAAaM6MDgwFAYDVR0RBA0wC4IJbG9jYWxo
+b3N0MAsGA1UdDwQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDATANBgkqhkiG9w0B
+AQsFAAOCAQEAO2WDYnzy9SkaS9VU2jw3nd9MEaILZsXFcVU2+52TKwRBty7b0A1x
+zyxT6nT0pN0Im7DcT5/TvwFuVBJUTFs4c2gW09WUvtfuN8HVFOeX/1Pt10lMPJjR
+I+wTAUQrXJHt57JE9x13gQEOW/mGUDNuoUH2cE9C1f+TrO0LaRj8dubS/gHMuV1i
+aTyxu7hgbLAYq0NGD86CSOwvUvTvs6o628xvfmqqdzlpWIlQq18t2GZYFVWjrISY
+LWw3OCormKSASOPrW1FXhrgwoyDXHNmZT1MHL3Rh9U5qyCwV5kDAcY956sc9lD3G
+XHtSxOHLE1eDKGCUKRcYop/99inTGjJ6Xg==
+-----END CERTIFICATE-----`
+
+ serverKey = `-----BEGIN PRIVATE KEY-----
+MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCsm+PFy/tPGCPJ
+uF/3ng/U0LIVfr8mym1OzDhuwZx9x7+5FB9GlT+zj51OdXmEYFLvm5CfKlocQ+8D
+i1SQXFOU9ZYHfpOkrfN4sduT9Np1HN1HlODAsTMIYzI2LkeRfW30htFJQghgBI45
+hofgn52ZEvq4AsBP8RrMBZ1a8p0zL6y0MjdNnc/6+MyT6cslYUzpo3bFA7NMxg27
+my3/sqUfFQl4OeamDMOwG6Xvq8dwRfjQhIypQE4zHiGTcYktHZdDhoyWfm3xxoZz
+4kMT/B8cidDYxTbVoG5UHr9rB5iKuuUa8t0T9YGwwFt7JDIiH4256eIBrKWK5h1n
+llx/IOljAgMBAAECggEBAIgsaBKo7XelzL4cpiFc4pJ7nrMUjktVEc1DkhXWytX0
+W03xEQeHQX0whOLcDOUhdOyxZvQa3oJEGfFK34kQPaRb52O8OVCHJ3iFoHxmhF42
+SmBplLKQWXl5gKh79FxUfwWVwtCvtpnBnk7F0rakVhnofkHjccLfrMtedpjEpL42
+xuzcoMnGrDLtCsfyDZTpTA0+xQhYb3qlkX4V1gVS/Sp3zLotUqE9THjCbTVcl0Ux
+UKqMaMcqYX+GVBoPE5B2aelmvIKgvUYy1RNVsVdi5mvmO4fdm14/7vgxrWO3gV0Z
+RWLnJQ5ISktx/9YCRro3UTu5eR7JO3CKAYTAzQpdDSkCgYEA4SGa/WTBPImMJKnV
+aM9pK74Z4yZ3FEv3Le1BE63rduETVOXs8QhWsDt7upu2del6Pb8UI1kkgK2EshXW
+l61pzQmsAvUSUO7AW4KPRgwjDy4kRLAozq3kMbmdrSc7cfxXHiktUyZ8Rmt1VjsP
+d+/OzB2ZG4DdmGR8Kk8tzCHTjMcCgYEAxEavBi+Mw+EUz3X+8nSDyGO57iJvr63N
+poubJfRPrV20lkY1OoGm+c1jXohAI+afGZNJvp84eQwYCyZEczEncmPMYI6nyuJL
+i3fyoG9YTFa6edpdLowA9J14x6agh1y1q5ADrbL2L6Gf3to9q+E2RjKlJvlfYd5w
+URaQoZ5/CoUCgYBoV/IE9bjWPQ4WRBzkahVdr8tBy6cvYhIbWDZsT5St0Z3rIHIU
+OQAsyDUNhXQo7GC606AazgssFMBG5fZC8J3z6UKvUDUAC9hd0YJkPeXV+FXY/Ci9
+ujzkixo4kdFsgD9EfGNEgbbh0JZetBr0RNJ9Kk63P5/1LMWbun0IerkZKwKBgQC1
+DA4+QnYx6NjtVQZKVzeIDJVhF9q1zjg4O+Zs6CLm49zEERbgVN/U5KOYe03Oz9hK
+GxaXAv9wiLtU7YOOTfT5Cx1mo7Aa8QqGJ6piWtKz9/wikk4JtZLcELVsVEMXGWlq
+S3lZLA7yeL+jLOReO2t47RZyEOzuteQcqBfZPP4qkQKBgQDHkUXgMbqchcXeM6Nf
+LALiNkbf+4BeaWI+h3HteVjFkKRrRCMihDHcBg/nWF0SI/AoVoy+ybxYv7dME7z5
+kPas6sPvVg81i96xesKTry7lefM+3H6hSqrKBYZdu7XXItBYvHctuGLSin2gV+WU
+vwTpDMetrvhD7qmlwspJPwHaOw==
+-----END PRIVATE KEY-----`
+)
+
+// Server is the RPC server struct.
+type Server struct {
+ grpcServer *grpc.Server
+ listener net.Listener
+ log *logrus.Entry
+}
+
+// NewServer returns a new RPC server.
+func NewServer() *Server {
+ log := logrus.WithField("pkg", "rpc")
+
+ cert, err := tls.X509KeyPair([]byte(serverCert), []byte(serverKey))
+ if err != nil {
+ log.WithError(err).Error("could not create key pair")
+ panic(err)
+ }
+
+ grpcServer := grpc.NewServer(grpc.Creds(credentials.NewTLS(&tls.Config{
+ Certificates: []tls.Certificate{cert},
+ MinVersion: tls.VersionTLS13,
+ })))
+
+ RegisterBridgeRpcServer(grpcServer, NewService(grpcServer, log))
+
+ listener, err := net.Listen("tcp", "127.0.0.1:9292") // Port should be configurable from the command-line.
+ if err != nil {
+ log.WithError(err).Error("could not create listener")
+ panic(err)
+ }
+
+ return &Server{grpcServer: grpcServer, listener: listener, log: log}
+}
+
+// ListenAndServe provides the RPC service.
+func (s *Server) ListenAndServe() {
+ err := s.grpcServer.Serve(s.listener)
+ if err != nil {
+ s.log.WithError(err).Error("error serving RPC")
+ }
+}
diff --git a/internal/rpc/service.go b/internal/rpc/service.go
new file mode 100644
index 00000000..c575ed16
--- /dev/null
+++ b/internal/rpc/service.go
@@ -0,0 +1,690 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.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 rpc
+
+import (
+ "context"
+
+ "github.com/google/uuid"
+ "github.com/sirupsen/logrus"
+ "google.golang.org/grpc"
+ "google.golang.org/protobuf/types/known/emptypb"
+ "google.golang.org/protobuf/types/known/wrapperspb"
+)
+
+// Service is the RPC service struct.
+type Service struct {
+ UnimplementedBridgeRpcServer
+ grpcServer *grpc.Server
+ log *logrus.Entry
+
+ showOnStartup bool
+ showSplashScreen bool
+ dockIconVisible bool
+ isFirstGuiStart bool
+ isAutostartOn bool
+ isBetaEnabled bool
+ colorSchemeName string
+ currentEmailClient string
+ isAutoUpdateOn bool
+ isCacheOnDiskEnabled bool
+ diskCachePath string
+ isDohEnabled bool
+ useSSLForSMTP bool
+ hostname string
+ imapPort uint16
+ smtpPort uint16
+ keychains []string
+ currentKeychain string
+ users []*User
+ currentUser string
+}
+
+// NewService returns a new instance of the service.
+func NewService(grpcServer *grpc.Server, log *logrus.Entry) *Service {
+ service := Service{
+ grpcServer: grpcServer,
+ log: log,
+ colorSchemeName: "aName",
+ currentEmailClient: "aClient",
+ hostname: "dummy.proton.me",
+ imapPort: 143,
+ smtpPort: 25,
+ keychains: []string{uuid.New().String(), uuid.New().String(), uuid.New().String()},
+ users: []*User{{
+ Id: uuid.New().String(),
+ Username: "user1",
+ AvatarText: "avatarText1",
+ LoggedIn: true,
+ SplitMode: false,
+ SetupGuideSeen: true,
+ UsedBytes: 5000000000,
+ TotalBytes: 1000000000,
+ Password: "dummyPassword",
+ Addresses: []string{"dummy@proton.me"},
+ }, {
+ Id: uuid.New().String(),
+ Username: "user2",
+ AvatarText: "avatarText2",
+ LoggedIn: false,
+ SplitMode: true,
+ SetupGuideSeen: false,
+ UsedBytes: 4000000000,
+ TotalBytes: 2000000000,
+ Password: "dummyPassword2",
+ Addresses: []string{"dummy2@proton.me"},
+ }},
+ }
+ service.currentKeychain = service.keychains[0]
+ service.currentUser = service.users[0].Id
+
+ return &service
+}
+
+func (s *Service) GetCursorPos(context.Context, *emptypb.Empty) (*PointResponse, error) {
+ s.log.Info("GetCursorPos")
+ return &PointResponse{X: 100, Y: 200}, nil
+}
+
+func (s *Service) GuiReady(context.Context, *emptypb.Empty) (*emptypb.Empty, error) {
+ s.log.Info("GuiReady")
+ return &emptypb.Empty{}, nil
+}
+func (s *Service) Quit(context.Context, *emptypb.Empty) (*emptypb.Empty, error) {
+ s.log.Info("Quit")
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) Restart(context.Context, *emptypb.Empty) (*emptypb.Empty, error) {
+ s.log.Info("Restart")
+ return &emptypb.Empty{}, nil
+}
+func (s *Service) SetShowOnStartup(_ context.Context, show *wrapperspb.BoolValue) (*emptypb.Empty, error) {
+ s.log.WithField("show", show.Value).Info("SetShowOnStartup")
+ s.showOnStartup = show.Value
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) ShowOnStartup(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error) {
+ s.log.Info("ShowOnStartup")
+ return wrapperspb.Bool(s.showOnStartup), nil
+}
+
+func (s *Service) SetShowSplashScreen(_ context.Context, show *wrapperspb.BoolValue) (*emptypb.Empty, error) {
+ s.log.WithField("show", show.Value).Info("SetShowSplashScreen")
+ s.showSplashScreen = show.Value
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) ShowSplashScreen(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error) {
+ s.log.Info("ShowSplashScreen")
+ return wrapperspb.Bool(s.showSplashScreen), nil
+}
+
+func (s *Service) SetDockIconVisible(_ context.Context, visible *wrapperspb.BoolValue) (*emptypb.Empty, error) {
+ s.log.WithField("show", visible.Value).Info("SetDockIconVisible")
+ s.dockIconVisible = visible.Value
+ return &emptypb.Empty{}, nil
+}
+func (s *Service) DockIconVisible(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error) {
+ s.log.Info("DockIconVisible")
+ return wrapperspb.Bool(s.dockIconVisible), nil
+}
+func (s *Service) SetIsFirstGuiStart(_ context.Context, isFirst *wrapperspb.BoolValue) (*emptypb.Empty, error) {
+ s.log.WithField("show", isFirst.Value).Info("SetIsFirstGuiStart")
+ s.isFirstGuiStart = isFirst.Value
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) IsFirstGuiStart(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error) {
+ s.log.Info("IsFirstGuiStart")
+ return wrapperspb.Bool(s.isFirstGuiStart), nil
+}
+
+func (s *Service) SetIsAutostartOn(_ context.Context, isOn *wrapperspb.BoolValue) (*emptypb.Empty, error) {
+ s.log.WithField("show", isOn.Value).Info("SetIsAutostartOn")
+ s.isAutostartOn = isOn.Value
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) IsAutostartOn(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error) {
+ s.log.Info("IsAutostartOn")
+ return wrapperspb.Bool(s.isAutostartOn), nil
+}
+
+func (s *Service) SetIsBetaEnabled(_ context.Context, isEnabled *wrapperspb.BoolValue) (*emptypb.Empty, error) {
+ s.log.WithField("show", isEnabled.Value).Info("SetIsBetaEnabled")
+ s.isBetaEnabled = isEnabled.Value
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) IsBetaEnabled(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error) {
+ s.log.Info("IsBetaEnabled")
+ return wrapperspb.Bool(s.isBetaEnabled), nil
+}
+
+func (s *Service) GoOs(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error) {
+ s.log.Info("GoOs")
+ return wrapperspb.String("DummyOsName"), nil
+}
+
+func (s *Service) TriggerReset(context.Context, *emptypb.Empty) (*emptypb.Empty, error) {
+ s.log.Info("TriggerReset")
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) Version(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error) {
+ s.log.Info("Version")
+ return wrapperspb.String("1.0"), nil
+}
+
+func (s *Service) LogPath(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error) {
+ s.log.Info("LogPath")
+ return wrapperspb.String("/path/to/log"), nil
+}
+
+func (s *Service) LicensePath(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error) {
+ s.log.Info("LicensePath")
+ return wrapperspb.String("/path/to/license"), nil
+}
+
+func (s *Service) ReleaseNotesLink(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error) {
+ s.log.Info("ReleaseNotesLink")
+ return wrapperspb.String("https//proton.me/release/notes.html"), nil
+}
+
+func (s *Service) LandingPageLink(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error) {
+ s.log.Info("LandingPageLink")
+ return wrapperspb.String("https//proton.me"), nil
+}
+
+func (s *Service) SetColorSchemeName(_ context.Context, name *wrapperspb.StringValue) (*emptypb.Empty, error) {
+ s.log.WithField("ColorSchemeName", name.Value).Info("SetColorSchemeName")
+ s.colorSchemeName = name.Value
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) ColorSchemeName(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error) {
+ s.log.Info("ColorSchemeName")
+ return wrapperspb.String(s.colorSchemeName), nil
+}
+
+func (s *Service) SetCurrentEmailClient(_ context.Context, client *wrapperspb.StringValue) (*emptypb.Empty, error) {
+ s.log.WithField("CurrentEmailClient", client.Value).Info("SetCurrentEmailClient")
+ s.currentEmailClient = client.Value
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) CurrentEmailClient(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error) {
+ s.log.Info("CurrentEmailClient")
+ return wrapperspb.String(s.currentEmailClient), nil
+}
+
+func (s *Service) ReportBug(_ context.Context, report *ReportBugRequest) (*emptypb.Empty, error) {
+ s.log.WithField("description", report.Description).
+ WithField("address", report.Address).
+ WithField("emailClient", report.EmailClient).
+ WithField("includeLogs", report.IncludeLogs).
+ Info("ReportBug")
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) Login(_ context.Context, login *LoginRequest) (*emptypb.Empty, error) {
+ s.log.
+ WithField("username", login.Username).
+ Info("Login")
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) Login2FA(_ context.Context, login *LoginRequest) (*emptypb.Empty, error) {
+ s.log.
+ WithField("username", login.Username).
+ Info("Login2FA")
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) Login2Passwords(_ context.Context, login *LoginRequest) (*emptypb.Empty, error) {
+ s.log.
+ WithField("username", login.Username).
+ Info("Login2Passwords")
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) LoginAbort(_ context.Context, loginAbort *LoginAbortRequest) (*emptypb.Empty, error) {
+ s.log.
+ WithField("username", loginAbort.Username).
+ Info("LoginAbort")
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) CheckUpdate(context.Context, *emptypb.Empty) (*emptypb.Empty, error) {
+ s.log.Info("CheckUpdate")
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) InstallUpdate(context.Context, *emptypb.Empty) (*emptypb.Empty, error) {
+ s.log.Info("InstallUpdate")
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) SetIsAutomaticUpdateOn(_ context.Context, isOn *wrapperspb.BoolValue) (*emptypb.Empty, error) {
+ s.log.WithField("isOn", isOn.Value).Info("SetIsAutomaticUpdateOn")
+ s.isAutoUpdateOn = isOn.Value
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) IsAutomaticUpdateOn(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error) {
+ s.log.Info("IsAutomaticUpdateOn")
+ return wrapperspb.Bool(s.isAutoUpdateOn), nil
+}
+
+func (s *Service) SetIsCacheOnDiskEnabled(_ context.Context, isEnabled *wrapperspb.BoolValue) (*emptypb.Empty, error) {
+ s.log.WithField("isOn", isEnabled.Value).Info("SetIsCacheOnDiskEnabled")
+ s.isCacheOnDiskEnabled = isEnabled.Value
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) IsCacheOnDiskEnabled(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error) {
+ s.log.Info("IsCacheOnDiskEnabled")
+ return wrapperspb.Bool(s.isCacheOnDiskEnabled), nil
+}
+
+func (s *Service) SetDiskCachePath(_ context.Context, path *wrapperspb.StringValue) (*emptypb.Empty, error) {
+ s.log.WithField("path", path.Value).Info("IsCacheOnDiskEnabled")
+ s.diskCachePath = path.Value
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) DiskCachePath(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error) {
+ s.log.Info("DiskCachePath")
+ return wrapperspb.String(s.diskCachePath), nil
+}
+
+func (s *Service) ChangeLocalCache(_ context.Context, change *ChangeLocalCacheRequest) (*emptypb.Empty, error) {
+ s.log.
+ WithField("enableDiskCache", change.EnableDiskCache).
+ WithField("diskCachePath", change.DiskCachePath).
+ Info("DiskCachePath")
+ s.isCacheOnDiskEnabled = change.EnableDiskCache
+ s.diskCachePath = change.DiskCachePath
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) SetIsDoHEnabled(_ context.Context, isEnabled *wrapperspb.BoolValue) (*emptypb.Empty, error) {
+ s.log.WithField("isEnabled", isEnabled.Value).Info("SetIsDohEnabled")
+ s.isDohEnabled = isEnabled.Value
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) IsDoHEnabled(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error) {
+ s.log.Info("IsDohEnabled")
+ return wrapperspb.Bool(s.isDohEnabled), nil
+}
+func (s *Service) SetUseSslForSmtp(_ context.Context, useSsl *wrapperspb.BoolValue) (*emptypb.Empty, error) { //nolint:revive,stylecheck
+ s.log.WithField("useSsl", useSsl.Value).Info("SetUseSslForSmtp")
+ s.useSSLForSMTP = useSsl.Value
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) UseSslForSmtp(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error) { //nolint:revive,stylecheck
+ s.log.Info("UseSslForSmtp")
+ return wrapperspb.Bool(s.useSSLForSMTP), nil
+}
+
+func (s *Service) Hostname(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error) {
+ s.log.Info("Hostname")
+ return wrapperspb.String(s.hostname), nil
+}
+
+func (s *Service) SetImapPort(_ context.Context, port *wrapperspb.Int32Value) (*emptypb.Empty, error) {
+ s.log.WithField("port", port.Value).Info("SetImapPort")
+ s.imapPort = uint16(port.Value)
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) ImapPort(context.Context, *emptypb.Empty) (*wrapperspb.Int32Value, error) {
+ s.log.Info("ImapPort")
+ return wrapperspb.Int32(int32(s.imapPort)), nil
+}
+
+func (s *Service) SetSmtpPort(_ context.Context, port *wrapperspb.Int32Value) (*emptypb.Empty, error) { //nolint:revive,stylecheck
+ s.log.WithField("port", port.Value).Info("SetSmtpPort")
+ s.smtpPort = uint16(port.Value)
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) SmtpPort(context.Context, *emptypb.Empty) (*wrapperspb.Int32Value, error) { //nolint:revive,stylecheck
+ s.log.Info("SmtpPort")
+ return wrapperspb.Int32(int32(s.smtpPort)), nil
+}
+
+func (s *Service) ChangePorts(_ context.Context, ports *ChangePortsRequest) (*emptypb.Empty, error) {
+ s.log.WithField("imapPort", ports.ImapPort).WithField("smtpPort", ports.SmtpPort).Info("ChangePorts")
+ s.imapPort = uint16(ports.ImapPort)
+ s.smtpPort = uint16(ports.SmtpPort)
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) IsPortFree(context.Context, *wrapperspb.Int32Value) (*wrapperspb.BoolValue, error) {
+ s.log.Info("IsPortFree")
+ return wrapperspb.Bool(true), nil
+}
+
+func (s *Service) AvailableKeychains(context.Context, *emptypb.Empty) (*AvailableKeychainsResponse, error) {
+ s.log.Info("AvailableKeychains")
+ return &AvailableKeychainsResponse{Keychains: s.keychains}, nil
+}
+
+func (s *Service) SetCurrentKeychain(_ context.Context, keychain *wrapperspb.StringValue) (*emptypb.Empty, error) {
+ s.log.WithField("keychain", keychain.Value).Info("SetCurrentKeyChain") // we do not check validity.
+ s.currentKeychain = keychain.Value
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) CurrentKeychain(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error) {
+ s.log.Info("CurrentKeychain")
+ return wrapperspb.String(s.currentKeychain), nil
+}
+
+func (s *Service) GetUserList(context.Context, *emptypb.Empty) (*UserListResponse, error) {
+ s.log.Info("GetUserList")
+ return &UserListResponse{Users: s.users}, nil
+}
+func (s *Service) GetUser(context.Context, *emptypb.Empty) (*User, error) {
+ s.log.Info("GetUser")
+ return s.getCurrentUser(), nil
+}
+func (s *Service) SetUserSplitMode(_ context.Context, splitMode *UserSplitModeRequest) (*emptypb.Empty, error) {
+ s.log.WithField("UserID", splitMode.UserID).WithField("Active", splitMode.Active).Info("SetUserSplitMode")
+ user := s.findUser(splitMode.UserID) // we should return an error
+ if user != nil {
+ user.SplitMode = splitMode.Active
+ }
+
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) LogoutUser(_ context.Context, userID *wrapperspb.StringValue) (*emptypb.Empty, error) {
+ s.log.WithField("UserID", userID.Value).Info("LogoutUser")
+ user := s.findUser(userID.Value)
+ if user != nil {
+ user.LoggedIn = false
+ }
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) RemoveUser(_ context.Context, userID *wrapperspb.StringValue) (*emptypb.Empty, error) {
+ s.log.WithField("UserID", userID.Value).Info("RemoveUser")
+ // we actually do nothing
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) ConfigureUserAppleMail(_ context.Context, request *ConfigureAppleMailRequest) (*emptypb.Empty, error) {
+ s.log.WithField("UserID", request.UserID).WithField("Address", request.Address).Info("ConfigureUserAppleMail")
+ return &emptypb.Empty{}, nil
+}
+
+func (s *Service) GetEvents(_ *emptypb.Empty, server BridgeRpc_GetEventsServer) error { // nolint:funlen
+ s.log.Info("Starting Event stream")
+
+ events := []func() *StreamEvent{
+ // app
+ internetStatusEvent,
+ autostartFinishedEvent,
+ resetFinishedEvent,
+ reportBugFinishedEvent,
+ reportBugSuccessEvent,
+ reportBugErrorEvent,
+ showMainWindowEvent,
+
+ // login
+ loginError,
+ loginTfaRequestedEvent,
+ loginTwoPasswordsRequestedEvent,
+ loginFinishedEvent,
+
+ // update
+ updateErrorEvent,
+ updateManualReadyEvent,
+ updateManualRestartNeededEvent,
+ updateForceEvent,
+ updateSilentRestartNeededEvent,
+ updateIsLatestVersionEvent,
+ updateCheckFinishedEvent,
+
+ // cache
+ cacheErrorEvent,
+ cacheLocationChangeSuccessEvent,
+ cacheChangeLocalCacheFinishedEvent,
+
+ // mail settings
+ mailSettingsErrorEvent,
+ mailSettingsUseSslForSmtpFinishedEvent,
+ mailSettingsChangePortFinishedEvent,
+
+ // keychain
+ keychainChangeKeychainFinishedEvent,
+ keychainHasNoKeychainEvent,
+ keychainRebuildKeychainEvent,
+
+ // mail
+ mailNoActiveKeyForRecipientEvent,
+ mailAddressChangeEvent,
+ mailAddressChangeLogoutEvent,
+ mailApiCertIssue,
+
+ // user
+ userToggleSplitModeFinishedEvent,
+ userDisconnectedEvent,
+ userChangedEvent,
+ }
+
+ for _, eventFunc := range events {
+ event := eventFunc()
+ s.log.WithField("event", event).Info("Sending event")
+ if err := server.Send(eventFunc()); err != nil {
+ return err
+ }
+ }
+
+ s.log.Info("Stop Event stream")
+
+ return nil
+}
+
+func (s *Service) getCurrentUser() *User {
+ return s.findUser(s.currentUser)
+}
+
+func (s *Service) findUser(userID string) *User {
+ for _, u := range s.users {
+ if u.Id == userID {
+ return u
+ }
+ }
+
+ return nil
+}
+
+func appEvent(appEvent *AppEvent) *StreamEvent {
+ return &StreamEvent{Event: &StreamEvent_App{App: appEvent}}
+}
+
+func internetStatusEvent() *StreamEvent {
+ return appEvent(&AppEvent{Event: &AppEvent_InternetStatus{InternetStatus: &InternetStatusEvent{Connected: true}}})
+}
+
+func autostartFinishedEvent() *StreamEvent {
+ return appEvent(&AppEvent{Event: &AppEvent_AutostartFinished{AutostartFinished: &AutostartFinishedEvent{}}})
+}
+
+func resetFinishedEvent() *StreamEvent {
+ return appEvent(&AppEvent{Event: &AppEvent_ResetFinished{ResetFinished: &ResetFinishedEvent{}}})
+}
+
+func reportBugFinishedEvent() *StreamEvent {
+ return appEvent(&AppEvent{Event: &AppEvent_ReportBugFinished{ReportBugFinished: &ReportBugFinishedEvent{}}})
+}
+
+func reportBugSuccessEvent() *StreamEvent {
+ return appEvent(&AppEvent{Event: &AppEvent_ReportBugSuccess{ReportBugSuccess: &ReportBugSuccessEvent{}}})
+}
+
+func reportBugErrorEvent() *StreamEvent {
+ return appEvent(&AppEvent{Event: &AppEvent_ReportBugError{ReportBugError: &ReportBugErrorEvent{}}})
+}
+
+func showMainWindowEvent() *StreamEvent {
+ return appEvent(&AppEvent{Event: &AppEvent_ShowMainWindow{ShowMainWindow: &ShowMainWindowEvent{}}})
+}
+
+func loginEvent(event *LoginEvent) *StreamEvent {
+ return &StreamEvent{Event: &StreamEvent_Login{Login: event}}
+}
+
+func loginError() *StreamEvent {
+ return loginEvent(&LoginEvent{Event: &LoginEvent_Error{Error: &LoginErrorEvent{Type: LoginErrorType_FREE_USER}}})
+}
+
+func loginTfaRequestedEvent() *StreamEvent {
+ return loginEvent(&LoginEvent{Event: &LoginEvent_TfaRequested{TfaRequested: &LoginTfaRequestedEvent{Username: "dummy@proton.me"}}})
+}
+
+func loginTwoPasswordsRequestedEvent() *StreamEvent {
+ return loginEvent(&LoginEvent{Event: &LoginEvent_TwoPasswordRequested{}})
+}
+
+func loginFinishedEvent() *StreamEvent {
+ return loginEvent(&LoginEvent{Event: &LoginEvent_Finished{Finished: &LoginFinishedEvent{WasAlreadyLoggedIn: true}}})
+}
+
+func updateEvent(event *UpdateEvent) *StreamEvent {
+ return &StreamEvent{Event: &StreamEvent_Update{Update: event}}
+}
+
+func updateErrorEvent() *StreamEvent {
+ return updateEvent(&UpdateEvent{Event: &UpdateEvent_Error{Error: &UpdateErrorEvent{Type: UpdateErrorType_UPDATE_SILENT_ERROR}}})
+}
+
+func updateManualReadyEvent() *StreamEvent {
+ return updateEvent(&UpdateEvent{Event: &UpdateEvent_ManualReady{ManualReady: &UpdateManualReadyEvent{Version: "1.0"}}})
+}
+
+func updateManualRestartNeededEvent() *StreamEvent {
+ return updateEvent(&UpdateEvent{Event: &UpdateEvent_ManualRestartNeeded{ManualRestartNeeded: &UpdateManualRestartNeededEvent{}}})
+}
+
+func updateForceEvent() *StreamEvent {
+ return updateEvent(&UpdateEvent{Event: &UpdateEvent_Force{Force: &UpdateForceEvent{Version: " 2.0"}}})
+}
+
+func updateSilentRestartNeededEvent() *StreamEvent {
+ return updateEvent(&UpdateEvent{Event: &UpdateEvent_SilentRestartNeeded{SilentRestartNeeded: &UpdateSilentRestartNeeded{}}})
+}
+
+func updateIsLatestVersionEvent() *StreamEvent {
+ return updateEvent(&UpdateEvent{Event: &UpdateEvent_IsLatestVersion{IsLatestVersion: &UpdateIsLatestVersion{}}})
+}
+
+func updateCheckFinishedEvent() *StreamEvent {
+ return updateEvent(&UpdateEvent{Event: &UpdateEvent_CheckFinished{CheckFinished: &UpdateCheckFinished{}}})
+}
+
+func cacheEvent(event *CacheEvent) *StreamEvent {
+ return &StreamEvent{Event: &StreamEvent_Cache{Cache: event}}
+}
+
+func cacheErrorEvent() *StreamEvent {
+ return cacheEvent(&CacheEvent{Event: &CacheEvent_Error{Error: &CacheErrorEvent{Type: CacheErrorType_CACHE_UNAVAILABLE_ERROR}}})
+}
+
+func cacheLocationChangeSuccessEvent() *StreamEvent {
+ return cacheEvent(&CacheEvent{Event: &CacheEvent_LocationChangedSuccess{LocationChangedSuccess: &CacheLocationChangeSuccessEvent{}}})
+}
+
+func cacheChangeLocalCacheFinishedEvent() *StreamEvent {
+ return cacheEvent(&CacheEvent{Event: &CacheEvent_ChangeLocalCacheFinished{ChangeLocalCacheFinished: &ChangeLocalCacheFinishedEvent{}}})
+}
+
+func mailSettingsEvent(event *MailSettingsEvent) *StreamEvent {
+ return &StreamEvent{Event: &StreamEvent_MailSettings{MailSettings: event}}
+}
+
+func mailSettingsErrorEvent() *StreamEvent {
+ return mailSettingsEvent(&MailSettingsEvent{Event: &MailSettingsEvent_Error{Error: &MailSettingsErrorEvent{Type: MailSettingsErrorType_IMAP_PORT_ISSUE}}})
+}
+
+func mailSettingsUseSslForSmtpFinishedEvent() *StreamEvent { //nolint:revive,stylecheck
+ return mailSettingsEvent(&MailSettingsEvent{Event: &MailSettingsEvent_UseSslForSmtpFinished{UseSslForSmtpFinished: &UseSslForSmtpFinishedEvent{}}})
+}
+
+func mailSettingsChangePortFinishedEvent() *StreamEvent {
+ return mailSettingsEvent(&MailSettingsEvent{Event: &MailSettingsEvent_ChangePortsFinished{ChangePortsFinished: &ChangePortsFinishedEvent{}}})
+}
+
+func keychainEvent(event *KeychainEvent) *StreamEvent {
+ return &StreamEvent{Event: &StreamEvent_Keychain{Keychain: event}}
+}
+
+func keychainChangeKeychainFinishedEvent() *StreamEvent {
+ return keychainEvent(&KeychainEvent{Event: &KeychainEvent_ChangeKeychainFinished{ChangeKeychainFinished: &ChangeKeychainFinishedEvent{}}})
+}
+
+func keychainHasNoKeychainEvent() *StreamEvent {
+ return keychainEvent(&KeychainEvent{Event: &KeychainEvent_HasNoKeychain{HasNoKeychain: &HasNoKeychainEvent{}}})
+}
+
+func keychainRebuildKeychainEvent() *StreamEvent {
+ return keychainEvent(&KeychainEvent{Event: &KeychainEvent_RebuildKeychain{RebuildKeychain: &RebuildKeychainEvent{}}})
+}
+
+func mailEvent(event *MailEvent) *StreamEvent {
+ return &StreamEvent{Event: &StreamEvent_Mail{Mail: event}}
+}
+
+func mailNoActiveKeyForRecipientEvent() *StreamEvent {
+ return mailEvent(&MailEvent{Event: &MailEvent_NoActiveKeyForRecipientEvent{NoActiveKeyForRecipientEvent: &NoActiveKeyForRecipientEvent{Email: "dummy@proton.me"}}})
+}
+
+func mailAddressChangeEvent() *StreamEvent {
+ return mailEvent(&MailEvent{Event: &MailEvent_AddressChanged{AddressChanged: &AddressChangedEvent{Address: "dummy@proton.me"}}})
+}
+
+func mailAddressChangeLogoutEvent() *StreamEvent {
+ return mailEvent(&MailEvent{Event: &MailEvent_AddressChangedLogout{AddressChangedLogout: &AddressChangedLogoutEvent{Address: "dummy@proton.me"}}})
+}
+
+func mailApiCertIssue() *StreamEvent { //nolint:revive,stylecheck
+ return mailEvent(&MailEvent{Event: &MailEvent_ApiCertIssue{ApiCertIssue: &ApiCertIssueEvent{}}})
+}
+
+func userEvent(event *UserEvent) *StreamEvent {
+ return &StreamEvent{Event: &StreamEvent_User{User: event}}
+}
+
+func userToggleSplitModeFinishedEvent() *StreamEvent {
+ return userEvent(&UserEvent{Event: &UserEvent_ToggleSplitModeFinished{ToggleSplitModeFinished: &ToggleSplitModeFinishedEvent{UserID: "userID"}}})
+}
+
+func userDisconnectedEvent() *StreamEvent {
+ return userEvent(&UserEvent{Event: &UserEvent_UserDisconnected{UserDisconnected: &UserDisconnectedEvent{Username: "dummy@proton.me"}}})
+}
+
+func userChangedEvent() *StreamEvent {
+ return userEvent(&UserEvent{Event: &UserEvent_UserChanged{UserChanged: &UserChangedEvent{User: &User{}}}})
+}
diff --git a/test/rpc/client/BridgeRpcClientTest.cpp b/test/rpc/client/BridgeRpcClientTest.cpp
new file mode 100644
index 00000000..461de848
--- /dev/null
+++ b/test/rpc/client/BridgeRpcClientTest.cpp
@@ -0,0 +1,25 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.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 "RpcClient.h"
+#include
+#include
+
+
+QTEST_MAIN(RpcClient) // This macro will generate the main() function
+
diff --git a/test/rpc/client/CMakeLists.txt b/test/rpc/client/CMakeLists.txt
new file mode 100644
index 00000000..d1ccb655
--- /dev/null
+++ b/test/rpc/client/CMakeLists.txt
@@ -0,0 +1,66 @@
+cmake_minimum_required(VERSION 3.22)
+
+project(BridgeRpcClientTest VERSION 0.1 LANGUAGES CXX)
+
+if (NOT DEFINED ENV{QTDIR})
+ message(FATAL_ERROR "QTDIR needs to be defined and point to the root of your Qt folder. (e.g. /Users/MyName/Qt/6.3/clang_64).")
+endif()
+
+set(CMAKE_CXX_STANDARD 17)
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOMATIC ON)
+
+find_package(Protobuf CONFIG REQUIRED)
+message(STATUS "Using protobuf ${Protobuf_VERSION}")
+
+find_package(gRPC CONFIG REQUIRED)
+message(STATUS "Using gRPC ${gRPC_VERSION}")
+
+find_package(Qt6 COMPONENTS Core Test REQUIRED)
+
+find_program(PROTOC_EXE protoc)
+find_program(GRPC_CPP_PLUGIN grpc_cpp_plugin)
+set(PROTO_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../../internal/rpc")
+set(PROTO_FILE "${PROTO_DIR}/bridge_rpc.proto")
+set(GRPC_OUT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/rpc")
+set(PROTO_CPP_FILE "${GRPC_OUT_DIR}/bridge_rpc.pb.cc")
+set(PROTO_H_FILE "${GRPC_OUT_DIR}/bridge_rpc.pb.h")
+set(GRPC_CPP_FILE "${GRPC_OUT_DIR}/bridge_rpc.grpc.pb.cc")
+set(GRPC_H_FILE "${GRPC_OUT_DIR}/bridge_rpc.grpc.pb.h")
+
+add_custom_command(
+ OUTPUT
+ ${PROTO_CPP_FILE}
+ ${PROTO_H_FILE}
+ ${GRPC_CPP_FILE}
+ ${GRPC_H_FILE}
+ COMMAND
+ ${PROTOC_EXE}
+ ARGS
+ --proto_path=${PROTO_DIR}
+ --plugin=protoc-gen-grpc="${GRPC_CPP_PLUGIN}"
+ --cpp_out=${GRPC_OUT_DIR}
+ --grpc_out=${GRPC_OUT_DIR}
+ ${PROTO_FILE}
+ DEPENDS
+ ${PROTO_FILE}
+ COMMENT "Generating gPRC/Protobuf C++ code"
+)
+
+add_executable(BridgeRpcClientTest
+ BridgeRpcClientTest.cpp
+ RpcClient.cpp RpcClient.h
+ Exception.cpp Exception.h
+ ${PROTO_CPP_FILE}
+ ${PROTO_H_FILE}
+ ${GRPC_CPP_FILE}
+ ${GRPC_H_FILE}
+ )
+
+target_link_libraries(BridgeRpcClientTest
+ Qt::Core Qt::Test
+ protobuf::libprotobuf
+ gRPC::grpc++ gRPC::grpc++_reflection
+ )
+
diff --git a/test/rpc/client/Exception.cpp b/test/rpc/client/Exception.cpp
new file mode 100644
index 00000000..7c2a997a
--- /dev/null
+++ b/test/rpc/client/Exception.cpp
@@ -0,0 +1,67 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.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 "Exception.h"
+
+
+//**********************************************************************************************************************
+/// \param[in] what A description of the exception
+//**********************************************************************************************************************
+Exception::Exception(QString what) noexcept
+ : std::exception()
+ , what_(std::move(what))
+{
+}
+
+
+//**********************************************************************************************************************
+/// \param[in] ref The Exception to copy from
+//**********************************************************************************************************************
+Exception::Exception(Exception const& ref) noexcept
+ : std::exception(ref)
+ , what_(ref.what_)
+{
+}
+
+
+//**********************************************************************************************************************
+/// \param[in] ref The Exception to copy from
+//**********************************************************************************************************************
+Exception::Exception(Exception&& ref) noexcept
+ : std::exception(ref)
+ , what_(ref.what_)
+{
+}
+
+
+//**********************************************************************************************************************
+/// \return a string describing the exception
+//**********************************************************************************************************************
+QString const& Exception::qwhat() const noexcept
+{
+ return what_;
+}
+
+
+//**********************************************************************************************************************
+/// \return A pointer to the description string of the exception.
+//**********************************************************************************************************************
+const char* Exception::what() const noexcept
+{
+ return what_.toLocal8Bit().constData();
+}
diff --git a/test/rpc/client/Exception.h b/test/rpc/client/Exception.h
new file mode 100644
index 00000000..0b70f372
--- /dev/null
+++ b/test/rpc/client/Exception.h
@@ -0,0 +1,44 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.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 .
+
+#ifndef BRIDGE_RPC_CLIENT_TEST_EXCEPTION_H
+#define BRIDGE_RPC_CLIENT_TEST_EXCEPTION_H
+
+
+#include
+#include
+
+//**********************************************************************************************************************
+/// \brief Exception class
+//**********************************************************************************************************************
+class Exception: public std::exception
+{
+public: // member functions
+ explicit Exception(QString what = QString()) noexcept; ///< Constructor
+ Exception(Exception const& ref) noexcept; ///< copy constructor
+ Exception(Exception&& ref) noexcept; ///< copy constructor
+ Exception& operator=(Exception const&) = delete; ///< Disabled assignment operator
+ Exception& operator=(Exception&&) = delete; ///< Disabled assignment operator
+ ~Exception() noexcept = default; ///< Destructor
+ QString const& qwhat() const noexcept; ///< Return the description of the exception as a QString
+ const char* what() const noexcept override; ///< Return the description of the exception as C style string
+
+private: // data members
+ QString const what_; ///< The description of the exception
+};
+
+#endif //BRIDGE_RPC_CLIENT_TEST_EXCEPTION_H
diff --git a/test/rpc/client/RpcClient.cpp b/test/rpc/client/RpcClient.cpp
new file mode 100644
index 00000000..7ed60e95
--- /dev/null
+++ b/test/rpc/client/RpcClient.cpp
@@ -0,0 +1,925 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.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 .
+
+
+#pragma clang diagnostic push
+#pragma ide diagnostic ignored "OCUnusedGlobalDeclarationInspection"
+
+
+#include "RpcClient.h"
+#include
+
+
+using namespace google::protobuf;
+using namespace bridgerpc;
+using namespace grpc;
+
+
+namespace
+{
+
+
+// \todo Decide where to store this certificate.
+std::string cert = R"(-----BEGIN CERTIFICATE-----
+MIIC5TCCAc2gAwIBAgIJAJL2PajH8kFjMA0GCSqGSIb3DQEBCwUAMBQxEjAQBgNV
+BAMMCWxvY2FsaG9zdDAeFw0yMjA1MTAwNjEzMzdaFw0yMjA2MDkwNjEzMzdaMBQx
+EjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBAKyb48XL+08YI8m4X/eeD9TQshV+vybKbU7MOG7BnH3Hv7kUH0aVP7OPnU51
+eYRgUu+bkJ8qWhxD7wOLVJBcU5T1lgd+k6St83ix25P02nUc3UeU4MCxMwhjMjYu
+R5F9bfSG0UlCCGAEjjmGh+CfnZkS+rgCwE/xGswFnVrynTMvrLQyN02dz/r4zJPp
+yyVhTOmjdsUDs0zGDbubLf+ypR8VCXg55qYMw7Abpe+rx3BF+NCEjKlATjMeIZNx
+iS0dl0OGjJZ+bfHGhnPiQxP8HxyJ0NjFNtWgblQev2sHmIq65Rry3RP1gbDAW3sk
+MiIfjbnp4gGspYrmHWeWXH8g6WMCAwEAAaM6MDgwFAYDVR0RBA0wC4IJbG9jYWxo
+b3N0MAsGA1UdDwQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDATANBgkqhkiG9w0B
+AQsFAAOCAQEAO2WDYnzy9SkaS9VU2jw3nd9MEaILZsXFcVU2+52TKwRBty7b0A1x
+zyxT6nT0pN0Im7DcT5/TvwFuVBJUTFs4c2gW09WUvtfuN8HVFOeX/1Pt10lMPJjR
+I+wTAUQrXJHt57JE9x13gQEOW/mGUDNuoUH2cE9C1f+TrO0LaRj8dubS/gHMuV1i
+aTyxu7hgbLAYq0NGD86CSOwvUvTvs6o628xvfmqqdzlpWIlQq18t2GZYFVWjrISY
+LWw3OCormKSASOPrW1FXhrgwoyDXHNmZT1MHL3Rh9U5qyCwV5kDAcY956sc9lD3G
+XHtSxOHLE1eDKGCUKRcYop/99inTGjJ6Xg==
+-----END CERTIFICATE-----)";
+
+Empty empty; // A protobuf empty message reused for the sake of simplicity
+}
+
+//**********************************************************************************************************************
+/// \brief Help class that manage a client context. Provided context cannot be re-used, the underlying context is freed
+/// and re-allocated at every call to get() (or at destruction).
+//**********************************************************************************************************************
+class Ctx
+{
+public: // member functions
+ Ctx()
+ {} ///< Default constructor.
+ Ctx(Ctx const &) = delete; ///< Disabled copy-constructor.
+ Ctx(Ctx &&) = delete; ///< Disabled assignment copy-constructor.
+ ~Ctx() = default; ///< Destructor.
+ Ctx &operator=(Ctx const &) = delete; ///< Disabled assignment operator.
+ Ctx &operator=(Ctx &&) = delete; ///< Disabled move assignment operator.
+ ClientContext *get()
+ {
+ ctx_ = std::make_unique();
+ return ctx_.get();
+ } ///< Release the previous context, if any and allocate a new one
+private: // data members
+ std::unique_ptr ctx_{nullptr};
+};
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+RpcClient::RpcClient()
+ : QObject(nullptr)
+{
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::initTestCase()
+{
+ SslCredentialsOptions opts;
+ opts.pem_root_certs += cert;
+
+ channel_ = CreateChannel("localhost:9292", grpc::SslCredentials(opts));
+ QVERIFY2(channel_, "Channel creation failed.");
+
+ stub_ = bridgerpc::BridgeRpc::NewStub(channel_);
+ QVERIFY2(stub_, "Stub creation failed.");
+
+ QVERIFY2(channel_->WaitForConnected(gpr_time_add(gpr_now(GPR_CLOCK_REALTIME),
+ gpr_time_from_seconds(10, GPR_TIMESPAN))), "Connection to the RPC server failed.");
+
+ QVERIFY2(channel_ && stub_ && (channel_->GetState(true) == GRPC_CHANNEL_READY), "connection check failed.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testGetCursorPos()
+{
+ Ctx ctx;
+ PointResponse resp;
+ Status s = stub_->GetCursorPos(ctx.get(), empty, &resp);
+ QVERIFY2(s.ok(), "GetCursorPos failed.");
+ QVERIFY2(resp.x() == 100, "Invalid x value");
+ QVERIFY2(resp.y() == 200, "Invalid y value");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testGuiReady()
+{
+ Ctx ctx;
+ QVERIFY2(stub_->GuiReady(ctx.get(), empty, &empty).ok(), "GuiReady failed.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testQuit()
+{
+ Ctx ctx;
+ QVERIFY2(stub_->Quit(ctx.get(), empty, &empty).ok(), "Quit failed.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testRestart()
+{
+ Ctx ctx;
+ QVERIFY2(stub_->Restart(ctx.get(), empty, &empty).ok(), "Restart failed.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testShowOnStartup()
+{
+ Ctx ctx;
+ BoolValue showOnStartup;
+ QVERIFY2(stub_->ShowOnStartup(ctx.get(), empty, &showOnStartup).ok(), "ShowOnStartup failed.");
+ bool const newValue = !showOnStartup.value();
+
+ showOnStartup.set_value(newValue);
+ QVERIFY2(stub_->SetShowOnStartup(ctx.get(), showOnStartup, &empty).ok(), "SetShowOnStartup failed.");
+
+ QVERIFY2(stub_->ShowOnStartup(ctx.get(), empty, &showOnStartup).ok(), "ShowOnStartup failed.");
+ QVERIFY2(showOnStartup.value() == newValue, "ShowOnStartup failed readback.");
+}
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testShowSplashScreen()
+{
+ Ctx ctx;
+ BoolValue showSplashScreen;
+ QVERIFY2(stub_->ShowSplashScreen(ctx.get(), empty, &showSplashScreen).ok(), "ShowSplashScreen failed.");
+ bool const newValue = !showSplashScreen.value();
+
+ showSplashScreen.set_value(newValue);
+ QVERIFY2(stub_->SetShowSplashScreen(ctx.get(), showSplashScreen, &empty).ok(), "SetShowSplashScreen failed.");
+
+ QVERIFY2(stub_->ShowOnStartup(ctx.get(), empty, &showSplashScreen).ok(), "ShowSplashScreen failed.");
+ QVERIFY2(showSplashScreen.value() == newValue, "ShowSplashScreen failed readback.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testDockIconVisible()
+{
+ Ctx ctx;
+ BoolValue dockIconVisible;
+ QVERIFY2(stub_->DockIconVisible(ctx.get(), empty, &dockIconVisible).ok(), "DockIconVisible failed.");
+ bool const newValue = !dockIconVisible.value();
+
+ dockIconVisible.set_value(newValue);
+ QVERIFY2(stub_->SetDockIconVisible(ctx.get(), dockIconVisible, &empty).ok(), "SetShowSplashScreen failed.");
+
+ QVERIFY2(stub_->DockIconVisible(ctx.get(), empty, &dockIconVisible).ok(), "DockIconVisible failed.");
+ QVERIFY2(dockIconVisible.value() == newValue, "DockIconVisible failed readback.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testIsFirstGuiStart()
+{
+ Ctx ctx;
+ BoolValue isFirst;
+ QVERIFY2(stub_->IsFirstGuiStart(ctx.get(), empty, &isFirst).ok(), "IsFirstGuiStart failed.");
+ bool const newValue = !isFirst.value();
+
+ isFirst.set_value(newValue);
+ QVERIFY2(stub_->SetIsFirstGuiStart(ctx.get(), isFirst, &empty).ok(), "SetIsFirstGuiStart failed.");
+
+ QVERIFY2(stub_->IsFirstGuiStart(ctx.get(), empty, &isFirst).ok(), "IsFirstGuiStart failed.");
+ QVERIFY2(isFirst.value() == newValue, "IsFirstGuiStart failed readback.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testIsAutostartOn()
+{
+ Ctx ctx;
+ BoolValue isOn;
+ QVERIFY2(stub_->IsAutostartOn(ctx.get(), empty, &isOn).ok(), "IsAutostartOn failed.");
+ bool const newValue = !isOn.value();
+
+ isOn.set_value(newValue);
+ QVERIFY2(stub_->SetIsAutostartOn(ctx.get(), isOn, &empty).ok(), "SetIsAutostartOn failed.");
+
+ QVERIFY2(stub_->IsAutostartOn(ctx.get(), empty, &isOn).ok(), "IsAutostartOn failed.");
+ QVERIFY2(isOn.value() == newValue, "IsAutostartOn failed readback.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testIsBetaEnabled()
+{
+ Ctx ctx;
+ BoolValue isOn;
+ QVERIFY2(stub_->IsBetaEnabled(ctx.get(), empty, &isOn).ok(), "IsBetaEnabled failed.");
+ bool const newValue = !isOn.value();
+
+ isOn.set_value(newValue);
+ QVERIFY2(stub_->SetIsBetaEnabled(ctx.get(), isOn, &empty).ok(), "SetIsBetaEnabled failed.");
+
+ QVERIFY2(stub_->IsBetaEnabled(ctx.get(), empty, &isOn).ok(), "IsBetaEnabled failed.");
+ QVERIFY2(isOn.value() == newValue, "IsBetaEnabled failed readback.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testGoOs()
+{
+ Ctx ctx;
+ StringValue goos;
+ QVERIFY2(stub_->GoOs(ctx.get(), empty, &goos).ok(), "GoOs failed.");
+ QVERIFY2(goos.value().length() > 0, "Invalid GoOs value.");
+}
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testTriggerReset()
+{
+ Ctx ctx;
+ QVERIFY2(stub_->TriggerReset(ctx.get(), empty, &empty).ok(), "TriggerReset failed.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testVersion()
+{
+ Ctx ctx;
+ StringValue version;
+ QVERIFY2(stub_->Version(ctx.get(), empty, &version).ok(), "Version failed.");
+ QVERIFY2(version.value().length() > 0, "Invalid version number.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testLogPath()
+{
+ Ctx ctx;
+ StringValue logPath;
+ QVERIFY2(stub_->LogPath(ctx.get(), empty, &logPath).ok(), "LogPath failed.");
+ QVERIFY2(logPath.value().length() > 0, "Invalid LogPath.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testLicensePath()
+{
+ Ctx ctx;
+ StringValue licensePath;
+ QVERIFY2(stub_->LicensePath(ctx.get(), empty, &licensePath).ok(), "LicensePath failed.");
+ QVERIFY2(licensePath.value().length() > 0, "Invalid LicensePath.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testReleaseNotesLink()
+{
+ Ctx ctx;
+ StringValue link;
+ QVERIFY2(stub_->ReleaseNotesLink(ctx.get(), empty, &link).ok(), "ReleaseNotesLink failed.");
+ QVERIFY2(link.value().length() > 0, "Invalid ReleaseNotesLink.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testLandingPageLink()
+{
+ Ctx ctx;
+ StringValue link;
+ QVERIFY2(stub_->LandingPageLink(ctx.get(), empty, &link).ok(), "LandingPageLink failed.");
+ QVERIFY2(link.value().length() > 0, "Invalid LandingPageLink.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testColorScheme()
+{
+ Ctx ctx;
+ StringValue name;
+ string const schemeName = "dummyColors";
+ name.set_value(schemeName);
+ QVERIFY2(stub_->SetColorSchemeName(ctx.get(), name, &empty).ok(), "SetColorSchemeName failed.");
+
+ QVERIFY2(stub_->ColorSchemeName(ctx.get(), empty, &name).ok(), "ColorSchemeName failed.");
+ QVERIFY2(name.value() == schemeName, "ColorSchemeName failed readback.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testCurrentEmailClient()
+{
+ Ctx ctx;
+ StringValue name;
+ string const clientName = "dummyClient";
+ name.set_value(clientName);
+ QVERIFY2(stub_->SetCurrentEmailClient(ctx.get(), name, &empty).ok(), "SeturrentEmailClient failed.");
+
+ QVERIFY2(stub_->CurrentEmailClient(ctx.get(), empty, &name).ok(), "CurrentEmailClient failed.");
+ QVERIFY2(name.value() == clientName, "CurrentEmailClient failed readback.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testReportBug()
+{
+ Ctx ctx;
+ ReportBugRequest report;
+ report.set_description("dummy description");
+ report.set_address("dummy@proton.me");
+ report.set_emailclient("dummyClient");
+ report.set_includelogs(true);
+ QVERIFY2(stub_->ReportBug(ctx.get(), report, &empty).ok(), "ReportBug failed.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testLogin()
+{
+ Ctx ctx;
+ LoginRequest login;
+ login.set_username("dummyuser");
+ login.set_password("dummypassword");
+ QVERIFY2(stub_->Login(ctx.get(), login, &empty).ok(), "Login failed.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testLogin2FA()
+{
+ Ctx ctx;
+ LoginRequest login;
+ login.set_username("dummyuser");
+ login.set_password("dummypassword");
+ QVERIFY2(stub_->Login2FA(ctx.get(), login, &empty).ok(), "Login2FA failed.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testLogin2Passwords()
+{
+ Ctx ctx;
+ LoginRequest login;
+ login.set_username("dummyuser");
+ login.set_password("dummypassword");
+ QVERIFY2(stub_->Login2Passwords(ctx.get(), login, &empty).ok(), "Login2Passwords failed.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testLoginAbort()
+{
+ Ctx ctx;
+ LoginAbortRequest loginAbort;
+ loginAbort.set_username("dummyuser");
+ QVERIFY2(stub_->LoginAbort(ctx.get(), loginAbort, &empty).ok(), "loginAbort failed.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testCheckUpdate()
+{
+ Ctx ctx;
+ QVERIFY2(stub_->CheckUpdate(ctx.get(), empty, &empty).ok(), "CheckUpdate failed.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testInstallUpdate()
+{
+ Ctx ctx;
+ QVERIFY2(stub_->InstallUpdate(ctx.get(), empty, &empty).ok(), "InstallUpdate failed.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testIsAutomaticUpdateOn()
+{
+ Ctx ctx;
+ BoolValue isOn;
+ QVERIFY2(stub_->IsAutomaticUpdateOn(ctx.get(), empty, &isOn).ok(), "IsAutomaticUpdateOn failed.");
+ bool newValue = !isOn.value();
+
+ isOn.set_value(newValue);
+ QVERIFY2(stub_->SetIsAutomaticUpdateOn(ctx.get(), isOn, &empty).ok(), "SetIsAutomaticUpdateOn failed.");
+
+ QVERIFY2(stub_->IsAutomaticUpdateOn(ctx.get(), empty, &isOn).ok(), "IsAutomaticUpdateOn failed.");
+ QVERIFY2(isOn.value() == newValue, "IsAutomaticUpdateOn failed readback.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testIsCacheOnDiskEnabled()
+{
+ Ctx ctx;
+ BoolValue isEnabled;
+ QVERIFY2(stub_->IsCacheOnDiskEnabled(ctx.get(), empty, &isEnabled).ok(), "IsCacheOnDiskEnabled failed.");
+ bool const newValue = !isEnabled.value();
+
+ isEnabled.set_value(newValue);
+ QVERIFY2(stub_->SetIsCacheOnDiskEnabled(ctx.get(), isEnabled, &empty).ok(), "SetIsCacheOnDiskEnabled failed.");
+
+ QVERIFY2(stub_->IsCacheOnDiskEnabled(ctx.get(), empty, &isEnabled).ok(), "IsCacheOnDiskEnabled failed.");
+ QVERIFY2(isEnabled.value() == newValue, "IsCacheOnDiskEnabled failed readback.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testDiskCachePath()
+{
+ Ctx ctx;
+ string const dummyPath = "/dummy/path";
+ StringValue path;
+ path.set_value(dummyPath);
+ QVERIFY2(stub_->SetDiskCachePath(ctx.get(), path, &empty).ok(), "SetDiskCachePath failed.");
+
+ QVERIFY2(stub_->DiskCachePath(ctx.get(), empty, &path).ok(), "DiskCachePath failed.");
+ QVERIFY2(path.value() == dummyPath, "DiskCachePath failed readback.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testChangeLocalCache()
+{
+ Ctx ctx;
+ BoolValue isEnabled;
+ QVERIFY2(stub_->IsCacheOnDiskEnabled(ctx.get(), empty, &isEnabled).ok(), "IsCacheOnDiskEnabled failed.");
+ bool const newEnabled = !isEnabled.value();
+
+ string const dummyPath = "/another/dummy/path";
+ ChangeLocalCacheRequest request;
+ request.set_enablediskcache(newEnabled);
+ request.set_diskcachepath(dummyPath);
+ QVERIFY2(stub_->ChangeLocalCache(ctx.get(), request, &empty).ok(), "ChangeLocalCache failed.");
+
+ QVERIFY2(stub_->IsCacheOnDiskEnabled(ctx.get(), empty, &isEnabled).ok(), "IsCacheOnDiskEnabled failed.");
+ QVERIFY2(isEnabled.value() == newEnabled, "IsCacheOnDiskEnabled readback failed.");
+
+ StringValue path;
+ QVERIFY2(stub_->DiskCachePath(ctx.get(), empty, &path).ok(), "DiskCachePath failed.");
+ QVERIFY2(path.value() == dummyPath, "DiskCachePath failed readback.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testIsDohEnabled()
+{
+ Ctx ctx;
+ BoolValue isEnabled;
+ QVERIFY2(stub_->IsDoHEnabled(ctx.get(), empty, &isEnabled).ok(), "IsDoHEnabled failed.");
+ bool const newValue = !isEnabled.value();
+
+ isEnabled.set_value(newValue);
+ QVERIFY2(stub_->SetIsDoHEnabled(ctx.get(), isEnabled, &empty).ok(), "SetIsDoHEnabled failed.");
+
+ QVERIFY2(stub_->IsDoHEnabled(ctx.get(), empty, &isEnabled).ok(), "IsDoHEnabled failed.");
+ QVERIFY2(isEnabled.value() == newValue, "IsDoHEnabled failed readback.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testUseSslForSmtp()
+{
+ Ctx ctx;
+ BoolValue useSsl;
+ QVERIFY2(stub_->UseSslForSmtp(ctx.get(), empty, &useSsl).ok(), "UseSslForSmtp failed.");
+ bool const newValue = !useSsl.value();
+
+ useSsl.set_value(newValue);
+ QVERIFY2(stub_->SetUseSslForSmtp(ctx.get(), useSsl, &empty).ok(), "SetUseSslForSmtp failed.");
+
+ QVERIFY2(stub_->UseSslForSmtp(ctx.get(), empty, &useSsl).ok(), "UseSslForSmtp failed.");
+ QVERIFY2(useSsl.value() == newValue, "UseSslForSmtp failed readback.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testHostname()
+{
+ Ctx ctx;
+ StringValue hostname;
+ QVERIFY2(stub_->Hostname(ctx.get(), empty, &hostname).ok(), "Hostname failed.");
+ QVERIFY2(hostname.value().length() > 0, "Hostname failed readback.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testImapPort()
+{
+ Ctx ctx;
+ Int32Value port;
+ QVERIFY2(stub_->ImapPort(ctx.get(), empty, &port).ok(), "ImapPort failed.");
+ qint16 const newValue = qint16(port.value()) + 1;
+
+ port.set_value(qint32(newValue));
+ QVERIFY2(stub_->SetImapPort(ctx.get(), port, &empty).ok(), "SetImapPort failed.");
+
+ QVERIFY2(stub_->ImapPort(ctx.get(), empty, &port).ok(), "ImapPort failed.");
+ QVERIFY2(qint16(port.value()) == newValue, "ImapPort failed readback.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testSmtpPort()
+{
+ Ctx ctx;
+ Int32Value port;
+ QVERIFY2(stub_->SmtpPort(ctx.get(), empty, &port).ok(), "SmtpPort failed.");
+ qint16 const newValue = qint16(port.value()) + 1;
+
+ port.set_value(qint32(newValue));
+ QVERIFY2(stub_->SetSmtpPort(ctx.get(), port, &empty).ok(), "SetSmtpPort failed.");
+
+ QVERIFY2(stub_->SmtpPort(ctx.get(), empty, &port).ok(), "SmtpPort failed.");
+ QVERIFY2(qint16(port.value()) == newValue, "SmtpPort failed readback.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testChangePorts()
+{
+ Ctx ctx;
+ ChangePortsRequest request;
+ const qint32 imapPort = 2143, smtpPort = 2025;
+ request.set_imapport(imapPort);
+ request.set_smtpport(smtpPort);
+ QVERIFY2(stub_->ChangePorts(ctx.get(), request, &empty).ok(), "");
+
+ Int32Value port;
+ QVERIFY2(stub_->ImapPort(ctx.get(), empty, &port).ok(), "ImapPort failed.");
+ QVERIFY2(port.value() == imapPort, "ImapPort failed readback.");
+
+ QVERIFY2(stub_->SmtpPort(ctx.get(), empty, &port).ok(), "SmtpPort failed.");
+ QVERIFY2(port.value() == smtpPort, "SmtpPort failed readback.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testIsPortFree()
+{
+ Ctx ctx;
+ Int32Value port;
+ port.set_value(143);
+ BoolValue isFree;
+
+ QVERIFY2(stub_->IsPortFree(ctx.get(), port, &isFree).ok(), "IsPortFree failed.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testKeychain()
+{
+ Ctx ctx;
+ AvailableKeychainsResponse resp;
+ QVERIFY2(stub_->AvailableKeychains(ctx.get(), empty, &resp).ok(), "AvailableKeychains failed.");
+ QVERIFY2(resp.keychains().size() > 0, "AvailableKeychains returned an invalid result.");
+
+ string const newKeychain = resp.keychains().at(resp.keychains_size() - 1);
+
+ StringValue keychain;
+ keychain.set_value(newKeychain);
+ QVERIFY2(stub_->SetCurrentKeychain(ctx.get(), keychain, &empty).ok(), "SetCurrentKeychain failed.");
+
+ QVERIFY2(stub_->CurrentKeychain(ctx.get(), empty, &keychain).ok(), "CurrentKeychain failed.");
+ QVERIFY2(newKeychain == keychain.value(), "CurrentKeychain readback failed.");
+}
+
+
+//**********************************************************************************************************************
+//
+//**********************************************************************************************************************
+void RpcClient::testUser()
+{
+ Ctx ctx;
+ UserListResponse users;
+ QVERIFY2(stub_->GetUserList(ctx.get(), empty, &users).ok(), "GetUserList failed.");
+ QVERIFY2(users.users_size() > 0, "GetUserList returned an invalid value.");
+
+ std::string const userID = users.users(0).id();
+
+ UserSplitModeRequest splitModeRequest;
+ splitModeRequest.set_userid(userID);
+ splitModeRequest.set_active(true);
+ QVERIFY2(stub_->SetUserSplitMode(ctx.get(), splitModeRequest, &empty).ok(), "SetUserSplitMode failed");
+
+ ConfigureAppleMailRequest appleMailRequest;
+ appleMailRequest.set_userid(userID);
+ appleMailRequest.set_address("dummy@proton.ch");
+ QVERIFY2(stub_->ConfigureUserAppleMail(ctx.get(), appleMailRequest, &empty).ok(), "ConfigureUserAppleMail failed.");
+
+ StringValue stringValue;
+ stringValue.set_value(userID);
+ QVERIFY2(stub_->LogoutUser(ctx.get(), stringValue, &empty).ok(), "LogoutUser failed.");
+
+ QVERIFY2(stub_->RemoveUser(ctx.get(), stringValue, &empty).ok(), "RemoveUser failed.");
+}
+
+void checkAppEvents(ClientReader& reader)
+{
+ QList expected = {
+ AppEvent::kInternetStatus,
+ AppEvent::kAutostartFinished,
+ AppEvent::kResetFinished,
+ AppEvent::kReportBugFinished,
+ AppEvent::kReportBugSuccess,
+ AppEvent::kReportBugError,
+ AppEvent::kShowMainWindow,
+ };
+ StreamEvent event;
+ while (reader.Read(&event)) {
+ QVERIFY2(event.event_case() == StreamEvent::kApp, "Received invalid event while waiting for app event.");
+ AppEvent const& appEvent = event.app();
+ AppEvent::EventCase const eventCase = appEvent.event_case();
+ QVERIFY2(expected.size() > 0, "Empty expected app event list.");
+ QVERIFY2(eventCase == expected.front(), "Unexpected app event received.");
+ expected.pop_front();
+ if (expected.isEmpty())
+ return;
+ }
+ QFAIL("Stream ended while waiting for app events.");
+}
+
+
+void checkLoginEvents(ClientReader& reader)
+{
+ QList expected = {
+ LoginEvent::kError,
+ LoginEvent::kTfaRequested,
+ LoginEvent::kTwoPasswordRequested,
+ LoginEvent::kFinished,
+ };
+
+ StreamEvent event;
+ while (reader.Read(&event))
+ {
+ QVERIFY2(event.event_case() == StreamEvent::kLogin, "Received invalid event while waiting for login event.");
+ LoginEvent const& loginEvent = event.login();
+ LoginEvent::EventCase const eventCase = loginEvent.event_case();
+ QVERIFY2(expected.size() > 0, "Empty expected login event list.");
+ QVERIFY2(eventCase == expected.front(), "Unexpected login event received.");
+ expected.pop_front();
+ if (expected.isEmpty())
+ return;
+ }
+ QFAIL("Stream ended while waiting for login events.");
+}
+
+
+void checkUpdateEvents(ClientReader& reader)
+{
+ QList expected = {
+ UpdateEvent::kError,
+ UpdateEvent::kManualReady,
+ UpdateEvent::kManualRestartNeeded,
+ UpdateEvent::kForce,
+ UpdateEvent::kSilentRestartNeeded,
+ UpdateEvent::kIsLatestVersion,
+ UpdateEvent::kCheckFinished
+ };
+
+ StreamEvent event;
+ while (reader.Read(&event))
+ {
+ QVERIFY2(event.event_case() == StreamEvent::kUpdate, "Received invalid event while waiting for update event.");
+ UpdateEvent const& updateEvent = event.update();
+ UpdateEvent::EventCase const eventCase = updateEvent.event_case();
+ QVERIFY2(expected.size() > 0, "Empty expected update event list.");
+ QVERIFY2(eventCase == expected.front(), "Unexpected update event received.");
+ expected.pop_front();
+ if (expected.isEmpty())
+ return;
+ }
+ QFAIL("Stream ended while waiting for update events.");
+}
+
+
+void checkCacheEvents(ClientReader& reader)
+{
+ QList expected = {
+ CacheEvent::kError,
+ CacheEvent::kLocationChangedSuccess,
+ CacheEvent::kChangeLocalCacheFinished,
+ };
+
+ StreamEvent event;
+ while (reader.Read(&event))
+ {
+ QVERIFY2(event.event_case() == StreamEvent::kCache, "Received invalid event while waiting for cache event.");
+ CacheEvent const& cacheEvent = event.cache();
+ CacheEvent::EventCase const eventCase = cacheEvent.event_case();
+ QVERIFY2(expected.size() > 0, "Empty expected cache event list.");
+ QVERIFY2(eventCase == expected.front(), "Unexpected cache event received.");
+ expected.pop_front();
+ if (expected.isEmpty())
+ return;
+ }
+ QFAIL("Stream ended while waiting for cache events.");
+}
+
+
+void checkMailsSettingsEvents(ClientReader& reader)
+{
+ QList expected = {
+ MailSettingsEvent::kError,
+ MailSettingsEvent::kUseSslForSmtpFinished,
+ MailSettingsEvent::kChangePortsFinished,
+ };
+
+ StreamEvent event;
+ while (reader.Read(&event))
+ {
+ QVERIFY2(event.event_case() == StreamEvent::kMailSettings, "Received invalid event while waiting for mail settings event.");
+ MailSettingsEvent const& mailSettingsEvent = event.mailsettings();
+ MailSettingsEvent::EventCase const eventCase = mailSettingsEvent.event_case();
+ QVERIFY2(expected.size() > 0, "Empty expected mail settings event list.");
+ QVERIFY2(eventCase == expected.front(), "Unexpected mail settings event received.");
+ expected.pop_front();
+ if (expected.isEmpty())
+ return;
+ }
+ QFAIL("Stream ended while waiting for mail settings events.");
+}
+
+
+void checkKeychainEvents(ClientReader& reader)
+{
+ QList expected = {
+ KeychainEvent::kChangeKeychainFinished,
+ KeychainEvent::kHasNoKeychain,
+ KeychainEvent::kRebuildKeychain,
+ };
+
+ StreamEvent event;
+ while (reader.Read(&event))
+ {
+ QVERIFY2(event.event_case() == StreamEvent::kKeychain, "Received invalid event while waiting for keychain event.");
+ KeychainEvent const& keychainEvent = event.keychain();
+ KeychainEvent::EventCase const eventCase = keychainEvent.event_case();
+ QVERIFY2(expected.size() > 0, "Empty expected keychain event list.");
+ QVERIFY2(eventCase == expected.front(), "Unexpected keychain event received.");
+ expected.pop_front();
+ if (expected.isEmpty())
+ return;
+ }
+ QFAIL("Stream ended while waiting for keychain events.");
+}
+
+
+void checkMailEvents(ClientReader& reader)
+{
+ QList expected = {
+ MailEvent::kNoActiveKeyForRecipientEvent,
+ MailEvent::kAddressChanged,
+ MailEvent::kAddressChangedLogout,
+ MailEvent::kApiCertIssue,
+ };
+
+ StreamEvent event;
+ while (reader.Read(&event))
+ {
+ QVERIFY2(event.event_case() == StreamEvent::kMail, "Received invalid event while waiting for mail event.");
+ MailEvent const& mailEvent = event.mail();
+ MailEvent::EventCase const eventCase = mailEvent.event_case();
+ QVERIFY2(expected.size() > 0, "Empty expected mail event list.");
+ QVERIFY2(eventCase == expected.front(), "Unexpected mail event received.");
+ expected.pop_front();
+ if (expected.isEmpty())
+ return;
+ }
+ QFAIL("Stream ended while waiting for mail events.");
+}
+
+
+void checkUserEvents(ClientReader& reader)
+{
+ QList expected = {
+ UserEvent::kToggleSplitModeFinished,
+ UserEvent::kUserDisconnected,
+ UserEvent::kUserChanged,
+ };
+
+ StreamEvent event;
+ while (reader.Read(&event))
+ {
+ QVERIFY2(event.event_case() == StreamEvent::kUser, "Received invalid event while waiting for user event.");
+ UserEvent const& userEvent = event.user();
+ UserEvent::EventCase const eventCase = userEvent.event_case();
+ QVERIFY2(expected.size() > 0, "Empty expected user event list.");
+ QVERIFY2(eventCase == expected.front(), "Unexpected user event received.");
+ expected.pop_front();
+ if (expected.isEmpty())
+ return;
+ }
+ QFAIL("Stream ended while waiting for user events.");
+}
+
+
+void RpcClient::testStream()
+{
+ Ctx ctx;
+ std::unique_ptr> reader = stub_->GetEvents(ctx.get(), empty);
+ QVERIFY2(reader, "Could not instanciate event stream reader");
+
+ checkAppEvents(*reader);
+ checkLoginEvents(*reader);
+ checkUpdateEvents(*reader);
+ checkCacheEvents(*reader);
+ checkMailsSettingsEvents(*reader);
+ checkKeychainEvents(*reader);
+ checkMailEvents(*reader);
+ checkUserEvents(*reader);
+}
+
+
+#pragma clang diagnostic pop
diff --git a/test/rpc/client/RpcClient.h b/test/rpc/client/RpcClient.h
new file mode 100644
index 00000000..7ca5bf98
--- /dev/null
+++ b/test/rpc/client/RpcClient.h
@@ -0,0 +1,98 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.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 .
+
+
+#ifndef BRIDGE_RPC_CLIENT_TEST_RPC_CLIENT_H
+#define BRIDGE_RPC_CLIENT_TEST_RPC_CLIENT_H
+
+
+#include "rpc/bridge_rpc.grpc.pb.h"
+#include "grpc++/grpc++.h"
+#include
+
+
+//**********************************************************************************************************************
+/// \brief Rpc Client class.
+//**********************************************************************************************************************
+class RpcClient: public QObject
+{
+ Q_OBJECT
+
+public: // member functions
+ explicit RpcClient(); ///< Default constructor.
+ RpcClient(RpcClient const &) = delete; ///< Disabled copy-constructor.
+ RpcClient(RpcClient &&) = delete; ///< Disabled assignment copy-constructor.
+ ~RpcClient() override = default; ///< Destructor.
+ RpcClient &operator=(RpcClient const &) = delete; ///< Disabled assignment operator.
+ RpcClient &operator=(RpcClient &&) = delete; ///< Disabled move assignment operator.
+
+private slots:
+#pragma clang diagnostic push
+#pragma ide diagnostic ignored "OCUnusedGlobalDeclarationInspection"
+
+ void initTestCase(); ///< Check if the connection with the RPC server is established.
+ void testGetCursorPos(); ///< Test the GetCursorPos call.
+ void testGuiReady(); ///< Test the GuiReady call.
+ void testQuit(); ///< Test the Quit call.
+ void testRestart(); ///< Test the Restart call.
+ void testShowOnStartup(); ///< Test the ShowOnStartup calls.
+ void testShowSplashScreen(); ///< Test the ShowSplashScreen calls.
+ void testDockIconVisible(); ///< Test the DockIconVisible calls.
+ void testIsFirstGuiStart(); ///< Test the IsFirstGuiStart calls.
+ void testIsAutostartOn(); ///< Test the IsAutostartOn calls.
+ void testIsBetaEnabled(); ///< Test the IsBetaEnabled calls.
+ void testGoOs(); ///< Test the GoOs call.
+ void testTriggerReset(); ///< Test the TriggerReset call.
+ void testVersion(); ///< Test the Version call.
+ void testLogPath(); ///< Test the LogPath call.
+ void testLicensePath(); ///< Test the LicensePath call.
+ void testReleaseNotesLink(); ///< Test the ReleastNotesLink call.
+ void testLandingPageLink(); ///< Test the LandingPageLink call.
+ void testColorScheme(); ///< Test the ColorScheme calls.
+ void testCurrentEmailClient(); ///< Test the CurrentEmailClient calls.
+ void testReportBug(); ///< Test the ReportBug call.
+ void testLogin(); ///< Test the Login call.
+ void testLogin2FA(); ///< Test the Login2FA call.
+ void testLogin2Passwords(); ///< Test the Login2Passwords call.
+ void testLoginAbort(); ///< Test the LoginAbort call.
+ void testCheckUpdate(); ///< Test the CheckUpdate call.
+ void testInstallUpdate(); ///< Test the CheckUpdate call.
+ void testIsAutomaticUpdateOn(); ///< Test the IsAutomaticUpdateOn calls.
+ void testIsCacheOnDiskEnabled(); ///< Test the IsCacheOnDiskEnabled calls.
+ void testDiskCachePath(); ///< Test the DiskCachePath calls.
+ void testChangeLocalCache(); ///< Test the ChangeLocalPath calls.
+ void testIsDohEnabled(); ///< Test the IsDohEnabled calls.
+ void testUseSslForSmtp(); ///< Test the UseSslForSmtp calls.
+ void testHostname(); ///< Test the Hostname call.
+ void testImapPort(); ///< Test the ImapPort calls.
+ void testSmtpPort(); ///< Test the SmtpPort calls.
+ void testChangePorts(); ///< Test the ChangePorts call.
+ void testIsPortFree(); ///< Test the IsPortFree call.
+ void testKeychain(); ///< Test the keychains related calls.
+ void testUser(); ///< Test the user related calls.
+ void testStream(); ///< Test the server to client stream
+
+#pragma clang diagnostic pop
+
+private: // data members
+ std::shared_ptr channel_ { nullptr }; ///< The gRPC channel.
+ std::shared_ptr stub_ { nullptr }; ///< The gRPC stub (a.k.a. client).
+
+};
+
+
+#endif //BRIDGE_RPC_CLIENT_TEST_RPC_CLIENT_H
diff --git a/test/rpc/client/rpc/bridge_rpc.grpc.pb.cc b/test/rpc/client/rpc/bridge_rpc.grpc.pb.cc
new file mode 100644
index 00000000..e68989ba
--- /dev/null
+++ b/test/rpc/client/rpc/bridge_rpc.grpc.pb.cc
@@ -0,0 +1,2641 @@
+// Generated by the gRPC C++ plugin.
+// If you make any local change, they will be lost.
+// source: bridge_rpc.proto
+
+#include "bridge_rpc.pb.h"
+#include "bridge_rpc.grpc.pb.h"
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+namespace bridgerpc {
+
+static const char* BridgeRpc_method_names[] = {
+ "/bridgerpc.BridgeRpc/GetCursorPos",
+ "/bridgerpc.BridgeRpc/GuiReady",
+ "/bridgerpc.BridgeRpc/Quit",
+ "/bridgerpc.BridgeRpc/Restart",
+ "/bridgerpc.BridgeRpc/SetShowOnStartup",
+ "/bridgerpc.BridgeRpc/ShowOnStartup",
+ "/bridgerpc.BridgeRpc/SetShowSplashScreen",
+ "/bridgerpc.BridgeRpc/ShowSplashScreen",
+ "/bridgerpc.BridgeRpc/SetDockIconVisible",
+ "/bridgerpc.BridgeRpc/DockIconVisible",
+ "/bridgerpc.BridgeRpc/SetIsFirstGuiStart",
+ "/bridgerpc.BridgeRpc/IsFirstGuiStart",
+ "/bridgerpc.BridgeRpc/SetIsAutostartOn",
+ "/bridgerpc.BridgeRpc/IsAutostartOn",
+ "/bridgerpc.BridgeRpc/SetIsBetaEnabled",
+ "/bridgerpc.BridgeRpc/IsBetaEnabled",
+ "/bridgerpc.BridgeRpc/GoOs",
+ "/bridgerpc.BridgeRpc/TriggerReset",
+ "/bridgerpc.BridgeRpc/Version",
+ "/bridgerpc.BridgeRpc/LogPath",
+ "/bridgerpc.BridgeRpc/LicensePath",
+ "/bridgerpc.BridgeRpc/ReleaseNotesLink",
+ "/bridgerpc.BridgeRpc/LandingPageLink",
+ "/bridgerpc.BridgeRpc/SetColorSchemeName",
+ "/bridgerpc.BridgeRpc/ColorSchemeName",
+ "/bridgerpc.BridgeRpc/SetCurrentEmailClient",
+ "/bridgerpc.BridgeRpc/CurrentEmailClient",
+ "/bridgerpc.BridgeRpc/ReportBug",
+ "/bridgerpc.BridgeRpc/Login",
+ "/bridgerpc.BridgeRpc/Login2FA",
+ "/bridgerpc.BridgeRpc/Login2Passwords",
+ "/bridgerpc.BridgeRpc/LoginAbort",
+ "/bridgerpc.BridgeRpc/CheckUpdate",
+ "/bridgerpc.BridgeRpc/InstallUpdate",
+ "/bridgerpc.BridgeRpc/SetIsAutomaticUpdateOn",
+ "/bridgerpc.BridgeRpc/IsAutomaticUpdateOn",
+ "/bridgerpc.BridgeRpc/SetIsCacheOnDiskEnabled",
+ "/bridgerpc.BridgeRpc/IsCacheOnDiskEnabled",
+ "/bridgerpc.BridgeRpc/SetDiskCachePath",
+ "/bridgerpc.BridgeRpc/DiskCachePath",
+ "/bridgerpc.BridgeRpc/ChangeLocalCache",
+ "/bridgerpc.BridgeRpc/SetIsDoHEnabled",
+ "/bridgerpc.BridgeRpc/IsDoHEnabled",
+ "/bridgerpc.BridgeRpc/SetUseSslForSmtp",
+ "/bridgerpc.BridgeRpc/UseSslForSmtp",
+ "/bridgerpc.BridgeRpc/Hostname",
+ "/bridgerpc.BridgeRpc/SetImapPort",
+ "/bridgerpc.BridgeRpc/ImapPort",
+ "/bridgerpc.BridgeRpc/SetSmtpPort",
+ "/bridgerpc.BridgeRpc/SmtpPort",
+ "/bridgerpc.BridgeRpc/ChangePorts",
+ "/bridgerpc.BridgeRpc/IsPortFree",
+ "/bridgerpc.BridgeRpc/AvailableKeychains",
+ "/bridgerpc.BridgeRpc/SetCurrentKeychain",
+ "/bridgerpc.BridgeRpc/CurrentKeychain",
+ "/bridgerpc.BridgeRpc/GetUserList",
+ "/bridgerpc.BridgeRpc/GetUser",
+ "/bridgerpc.BridgeRpc/SetUserSplitMode",
+ "/bridgerpc.BridgeRpc/LogoutUser",
+ "/bridgerpc.BridgeRpc/RemoveUser",
+ "/bridgerpc.BridgeRpc/ConfigureUserAppleMail",
+ "/bridgerpc.BridgeRpc/GetEvents",
+};
+
+std::unique_ptr< BridgeRpc::Stub> BridgeRpc::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) {
+ (void)options;
+ std::unique_ptr< BridgeRpc::Stub> stub(new BridgeRpc::Stub(channel, options));
+ return stub;
+}
+
+BridgeRpc::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options)
+ : channel_(channel), rpcmethod_GetCursorPos_(BridgeRpc_method_names[0], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_GuiReady_(BridgeRpc_method_names[1], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_Quit_(BridgeRpc_method_names[2], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_Restart_(BridgeRpc_method_names[3], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_SetShowOnStartup_(BridgeRpc_method_names[4], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_ShowOnStartup_(BridgeRpc_method_names[5], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_SetShowSplashScreen_(BridgeRpc_method_names[6], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_ShowSplashScreen_(BridgeRpc_method_names[7], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_SetDockIconVisible_(BridgeRpc_method_names[8], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_DockIconVisible_(BridgeRpc_method_names[9], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_SetIsFirstGuiStart_(BridgeRpc_method_names[10], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_IsFirstGuiStart_(BridgeRpc_method_names[11], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_SetIsAutostartOn_(BridgeRpc_method_names[12], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_IsAutostartOn_(BridgeRpc_method_names[13], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_SetIsBetaEnabled_(BridgeRpc_method_names[14], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_IsBetaEnabled_(BridgeRpc_method_names[15], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_GoOs_(BridgeRpc_method_names[16], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_TriggerReset_(BridgeRpc_method_names[17], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_Version_(BridgeRpc_method_names[18], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_LogPath_(BridgeRpc_method_names[19], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_LicensePath_(BridgeRpc_method_names[20], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_ReleaseNotesLink_(BridgeRpc_method_names[21], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_LandingPageLink_(BridgeRpc_method_names[22], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_SetColorSchemeName_(BridgeRpc_method_names[23], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_ColorSchemeName_(BridgeRpc_method_names[24], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_SetCurrentEmailClient_(BridgeRpc_method_names[25], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_CurrentEmailClient_(BridgeRpc_method_names[26], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_ReportBug_(BridgeRpc_method_names[27], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_Login_(BridgeRpc_method_names[28], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_Login2FA_(BridgeRpc_method_names[29], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_Login2Passwords_(BridgeRpc_method_names[30], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_LoginAbort_(BridgeRpc_method_names[31], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_CheckUpdate_(BridgeRpc_method_names[32], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_InstallUpdate_(BridgeRpc_method_names[33], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_SetIsAutomaticUpdateOn_(BridgeRpc_method_names[34], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_IsAutomaticUpdateOn_(BridgeRpc_method_names[35], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_SetIsCacheOnDiskEnabled_(BridgeRpc_method_names[36], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_IsCacheOnDiskEnabled_(BridgeRpc_method_names[37], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_SetDiskCachePath_(BridgeRpc_method_names[38], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_DiskCachePath_(BridgeRpc_method_names[39], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_ChangeLocalCache_(BridgeRpc_method_names[40], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_SetIsDoHEnabled_(BridgeRpc_method_names[41], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_IsDoHEnabled_(BridgeRpc_method_names[42], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_SetUseSslForSmtp_(BridgeRpc_method_names[43], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_UseSslForSmtp_(BridgeRpc_method_names[44], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_Hostname_(BridgeRpc_method_names[45], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_SetImapPort_(BridgeRpc_method_names[46], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_ImapPort_(BridgeRpc_method_names[47], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_SetSmtpPort_(BridgeRpc_method_names[48], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_SmtpPort_(BridgeRpc_method_names[49], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_ChangePorts_(BridgeRpc_method_names[50], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_IsPortFree_(BridgeRpc_method_names[51], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_AvailableKeychains_(BridgeRpc_method_names[52], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_SetCurrentKeychain_(BridgeRpc_method_names[53], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_CurrentKeychain_(BridgeRpc_method_names[54], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_GetUserList_(BridgeRpc_method_names[55], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_GetUser_(BridgeRpc_method_names[56], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_SetUserSplitMode_(BridgeRpc_method_names[57], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_LogoutUser_(BridgeRpc_method_names[58], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_RemoveUser_(BridgeRpc_method_names[59], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_ConfigureUserAppleMail_(BridgeRpc_method_names[60], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_GetEvents_(BridgeRpc_method_names[61], options.suffix_for_stats(),::grpc::internal::RpcMethod::SERVER_STREAMING, channel)
+ {}
+
+::grpc::Status BridgeRpc::Stub::GetCursorPos(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::bridgerpc::PointResponse* response) {
+ return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::bridgerpc::PointResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_GetCursorPos_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::GetCursorPos(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::PointResponse* response, std::function f) {
+ ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::bridgerpc::PointResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GetCursorPos_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::GetCursorPos(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::PointResponse* response, ::grpc::ClientUnaryReactor* reactor) {
+ ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GetCursorPos_, context, request, response, reactor);
+}
+
+::grpc::ClientAsyncResponseReader< ::bridgerpc::PointResponse>* BridgeRpc::Stub::PrepareAsyncGetCursorPosRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::bridgerpc::PointResponse, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_GetCursorPos_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::bridgerpc::PointResponse>* BridgeRpc::Stub::AsyncGetCursorPosRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncGetCursorPosRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::Stub::GuiReady(::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_GuiReady_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::GuiReady(::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_GuiReady_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::GuiReady(::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_GuiReady_, context, request, response, reactor);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::PrepareAsyncGuiReadyRaw(::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_GuiReady_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::Stub::SetShowOnStartup(::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_SetShowOnStartup_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::SetShowOnStartup(::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_SetShowOnStartup_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::SetShowOnStartup(::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_SetShowOnStartup_, context, request, response, reactor);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::PrepareAsyncSetShowOnStartupRaw(::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_SetShowOnStartup_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::AsyncSetShowOnStartupRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncSetShowOnStartupRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::Stub::SetShowSplashScreen(::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_SetShowSplashScreen_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::SetShowSplashScreen(::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_SetShowSplashScreen_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::SetShowSplashScreen(::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_SetShowSplashScreen_, context, request, response, reactor);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::PrepareAsyncSetShowSplashScreenRaw(::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_SetShowSplashScreen_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::AsyncSetShowSplashScreenRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncSetShowSplashScreenRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::Stub::ShowSplashScreen(::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_ShowSplashScreen_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::ShowSplashScreen(::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_ShowSplashScreen_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::ShowSplashScreen(::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_ShowSplashScreen_, context, request, response, reactor);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* BridgeRpc::Stub::PrepareAsyncShowSplashScreenRaw(::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_ShowSplashScreen_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* BridgeRpc::Stub::AsyncShowSplashScreenRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncShowSplashScreenRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::Stub::SetDockIconVisible(::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_SetDockIconVisible_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::SetDockIconVisible(::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_SetDockIconVisible_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::SetDockIconVisible(::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_SetDockIconVisible_, context, request, response, reactor);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::PrepareAsyncSetDockIconVisibleRaw(::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_SetDockIconVisible_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::AsyncSetDockIconVisibleRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncSetDockIconVisibleRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::Stub::DockIconVisible(::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_DockIconVisible_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::DockIconVisible(::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_DockIconVisible_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::DockIconVisible(::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_DockIconVisible_, context, request, response, reactor);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* BridgeRpc::Stub::PrepareAsyncDockIconVisibleRaw(::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_DockIconVisible_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* BridgeRpc::Stub::AsyncDockIconVisibleRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncDockIconVisibleRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::Stub::SetIsFirstGuiStart(::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_SetIsFirstGuiStart_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::SetIsFirstGuiStart(::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_SetIsFirstGuiStart_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::SetIsFirstGuiStart(::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_SetIsFirstGuiStart_, context, request, response, reactor);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::PrepareAsyncSetIsFirstGuiStartRaw(::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_SetIsFirstGuiStart_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::AsyncSetIsFirstGuiStartRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncSetIsFirstGuiStartRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::Stub::IsFirstGuiStart(::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_IsFirstGuiStart_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::IsFirstGuiStart(::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_IsFirstGuiStart_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::IsFirstGuiStart(::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_IsFirstGuiStart_, context, request, response, reactor);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* BridgeRpc::Stub::PrepareAsyncIsFirstGuiStartRaw(::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_IsFirstGuiStart_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* BridgeRpc::Stub::AsyncIsFirstGuiStartRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncIsFirstGuiStartRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::Stub::LogPath(::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_LogPath_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::LogPath(::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_LogPath_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::LogPath(::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_LogPath_, context, request, response, reactor);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* BridgeRpc::Stub::PrepareAsyncLogPathRaw(::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_LogPath_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* BridgeRpc::Stub::AsyncLogPathRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncLogPathRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::Stub::ReleaseNotesLink(::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_ReleaseNotesLink_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::ReleaseNotesLink(::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_ReleaseNotesLink_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::ReleaseNotesLink(::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_ReleaseNotesLink_, context, request, response, reactor);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* BridgeRpc::Stub::PrepareAsyncReleaseNotesLinkRaw(::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_ReleaseNotesLink_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* BridgeRpc::Stub::AsyncReleaseNotesLinkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncReleaseNotesLinkRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::Stub::SetCurrentEmailClient(::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_SetCurrentEmailClient_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::SetCurrentEmailClient(::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_SetCurrentEmailClient_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::SetCurrentEmailClient(::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_SetCurrentEmailClient_, context, request, response, reactor);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::PrepareAsyncSetCurrentEmailClientRaw(::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_SetCurrentEmailClient_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::AsyncSetCurrentEmailClientRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncSetCurrentEmailClientRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::Stub::ReportBug(::grpc::ClientContext* context, const ::bridgerpc::ReportBugRequest& request, ::google::protobuf::Empty* response) {
+ return ::grpc::internal::BlockingUnaryCall< ::bridgerpc::ReportBugRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_ReportBug_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::ReportBug(::grpc::ClientContext* context, const ::bridgerpc::ReportBugRequest* request, ::google::protobuf::Empty* response, std::function f) {
+ ::grpc::internal::CallbackUnaryCall< ::bridgerpc::ReportBugRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ReportBug_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::ReportBug(::grpc::ClientContext* context, const ::bridgerpc::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>* BridgeRpc::Stub::PrepareAsyncReportBugRaw(::grpc::ClientContext* context, const ::bridgerpc::ReportBugRequest& request, ::grpc::CompletionQueue* cq) {
+ return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::bridgerpc::ReportBugRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_ReportBug_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::AsyncReportBugRaw(::grpc::ClientContext* context, const ::bridgerpc::ReportBugRequest& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncReportBugRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::Stub::Login(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::google::protobuf::Empty* response) {
+ return ::grpc::internal::BlockingUnaryCall< ::bridgerpc::LoginRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_Login_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::Login(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest* request, ::google::protobuf::Empty* response, std::function f) {
+ ::grpc::internal::CallbackUnaryCall< ::bridgerpc::LoginRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Login_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::Login(::grpc::ClientContext* context, const ::bridgerpc::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>* BridgeRpc::Stub::PrepareAsyncLoginRaw(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::grpc::CompletionQueue* cq) {
+ return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::bridgerpc::LoginRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_Login_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::AsyncLoginRaw(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncLoginRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::Stub::Login2FA(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::google::protobuf::Empty* response) {
+ return ::grpc::internal::BlockingUnaryCall< ::bridgerpc::LoginRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_Login2FA_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::Login2FA(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest* request, ::google::protobuf::Empty* response, std::function f) {
+ ::grpc::internal::CallbackUnaryCall< ::bridgerpc::LoginRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Login2FA_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::Login2FA(::grpc::ClientContext* context, const ::bridgerpc::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>* BridgeRpc::Stub::PrepareAsyncLogin2FARaw(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::grpc::CompletionQueue* cq) {
+ return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::bridgerpc::LoginRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_Login2FA_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::AsyncLogin2FARaw(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncLogin2FARaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::Stub::Login2Passwords(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::google::protobuf::Empty* response) {
+ return ::grpc::internal::BlockingUnaryCall< ::bridgerpc::LoginRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_Login2Passwords_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::Login2Passwords(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest* request, ::google::protobuf::Empty* response, std::function f) {
+ ::grpc::internal::CallbackUnaryCall< ::bridgerpc::LoginRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Login2Passwords_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::Login2Passwords(::grpc::ClientContext* context, const ::bridgerpc::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>* BridgeRpc::Stub::PrepareAsyncLogin2PasswordsRaw(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::grpc::CompletionQueue* cq) {
+ return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::bridgerpc::LoginRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_Login2Passwords_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::AsyncLogin2PasswordsRaw(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncLogin2PasswordsRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::Stub::LoginAbort(::grpc::ClientContext* context, const ::bridgerpc::LoginAbortRequest& request, ::google::protobuf::Empty* response) {
+ return ::grpc::internal::BlockingUnaryCall< ::bridgerpc::LoginAbortRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_LoginAbort_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::LoginAbort(::grpc::ClientContext* context, const ::bridgerpc::LoginAbortRequest* request, ::google::protobuf::Empty* response, std::function f) {
+ ::grpc::internal::CallbackUnaryCall< ::bridgerpc::LoginAbortRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_LoginAbort_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::LoginAbort(::grpc::ClientContext* context, const ::bridgerpc::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>* BridgeRpc::Stub::PrepareAsyncLoginAbortRaw(::grpc::ClientContext* context, const ::bridgerpc::LoginAbortRequest& request, ::grpc::CompletionQueue* cq) {
+ return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::bridgerpc::LoginAbortRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_LoginAbort_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::AsyncLoginAbortRaw(::grpc::ClientContext* context, const ::bridgerpc::LoginAbortRequest& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncLoginAbortRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::Stub::SetIsCacheOnDiskEnabled(::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_SetIsCacheOnDiskEnabled_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::SetIsCacheOnDiskEnabled(::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_SetIsCacheOnDiskEnabled_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::SetIsCacheOnDiskEnabled(::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_SetIsCacheOnDiskEnabled_, context, request, response, reactor);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::PrepareAsyncSetIsCacheOnDiskEnabledRaw(::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_SetIsCacheOnDiskEnabled_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::AsyncSetIsCacheOnDiskEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncSetIsCacheOnDiskEnabledRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::Stub::IsCacheOnDiskEnabled(::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_IsCacheOnDiskEnabled_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::IsCacheOnDiskEnabled(::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_IsCacheOnDiskEnabled_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::IsCacheOnDiskEnabled(::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_IsCacheOnDiskEnabled_, context, request, response, reactor);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* BridgeRpc::Stub::PrepareAsyncIsCacheOnDiskEnabledRaw(::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_IsCacheOnDiskEnabled_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* BridgeRpc::Stub::AsyncIsCacheOnDiskEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncIsCacheOnDiskEnabledRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::Stub::ChangeLocalCache(::grpc::ClientContext* context, const ::bridgerpc::ChangeLocalCacheRequest& request, ::google::protobuf::Empty* response) {
+ return ::grpc::internal::BlockingUnaryCall< ::bridgerpc::ChangeLocalCacheRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_ChangeLocalCache_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::ChangeLocalCache(::grpc::ClientContext* context, const ::bridgerpc::ChangeLocalCacheRequest* request, ::google::protobuf::Empty* response, std::function f) {
+ ::grpc::internal::CallbackUnaryCall< ::bridgerpc::ChangeLocalCacheRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ChangeLocalCache_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::ChangeLocalCache(::grpc::ClientContext* context, const ::bridgerpc::ChangeLocalCacheRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
+ ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ChangeLocalCache_, context, request, response, reactor);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::PrepareAsyncChangeLocalCacheRaw(::grpc::ClientContext* context, const ::bridgerpc::ChangeLocalCacheRequest& request, ::grpc::CompletionQueue* cq) {
+ return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::bridgerpc::ChangeLocalCacheRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_ChangeLocalCache_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::AsyncChangeLocalCacheRaw(::grpc::ClientContext* context, const ::bridgerpc::ChangeLocalCacheRequest& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncChangeLocalCacheRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::Stub::SetUseSslForSmtp(::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_SetUseSslForSmtp_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::SetUseSslForSmtp(::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_SetUseSslForSmtp_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::SetUseSslForSmtp(::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_SetUseSslForSmtp_, context, request, response, reactor);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::PrepareAsyncSetUseSslForSmtpRaw(::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_SetUseSslForSmtp_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::AsyncSetUseSslForSmtpRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncSetUseSslForSmtpRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::Stub::UseSslForSmtp(::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_UseSslForSmtp_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::UseSslForSmtp(::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_UseSslForSmtp_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::UseSslForSmtp(::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_UseSslForSmtp_, context, request, response, reactor);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* BridgeRpc::Stub::PrepareAsyncUseSslForSmtpRaw(::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_UseSslForSmtp_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* BridgeRpc::Stub::AsyncUseSslForSmtpRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncUseSslForSmtpRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::Stub::SetImapPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::google::protobuf::Empty* response) {
+ return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Int32Value, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_SetImapPort_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::SetImapPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::Empty* response, std::function f) {
+ ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Int32Value, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetImapPort_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::SetImapPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
+ ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetImapPort_, context, request, response, reactor);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::PrepareAsyncSetImapPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) {
+ return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::Int32Value, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_SetImapPort_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::AsyncSetImapPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncSetImapPortRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::Stub::ImapPort(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Int32Value* response) {
+ return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::Int32Value, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_ImapPort_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::ImapPort(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Int32Value* response, std::function f) {
+ ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::Int32Value, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ImapPort_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::ImapPort(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Int32Value* response, ::grpc::ClientUnaryReactor* reactor) {
+ ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ImapPort_, context, request, response, reactor);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Int32Value>* BridgeRpc::Stub::PrepareAsyncImapPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Int32Value, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_ImapPort_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Int32Value>* BridgeRpc::Stub::AsyncImapPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncImapPortRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::Stub::SetSmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::google::protobuf::Empty* response) {
+ return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Int32Value, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_SetSmtpPort_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::SetSmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::Empty* response, std::function f) {
+ ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Int32Value, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetSmtpPort_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::SetSmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
+ ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetSmtpPort_, context, request, response, reactor);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::PrepareAsyncSetSmtpPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) {
+ return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::Int32Value, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_SetSmtpPort_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::AsyncSetSmtpPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncSetSmtpPortRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::Stub::SmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Int32Value* response) {
+ return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::Int32Value, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_SmtpPort_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::SmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Int32Value* response, std::function f) {
+ ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::Int32Value, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SmtpPort_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::SmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Int32Value* response, ::grpc::ClientUnaryReactor* reactor) {
+ ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SmtpPort_, context, request, response, reactor);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Int32Value>* BridgeRpc::Stub::PrepareAsyncSmtpPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Int32Value, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_SmtpPort_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Int32Value>* BridgeRpc::Stub::AsyncSmtpPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncSmtpPortRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::Stub::ChangePorts(::grpc::ClientContext* context, const ::bridgerpc::ChangePortsRequest& request, ::google::protobuf::Empty* response) {
+ return ::grpc::internal::BlockingUnaryCall< ::bridgerpc::ChangePortsRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_ChangePorts_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::ChangePorts(::grpc::ClientContext* context, const ::bridgerpc::ChangePortsRequest* request, ::google::protobuf::Empty* response, std::function f) {
+ ::grpc::internal::CallbackUnaryCall< ::bridgerpc::ChangePortsRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ChangePorts_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::ChangePorts(::grpc::ClientContext* context, const ::bridgerpc::ChangePortsRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
+ ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ChangePorts_, context, request, response, reactor);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::PrepareAsyncChangePortsRaw(::grpc::ClientContext* context, const ::bridgerpc::ChangePortsRequest& request, ::grpc::CompletionQueue* cq) {
+ return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::bridgerpc::ChangePortsRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_ChangePorts_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::AsyncChangePortsRaw(::grpc::ClientContext* context, const ::bridgerpc::ChangePortsRequest& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncChangePortsRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::Stub::AvailableKeychains(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::bridgerpc::AvailableKeychainsResponse* response) {
+ return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::bridgerpc::AvailableKeychainsResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_AvailableKeychains_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::AvailableKeychains(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::AvailableKeychainsResponse* response, std::function f) {
+ ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::bridgerpc::AvailableKeychainsResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_AvailableKeychains_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::AvailableKeychains(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::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< ::bridgerpc::AvailableKeychainsResponse>* BridgeRpc::Stub::PrepareAsyncAvailableKeychainsRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::bridgerpc::AvailableKeychainsResponse, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_AvailableKeychains_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::bridgerpc::AvailableKeychainsResponse>* BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::Stub::GetUserList(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::bridgerpc::UserListResponse* response) {
+ return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::bridgerpc::UserListResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_GetUserList_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::GetUserList(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::UserListResponse* response, std::function f) {
+ ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::bridgerpc::UserListResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GetUserList_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::GetUserList(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::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< ::bridgerpc::UserListResponse>* BridgeRpc::Stub::PrepareAsyncGetUserListRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::bridgerpc::UserListResponse, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_GetUserList_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::bridgerpc::UserListResponse>* BridgeRpc::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 BridgeRpc::Stub::GetUser(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::bridgerpc::User* response) {
+ return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::bridgerpc::User, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_GetUser_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::GetUser(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::User* response, std::function f) {
+ ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::bridgerpc::User, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_GetUser_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::GetUser(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::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< ::bridgerpc::User>* BridgeRpc::Stub::PrepareAsyncGetUserRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::bridgerpc::User, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_GetUser_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::bridgerpc::User>* BridgeRpc::Stub::AsyncGetUserRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncGetUserRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::Stub::SetUserSplitMode(::grpc::ClientContext* context, const ::bridgerpc::UserSplitModeRequest& request, ::google::protobuf::Empty* response) {
+ return ::grpc::internal::BlockingUnaryCall< ::bridgerpc::UserSplitModeRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_SetUserSplitMode_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::SetUserSplitMode(::grpc::ClientContext* context, const ::bridgerpc::UserSplitModeRequest* request, ::google::protobuf::Empty* response, std::function f) {
+ ::grpc::internal::CallbackUnaryCall< ::bridgerpc::UserSplitModeRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetUserSplitMode_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::SetUserSplitMode(::grpc::ClientContext* context, const ::bridgerpc::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>* BridgeRpc::Stub::PrepareAsyncSetUserSplitModeRaw(::grpc::ClientContext* context, const ::bridgerpc::UserSplitModeRequest& request, ::grpc::CompletionQueue* cq) {
+ return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::bridgerpc::UserSplitModeRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_SetUserSplitMode_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::AsyncSetUserSplitModeRaw(::grpc::ClientContext* context, const ::bridgerpc::UserSplitModeRequest& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncSetUserSplitModeRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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>* BridgeRpc::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>* BridgeRpc::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 BridgeRpc::Stub::ConfigureUserAppleMail(::grpc::ClientContext* context, const ::bridgerpc::ConfigureAppleMailRequest& request, ::google::protobuf::Empty* response) {
+ return ::grpc::internal::BlockingUnaryCall< ::bridgerpc::ConfigureAppleMailRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_ConfigureUserAppleMail_, context, request, response);
+}
+
+void BridgeRpc::Stub::async::ConfigureUserAppleMail(::grpc::ClientContext* context, const ::bridgerpc::ConfigureAppleMailRequest* request, ::google::protobuf::Empty* response, std::function f) {
+ ::grpc::internal::CallbackUnaryCall< ::bridgerpc::ConfigureAppleMailRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_ConfigureUserAppleMail_, context, request, response, std::move(f));
+}
+
+void BridgeRpc::Stub::async::ConfigureUserAppleMail(::grpc::ClientContext* context, const ::bridgerpc::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>* BridgeRpc::Stub::PrepareAsyncConfigureUserAppleMailRaw(::grpc::ClientContext* context, const ::bridgerpc::ConfigureAppleMailRequest& request, ::grpc::CompletionQueue* cq) {
+ return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::bridgerpc::ConfigureAppleMailRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_ConfigureUserAppleMail_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BridgeRpc::Stub::AsyncConfigureUserAppleMailRaw(::grpc::ClientContext* context, const ::bridgerpc::ConfigureAppleMailRequest& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncConfigureUserAppleMailRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::ClientReader< ::bridgerpc::StreamEvent>* BridgeRpc::Stub::GetEventsRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request) {
+ return ::grpc::internal::ClientReaderFactory< ::bridgerpc::StreamEvent>::Create(channel_.get(), rpcmethod_GetEvents_, context, request);
+}
+
+void BridgeRpc::Stub::async::GetEvents(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::grpc::ClientReadReactor< ::bridgerpc::StreamEvent>* reactor) {
+ ::grpc::internal::ClientCallbackReaderFactory< ::bridgerpc::StreamEvent>::Create(stub_->channel_.get(), stub_->rpcmethod_GetEvents_, context, request, reactor);
+}
+
+::grpc::ClientAsyncReader< ::bridgerpc::StreamEvent>* BridgeRpc::Stub::AsyncGetEventsRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq, void* tag) {
+ return ::grpc::internal::ClientAsyncReaderFactory< ::bridgerpc::StreamEvent>::Create(channel_.get(), cq, rpcmethod_GetEvents_, context, request, true, tag);
+}
+
+::grpc::ClientAsyncReader< ::bridgerpc::StreamEvent>* BridgeRpc::Stub::PrepareAsyncGetEventsRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return ::grpc::internal::ClientAsyncReaderFactory< ::bridgerpc::StreamEvent>::Create(channel_.get(), cq, rpcmethod_GetEvents_, context, request, false, nullptr);
+}
+
+BridgeRpc::Service::Service() {
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[0],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::bridgerpc::PointResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::Empty* req,
+ ::bridgerpc::PointResponse* resp) {
+ return service->GetCursorPos(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[1],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::Empty* req,
+ ::google::protobuf::Empty* resp) {
+ return service->GuiReady(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[2],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[3],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[4],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::BoolValue* req,
+ ::google::protobuf::Empty* resp) {
+ return service->SetShowOnStartup(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[5],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[6],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::BoolValue* req,
+ ::google::protobuf::Empty* resp) {
+ return service->SetShowSplashScreen(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[7],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::Empty* req,
+ ::google::protobuf::BoolValue* resp) {
+ return service->ShowSplashScreen(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[8],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::BoolValue* req,
+ ::google::protobuf::Empty* resp) {
+ return service->SetDockIconVisible(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[9],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::Empty* req,
+ ::google::protobuf::BoolValue* resp) {
+ return service->DockIconVisible(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[10],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::BoolValue* req,
+ ::google::protobuf::Empty* resp) {
+ return service->SetIsFirstGuiStart(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[11],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::Empty* req,
+ ::google::protobuf::BoolValue* resp) {
+ return service->IsFirstGuiStart(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[12],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[13],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[14],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[15],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[16],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[17],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[18],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[19],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::Empty* req,
+ ::google::protobuf::StringValue* resp) {
+ return service->LogPath(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[20],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[21],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::Empty* req,
+ ::google::protobuf::StringValue* resp) {
+ return service->ReleaseNotesLink(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[22],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[23],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[24],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[25],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::StringValue* req,
+ ::google::protobuf::Empty* resp) {
+ return service->SetCurrentEmailClient(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[26],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[27],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::bridgerpc::ReportBugRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::bridgerpc::ReportBugRequest* req,
+ ::google::protobuf::Empty* resp) {
+ return service->ReportBug(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[28],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::bridgerpc::LoginRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::bridgerpc::LoginRequest* req,
+ ::google::protobuf::Empty* resp) {
+ return service->Login(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[29],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::bridgerpc::LoginRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::bridgerpc::LoginRequest* req,
+ ::google::protobuf::Empty* resp) {
+ return service->Login2FA(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[30],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::bridgerpc::LoginRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::bridgerpc::LoginRequest* req,
+ ::google::protobuf::Empty* resp) {
+ return service->Login2Passwords(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[31],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::bridgerpc::LoginAbortRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::bridgerpc::LoginAbortRequest* req,
+ ::google::protobuf::Empty* resp) {
+ return service->LoginAbort(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[32],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[33],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[34],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[35],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[36],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::BoolValue* req,
+ ::google::protobuf::Empty* resp) {
+ return service->SetIsCacheOnDiskEnabled(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[37],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::Empty* req,
+ ::google::protobuf::BoolValue* resp) {
+ return service->IsCacheOnDiskEnabled(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[38],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[39],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[40],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::bridgerpc::ChangeLocalCacheRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::bridgerpc::ChangeLocalCacheRequest* req,
+ ::google::protobuf::Empty* resp) {
+ return service->ChangeLocalCache(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[41],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[42],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[43],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::BoolValue* req,
+ ::google::protobuf::Empty* resp) {
+ return service->SetUseSslForSmtp(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[44],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::Empty* req,
+ ::google::protobuf::BoolValue* resp) {
+ return service->UseSslForSmtp(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[45],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[46],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Int32Value, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::Int32Value* req,
+ ::google::protobuf::Empty* resp) {
+ return service->SetImapPort(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[47],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::Int32Value, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::Empty* req,
+ ::google::protobuf::Int32Value* resp) {
+ return service->ImapPort(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[48],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Int32Value, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::Int32Value* req,
+ ::google::protobuf::Empty* resp) {
+ return service->SetSmtpPort(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[49],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::Int32Value, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::Empty* req,
+ ::google::protobuf::Int32Value* resp) {
+ return service->SmtpPort(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[50],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::bridgerpc::ChangePortsRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::bridgerpc::ChangePortsRequest* req,
+ ::google::protobuf::Empty* resp) {
+ return service->ChangePorts(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[51],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Int32Value, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[52],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::bridgerpc::AvailableKeychainsResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::Empty* req,
+ ::bridgerpc::AvailableKeychainsResponse* resp) {
+ return service->AvailableKeychains(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[53],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[54],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[55],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::bridgerpc::UserListResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::Empty* req,
+ ::bridgerpc::UserListResponse* resp) {
+ return service->GetUserList(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[56],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::bridgerpc::User, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::Empty* req,
+ ::bridgerpc::User* resp) {
+ return service->GetUser(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[57],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::bridgerpc::UserSplitModeRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::bridgerpc::UserSplitModeRequest* req,
+ ::google::protobuf::Empty* resp) {
+ return service->SetUserSplitMode(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[58],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[59],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::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(
+ BridgeRpc_method_names[60],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< BridgeRpc::Service, ::bridgerpc::ConfigureAppleMailRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::bridgerpc::ConfigureAppleMailRequest* req,
+ ::google::protobuf::Empty* resp) {
+ return service->ConfigureUserAppleMail(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ BridgeRpc_method_names[61],
+ ::grpc::internal::RpcMethod::SERVER_STREAMING,
+ new ::grpc::internal::ServerStreamingHandler< BridgeRpc::Service, ::google::protobuf::Empty, ::bridgerpc::StreamEvent>(
+ [](BridgeRpc::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::Empty* req,
+ ::grpc::ServerWriter<::bridgerpc::StreamEvent>* writer) {
+ return service->GetEvents(ctx, req, writer);
+ }, this)));
+}
+
+BridgeRpc::Service::~Service() {
+}
+
+::grpc::Status BridgeRpc::Service::GetCursorPos(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::PointResponse* response) {
+ (void) context;
+ (void) request;
+ (void) response;
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status BridgeRpc::Service::GuiReady(::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::Service::SetShowOnStartup(::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 BridgeRpc::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 BridgeRpc::Service::SetShowSplashScreen(::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 BridgeRpc::Service::ShowSplashScreen(::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 BridgeRpc::Service::SetDockIconVisible(::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 BridgeRpc::Service::DockIconVisible(::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 BridgeRpc::Service::SetIsFirstGuiStart(::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 BridgeRpc::Service::IsFirstGuiStart(::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::Service::LogPath(::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 BridgeRpc::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 BridgeRpc::Service::ReleaseNotesLink(::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::Service::SetCurrentEmailClient(::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 BridgeRpc::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 BridgeRpc::Service::ReportBug(::grpc::ServerContext* context, const ::bridgerpc::ReportBugRequest* request, ::google::protobuf::Empty* response) {
+ (void) context;
+ (void) request;
+ (void) response;
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status BridgeRpc::Service::Login(::grpc::ServerContext* context, const ::bridgerpc::LoginRequest* request, ::google::protobuf::Empty* response) {
+ (void) context;
+ (void) request;
+ (void) response;
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status BridgeRpc::Service::Login2FA(::grpc::ServerContext* context, const ::bridgerpc::LoginRequest* request, ::google::protobuf::Empty* response) {
+ (void) context;
+ (void) request;
+ (void) response;
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status BridgeRpc::Service::Login2Passwords(::grpc::ServerContext* context, const ::bridgerpc::LoginRequest* request, ::google::protobuf::Empty* response) {
+ (void) context;
+ (void) request;
+ (void) response;
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status BridgeRpc::Service::LoginAbort(::grpc::ServerContext* context, const ::bridgerpc::LoginAbortRequest* request, ::google::protobuf::Empty* response) {
+ (void) context;
+ (void) request;
+ (void) response;
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::Service::SetIsCacheOnDiskEnabled(::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 BridgeRpc::Service::IsCacheOnDiskEnabled(::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 BridgeRpc::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 BridgeRpc::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 BridgeRpc::Service::ChangeLocalCache(::grpc::ServerContext* context, const ::bridgerpc::ChangeLocalCacheRequest* request, ::google::protobuf::Empty* response) {
+ (void) context;
+ (void) request;
+ (void) response;
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status BridgeRpc::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 BridgeRpc::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 BridgeRpc::Service::SetUseSslForSmtp(::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 BridgeRpc::Service::UseSslForSmtp(::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 BridgeRpc::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 BridgeRpc::Service::SetImapPort(::grpc::ServerContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::Empty* response) {
+ (void) context;
+ (void) request;
+ (void) response;
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status BridgeRpc::Service::ImapPort(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Int32Value* response) {
+ (void) context;
+ (void) request;
+ (void) response;
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status BridgeRpc::Service::SetSmtpPort(::grpc::ServerContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::Empty* response) {
+ (void) context;
+ (void) request;
+ (void) response;
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status BridgeRpc::Service::SmtpPort(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Int32Value* response) {
+ (void) context;
+ (void) request;
+ (void) response;
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status BridgeRpc::Service::ChangePorts(::grpc::ServerContext* context, const ::bridgerpc::ChangePortsRequest* request, ::google::protobuf::Empty* response) {
+ (void) context;
+ (void) request;
+ (void) response;
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status BridgeRpc::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 BridgeRpc::Service::AvailableKeychains(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::AvailableKeychainsResponse* response) {
+ (void) context;
+ (void) request;
+ (void) response;
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status BridgeRpc::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 BridgeRpc::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 BridgeRpc::Service::GetUserList(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::UserListResponse* response) {
+ (void) context;
+ (void) request;
+ (void) response;
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status BridgeRpc::Service::GetUser(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::User* response) {
+ (void) context;
+ (void) request;
+ (void) response;
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status BridgeRpc::Service::SetUserSplitMode(::grpc::ServerContext* context, const ::bridgerpc::UserSplitModeRequest* request, ::google::protobuf::Empty* response) {
+ (void) context;
+ (void) request;
+ (void) response;
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status BridgeRpc::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 BridgeRpc::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 BridgeRpc::Service::ConfigureUserAppleMail(::grpc::ServerContext* context, const ::bridgerpc::ConfigureAppleMailRequest* request, ::google::protobuf::Empty* response) {
+ (void) context;
+ (void) request;
+ (void) response;
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status BridgeRpc::Service::GetEvents(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::grpc::ServerWriter< ::bridgerpc::StreamEvent>* writer) {
+ (void) context;
+ (void) request;
+ (void) writer;
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+
+} // namespace bridgerpc
+
diff --git a/test/rpc/client/rpc/bridge_rpc.grpc.pb.h b/test/rpc/client/rpc/bridge_rpc.grpc.pb.h
new file mode 100644
index 00000000..3a4c83ac
--- /dev/null
+++ b/test/rpc/client/rpc/bridge_rpc.grpc.pb.h
@@ -0,0 +1,9864 @@
+// Generated by the gRPC C++ plugin.
+// If you make any local change, they will be lost.
+// source: bridge_rpc.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_5frpc_2eproto__INCLUDED
+#define GRPC_bridge_5frpc_2eproto__INCLUDED
+
+#include "bridge_rpc.pb.h"
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+namespace bridgerpc {
+
+// **********************************************************************************************************************
+// Service Declaration
+// **********************************************************************************************************************
+class BridgeRpc final {
+ public:
+ static constexpr char const* service_full_name() {
+ return "bridgerpc.BridgeRpc";
+ }
+ class StubInterface {
+ public:
+ virtual ~StubInterface() {}
+ // App related calls
+ virtual ::grpc::Status GetCursorPos(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::bridgerpc::PointResponse* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::bridgerpc::PointResponse>> AsyncGetCursorPos(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::bridgerpc::PointResponse>>(AsyncGetCursorPosRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::bridgerpc::PointResponse>> PrepareAsyncGetCursorPos(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::bridgerpc::PointResponse>>(PrepareAsyncGetCursorPosRaw(context, request, cq));
+ }
+ // May be unnecessary
+ virtual ::grpc::Status GuiReady(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncGuiReady(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncGuiReadyRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncGuiReady(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(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 SetShowOnStartup(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncSetShowOnStartup(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncSetShowOnStartupRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncSetShowOnStartup(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncSetShowOnStartupRaw(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 SetShowSplashScreen(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncSetShowSplashScreen(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncSetShowSplashScreenRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncSetShowSplashScreen(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncSetShowSplashScreenRaw(context, request, cq));
+ }
+ virtual ::grpc::Status ShowSplashScreen(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> AsyncShowSplashScreen(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(AsyncShowSplashScreenRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> PrepareAsyncShowSplashScreen(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(PrepareAsyncShowSplashScreenRaw(context, request, cq));
+ }
+ virtual ::grpc::Status SetDockIconVisible(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncSetDockIconVisible(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncSetDockIconVisibleRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncSetDockIconVisible(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncSetDockIconVisibleRaw(context, request, cq));
+ }
+ virtual ::grpc::Status DockIconVisible(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> AsyncDockIconVisible(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(AsyncDockIconVisibleRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> PrepareAsyncDockIconVisible(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(PrepareAsyncDockIconVisibleRaw(context, request, cq));
+ }
+ virtual ::grpc::Status SetIsFirstGuiStart(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncSetIsFirstGuiStart(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncSetIsFirstGuiStartRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncSetIsFirstGuiStart(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncSetIsFirstGuiStartRaw(context, request, cq));
+ }
+ virtual ::grpc::Status IsFirstGuiStart(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> AsyncIsFirstGuiStart(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(AsyncIsFirstGuiStartRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> PrepareAsyncIsFirstGuiStart(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(PrepareAsyncIsFirstGuiStartRaw(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 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 LogPath(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> AsyncLogPath(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(AsyncLogPathRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> PrepareAsyncLogPath(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(PrepareAsyncLogPathRaw(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 ReleaseNotesLink(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> AsyncReleaseNotesLink(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(AsyncReleaseNotesLinkRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>> PrepareAsyncReleaseNotesLink(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>>(PrepareAsyncReleaseNotesLinkRaw(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));
+ }
+ virtual ::grpc::Status SetCurrentEmailClient(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncSetCurrentEmailClient(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncSetCurrentEmailClientRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncSetCurrentEmailClient(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncSetCurrentEmailClientRaw(context, request, cq));
+ }
+ 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 ::bridgerpc::ReportBugRequest& request, ::google::protobuf::Empty* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncReportBug(::grpc::ClientContext* context, const ::bridgerpc::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 ::bridgerpc::ReportBugRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncReportBugRaw(context, request, cq));
+ }
+ // login
+ virtual ::grpc::Status Login(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::google::protobuf::Empty* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncLogin(::grpc::ClientContext* context, const ::bridgerpc::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 ::bridgerpc::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 ::bridgerpc::LoginRequest& request, ::google::protobuf::Empty* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncLogin2FA(::grpc::ClientContext* context, const ::bridgerpc::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 ::bridgerpc::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 ::bridgerpc::LoginRequest& request, ::google::protobuf::Empty* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncLogin2Passwords(::grpc::ClientContext* context, const ::bridgerpc::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 ::bridgerpc::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 ::bridgerpc::LoginAbortRequest& request, ::google::protobuf::Empty* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncLoginAbort(::grpc::ClientContext* context, const ::bridgerpc::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 ::bridgerpc::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 SetIsCacheOnDiskEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncSetIsCacheOnDiskEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncSetIsCacheOnDiskEnabledRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncSetIsCacheOnDiskEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncSetIsCacheOnDiskEnabledRaw(context, request, cq));
+ }
+ virtual ::grpc::Status IsCacheOnDiskEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> AsyncIsCacheOnDiskEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(AsyncIsCacheOnDiskEnabledRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> PrepareAsyncIsCacheOnDiskEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(PrepareAsyncIsCacheOnDiskEnabledRaw(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));
+ }
+ 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 ChangeLocalCache(::grpc::ClientContext* context, const ::bridgerpc::ChangeLocalCacheRequest& request, ::google::protobuf::Empty* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncChangeLocalCache(::grpc::ClientContext* context, const ::bridgerpc::ChangeLocalCacheRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncChangeLocalCacheRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncChangeLocalCache(::grpc::ClientContext* context, const ::bridgerpc::ChangeLocalCacheRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncChangeLocalCacheRaw(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 SetUseSslForSmtp(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncSetUseSslForSmtp(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncSetUseSslForSmtpRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncSetUseSslForSmtp(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncSetUseSslForSmtpRaw(context, request, cq));
+ }
+ virtual ::grpc::Status UseSslForSmtp(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> AsyncUseSslForSmtp(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(AsyncUseSslForSmtpRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> PrepareAsyncUseSslForSmtp(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(PrepareAsyncUseSslForSmtpRaw(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 SetImapPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::google::protobuf::Empty* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncSetImapPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncSetImapPortRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncSetImapPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncSetImapPortRaw(context, request, cq));
+ }
+ virtual ::grpc::Status ImapPort(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Int32Value* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Int32Value>> AsyncImapPort(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Int32Value>>(AsyncImapPortRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Int32Value>> PrepareAsyncImapPort(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Int32Value>>(PrepareAsyncImapPortRaw(context, request, cq));
+ }
+ virtual ::grpc::Status SetSmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::google::protobuf::Empty* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncSetSmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncSetSmtpPortRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncSetSmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncSetSmtpPortRaw(context, request, cq));
+ }
+ virtual ::grpc::Status SmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Int32Value* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Int32Value>> AsyncSmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Int32Value>>(AsyncSmtpPortRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Int32Value>> PrepareAsyncSmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Int32Value>>(PrepareAsyncSmtpPortRaw(context, request, cq));
+ }
+ virtual ::grpc::Status ChangePorts(::grpc::ClientContext* context, const ::bridgerpc::ChangePortsRequest& request, ::google::protobuf::Empty* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncChangePorts(::grpc::ClientContext* context, const ::bridgerpc::ChangePortsRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncChangePortsRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncChangePorts(::grpc::ClientContext* context, const ::bridgerpc::ChangePortsRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncChangePortsRaw(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, ::bridgerpc::AvailableKeychainsResponse* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::bridgerpc::AvailableKeychainsResponse>> AsyncAvailableKeychains(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::bridgerpc::AvailableKeychainsResponse>>(AsyncAvailableKeychainsRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::bridgerpc::AvailableKeychainsResponse>> PrepareAsyncAvailableKeychains(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::bridgerpc::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, ::bridgerpc::UserListResponse* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::bridgerpc::UserListResponse>> AsyncGetUserList(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::bridgerpc::UserListResponse>>(AsyncGetUserListRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::bridgerpc::UserListResponse>> PrepareAsyncGetUserList(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::bridgerpc::UserListResponse>>(PrepareAsyncGetUserListRaw(context, request, cq));
+ }
+ virtual ::grpc::Status GetUser(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::bridgerpc::User* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::bridgerpc::User>> AsyncGetUser(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::bridgerpc::User>>(AsyncGetUserRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::bridgerpc::User>> PrepareAsyncGetUser(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::bridgerpc::User>>(PrepareAsyncGetUserRaw(context, request, cq));
+ }
+ virtual ::grpc::Status SetUserSplitMode(::grpc::ClientContext* context, const ::bridgerpc::UserSplitModeRequest& request, ::google::protobuf::Empty* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncSetUserSplitMode(::grpc::ClientContext* context, const ::bridgerpc::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 ::bridgerpc::UserSplitModeRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncSetUserSplitModeRaw(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 ::bridgerpc::ConfigureAppleMailRequest& request, ::google::protobuf::Empty* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncConfigureUserAppleMail(::grpc::ClientContext* context, const ::bridgerpc::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 ::bridgerpc::ConfigureAppleMailRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncConfigureUserAppleMailRaw(context, request, cq));
+ }
+ // Server -> Client event stream
+ std::unique_ptr< ::grpc::ClientReaderInterface< ::bridgerpc::StreamEvent>> GetEvents(::grpc::ClientContext* context, const ::google::protobuf::Empty& request) {
+ return std::unique_ptr< ::grpc::ClientReaderInterface< ::bridgerpc::StreamEvent>>(GetEventsRaw(context, request));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::bridgerpc::StreamEvent>> AsyncGetEvents(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq, void* tag) {
+ return std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::bridgerpc::StreamEvent>>(AsyncGetEventsRaw(context, request, cq, tag));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::bridgerpc::StreamEvent>> PrepareAsyncGetEvents(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::bridgerpc::StreamEvent>>(PrepareAsyncGetEventsRaw(context, request, cq));
+ }
+ class async_interface {
+ public:
+ virtual ~async_interface() {}
+ // App related calls
+ virtual void GetCursorPos(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::PointResponse* response, std::function) = 0;
+ virtual void GetCursorPos(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::PointResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ // May be unnecessary
+ virtual void GuiReady(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function) = 0;
+ virtual void GuiReady(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* 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 SetShowOnStartup(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function) = 0;
+ virtual void SetShowOnStartup(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* 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 SetShowSplashScreen(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function) = 0;
+ virtual void SetShowSplashScreen(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ virtual void ShowSplashScreen(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function) = 0;
+ virtual void ShowSplashScreen(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ virtual void SetDockIconVisible(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function) = 0;
+ virtual void SetDockIconVisible(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ virtual void DockIconVisible(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function) = 0;
+ virtual void DockIconVisible(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ virtual void SetIsFirstGuiStart(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function) = 0;
+ virtual void SetIsFirstGuiStart(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ virtual void IsFirstGuiStart(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function) = 0;
+ virtual void IsFirstGuiStart(::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 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 LogPath(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) = 0;
+ virtual void LogPath(::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 ReleaseNotesLink(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) = 0;
+ virtual void ReleaseNotesLink(::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;
+ virtual void SetCurrentEmailClient(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function) = 0;
+ virtual void SetCurrentEmailClient(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ 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 ::bridgerpc::ReportBugRequest* request, ::google::protobuf::Empty* response, std::function) = 0;
+ virtual void ReportBug(::grpc::ClientContext* context, const ::bridgerpc::ReportBugRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ // login
+ virtual void Login(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest* request, ::google::protobuf::Empty* response, std::function) = 0;
+ virtual void Login(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ virtual void Login2FA(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest* request, ::google::protobuf::Empty* response, std::function) = 0;
+ virtual void Login2FA(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ virtual void Login2Passwords(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest* request, ::google::protobuf::Empty* response, std::function) = 0;
+ virtual void Login2Passwords(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ virtual void LoginAbort(::grpc::ClientContext* context, const ::bridgerpc::LoginAbortRequest* request, ::google::protobuf::Empty* response, std::function) = 0;
+ virtual void LoginAbort(::grpc::ClientContext* context, const ::bridgerpc::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 SetIsCacheOnDiskEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function) = 0;
+ virtual void SetIsCacheOnDiskEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ virtual void IsCacheOnDiskEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function) = 0;
+ virtual void IsCacheOnDiskEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* 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;
+ 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 ChangeLocalCache(::grpc::ClientContext* context, const ::bridgerpc::ChangeLocalCacheRequest* request, ::google::protobuf::Empty* response, std::function) = 0;
+ virtual void ChangeLocalCache(::grpc::ClientContext* context, const ::bridgerpc::ChangeLocalCacheRequest* 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 SetUseSslForSmtp(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function) = 0;
+ virtual void SetUseSslForSmtp(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ virtual void UseSslForSmtp(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function) = 0;
+ virtual void UseSslForSmtp(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* 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 SetImapPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::Empty* response, std::function) = 0;
+ virtual void SetImapPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ virtual void ImapPort(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Int32Value* response, std::function) = 0;
+ virtual void ImapPort(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Int32Value* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ virtual void SetSmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::Empty* response, std::function) = 0;
+ virtual void SetSmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ virtual void SmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Int32Value* response, std::function) = 0;
+ virtual void SmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Int32Value* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ virtual void ChangePorts(::grpc::ClientContext* context, const ::bridgerpc::ChangePortsRequest* request, ::google::protobuf::Empty* response, std::function) = 0;
+ virtual void ChangePorts(::grpc::ClientContext* context, const ::bridgerpc::ChangePortsRequest* request, ::google::protobuf::Empty* 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, ::bridgerpc::AvailableKeychainsResponse* response, std::function) = 0;
+ virtual void AvailableKeychains(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::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, ::bridgerpc::UserListResponse* response, std::function) = 0;
+ virtual void GetUserList(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::UserListResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ virtual void GetUser(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::User* response, std::function) = 0;
+ virtual void GetUser(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::User* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ virtual void SetUserSplitMode(::grpc::ClientContext* context, const ::bridgerpc::UserSplitModeRequest* request, ::google::protobuf::Empty* response, std::function) = 0;
+ virtual void SetUserSplitMode(::grpc::ClientContext* context, const ::bridgerpc::UserSplitModeRequest* 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 ::bridgerpc::ConfigureAppleMailRequest* request, ::google::protobuf::Empty* response, std::function) = 0;
+ virtual void ConfigureUserAppleMail(::grpc::ClientContext* context, const ::bridgerpc::ConfigureAppleMailRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ // Server -> Client event stream
+ virtual void GetEvents(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::grpc::ClientReadReactor< ::bridgerpc::StreamEvent>* 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< ::bridgerpc::PointResponse>* AsyncGetCursorPosRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::bridgerpc::PointResponse>* PrepareAsyncGetCursorPosRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncGuiReadyRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncGuiReadyRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncQuitRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncQuitRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncRestartRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncRestartRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncSetShowOnStartupRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncSetShowOnStartupRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>* AsyncShowOnStartupRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>* PrepareAsyncShowOnStartupRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncSetShowSplashScreenRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncSetShowSplashScreenRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>* AsyncShowSplashScreenRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>* PrepareAsyncShowSplashScreenRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncSetDockIconVisibleRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncSetDockIconVisibleRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>* AsyncDockIconVisibleRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>* PrepareAsyncDockIconVisibleRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncSetIsFirstGuiStartRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncSetIsFirstGuiStartRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>* AsyncIsFirstGuiStartRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>* PrepareAsyncIsFirstGuiStartRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncSetIsAutostartOnRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncSetIsAutostartOnRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>* AsyncIsAutostartOnRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>* PrepareAsyncIsAutostartOnRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncSetIsBetaEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncSetIsBetaEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>* AsyncIsBetaEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>* PrepareAsyncIsBetaEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>* AsyncGoOsRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>* PrepareAsyncGoOsRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncTriggerResetRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncTriggerResetRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>* AsyncVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>* PrepareAsyncVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>* AsyncLogPathRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>* PrepareAsyncLogPathRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>* AsyncLicensePathRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>* PrepareAsyncLicensePathRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>* AsyncReleaseNotesLinkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>* PrepareAsyncReleaseNotesLinkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>* AsyncLandingPageLinkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>* PrepareAsyncLandingPageLinkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncSetColorSchemeNameRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncSetColorSchemeNameRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>* AsyncColorSchemeNameRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>* PrepareAsyncColorSchemeNameRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncSetCurrentEmailClientRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncSetCurrentEmailClientRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>* AsyncCurrentEmailClientRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>* PrepareAsyncCurrentEmailClientRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncReportBugRaw(::grpc::ClientContext* context, const ::bridgerpc::ReportBugRequest& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncReportBugRaw(::grpc::ClientContext* context, const ::bridgerpc::ReportBugRequest& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncLoginRaw(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncLoginRaw(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncLogin2FARaw(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncLogin2FARaw(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncLogin2PasswordsRaw(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncLogin2PasswordsRaw(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncLoginAbortRaw(::grpc::ClientContext* context, const ::bridgerpc::LoginAbortRequest& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncLoginAbortRaw(::grpc::ClientContext* context, const ::bridgerpc::LoginAbortRequest& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncCheckUpdateRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncCheckUpdateRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncInstallUpdateRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncInstallUpdateRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncSetIsAutomaticUpdateOnRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncSetIsAutomaticUpdateOnRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>* AsyncIsAutomaticUpdateOnRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>* PrepareAsyncIsAutomaticUpdateOnRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncSetIsCacheOnDiskEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncSetIsCacheOnDiskEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>* AsyncIsCacheOnDiskEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>* PrepareAsyncIsCacheOnDiskEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncSetDiskCachePathRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncSetDiskCachePathRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>* AsyncDiskCachePathRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>* PrepareAsyncDiskCachePathRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncChangeLocalCacheRaw(::grpc::ClientContext* context, const ::bridgerpc::ChangeLocalCacheRequest& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncChangeLocalCacheRaw(::grpc::ClientContext* context, const ::bridgerpc::ChangeLocalCacheRequest& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncSetIsDoHEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncSetIsDoHEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>* AsyncIsDoHEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>* PrepareAsyncIsDoHEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncSetUseSslForSmtpRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncSetUseSslForSmtpRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>* AsyncUseSslForSmtpRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>* PrepareAsyncUseSslForSmtpRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>* AsyncHostnameRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>* PrepareAsyncHostnameRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncSetImapPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncSetImapPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Int32Value>* AsyncImapPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Int32Value>* PrepareAsyncImapPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncSetSmtpPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncSetSmtpPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Int32Value>* AsyncSmtpPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Int32Value>* PrepareAsyncSmtpPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncChangePortsRaw(::grpc::ClientContext* context, const ::bridgerpc::ChangePortsRequest& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncChangePortsRaw(::grpc::ClientContext* context, const ::bridgerpc::ChangePortsRequest& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>* AsyncIsPortFreeRaw(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>* PrepareAsyncIsPortFreeRaw(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::bridgerpc::AvailableKeychainsResponse>* AsyncAvailableKeychainsRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::bridgerpc::AvailableKeychainsResponse>* PrepareAsyncAvailableKeychainsRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncSetCurrentKeychainRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncSetCurrentKeychainRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>* AsyncCurrentKeychainRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::StringValue>* PrepareAsyncCurrentKeychainRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::bridgerpc::UserListResponse>* AsyncGetUserListRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::bridgerpc::UserListResponse>* PrepareAsyncGetUserListRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::bridgerpc::User>* AsyncGetUserRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::bridgerpc::User>* PrepareAsyncGetUserRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncSetUserSplitModeRaw(::grpc::ClientContext* context, const ::bridgerpc::UserSplitModeRequest& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncSetUserSplitModeRaw(::grpc::ClientContext* context, const ::bridgerpc::UserSplitModeRequest& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncLogoutUserRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncLogoutUserRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncRemoveUserRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncRemoveUserRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncConfigureUserAppleMailRaw(::grpc::ClientContext* context, const ::bridgerpc::ConfigureAppleMailRequest& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncConfigureUserAppleMailRaw(::grpc::ClientContext* context, const ::bridgerpc::ConfigureAppleMailRequest& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientReaderInterface< ::bridgerpc::StreamEvent>* GetEventsRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request) = 0;
+ virtual ::grpc::ClientAsyncReaderInterface< ::bridgerpc::StreamEvent>* AsyncGetEventsRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq, void* tag) = 0;
+ virtual ::grpc::ClientAsyncReaderInterface< ::bridgerpc::StreamEvent>* PrepareAsyncGetEventsRaw(::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 GetCursorPos(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::bridgerpc::PointResponse* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::bridgerpc::PointResponse>> AsyncGetCursorPos(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::bridgerpc::PointResponse>>(AsyncGetCursorPosRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::bridgerpc::PointResponse>> PrepareAsyncGetCursorPos(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::bridgerpc::PointResponse>>(PrepareAsyncGetCursorPosRaw(context, request, cq));
+ }
+ ::grpc::Status GuiReady(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncGuiReady(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncGuiReadyRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncGuiReady(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncGuiReadyRaw(context, request, cq));
+ }
+ ::grpc::Status Quit(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncQuit(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncQuitRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncQuit(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncQuitRaw(context, request, cq));
+ }
+ ::grpc::Status Restart(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncRestart(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncRestartRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncRestart(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncRestartRaw(context, request, cq));
+ }
+ ::grpc::Status SetShowOnStartup(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncSetShowOnStartup(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncSetShowOnStartupRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncSetShowOnStartup(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncSetShowOnStartupRaw(context, request, cq));
+ }
+ ::grpc::Status ShowOnStartup(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>> AsyncShowOnStartup(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>>(AsyncShowOnStartupRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>> PrepareAsyncShowOnStartup(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>>(PrepareAsyncShowOnStartupRaw(context, request, cq));
+ }
+ ::grpc::Status SetShowSplashScreen(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncSetShowSplashScreen(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncSetShowSplashScreenRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncSetShowSplashScreen(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncSetShowSplashScreenRaw(context, request, cq));
+ }
+ ::grpc::Status ShowSplashScreen(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>> AsyncShowSplashScreen(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>>(AsyncShowSplashScreenRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>> PrepareAsyncShowSplashScreen(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>>(PrepareAsyncShowSplashScreenRaw(context, request, cq));
+ }
+ ::grpc::Status SetDockIconVisible(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncSetDockIconVisible(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncSetDockIconVisibleRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncSetDockIconVisible(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncSetDockIconVisibleRaw(context, request, cq));
+ }
+ ::grpc::Status DockIconVisible(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>> AsyncDockIconVisible(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>>(AsyncDockIconVisibleRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>> PrepareAsyncDockIconVisible(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>>(PrepareAsyncDockIconVisibleRaw(context, request, cq));
+ }
+ ::grpc::Status SetIsFirstGuiStart(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncSetIsFirstGuiStart(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncSetIsFirstGuiStartRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncSetIsFirstGuiStart(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncSetIsFirstGuiStartRaw(context, request, cq));
+ }
+ ::grpc::Status IsFirstGuiStart(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>> AsyncIsFirstGuiStart(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>>(AsyncIsFirstGuiStartRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>> PrepareAsyncIsFirstGuiStart(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>>(PrepareAsyncIsFirstGuiStartRaw(context, request, cq));
+ }
+ ::grpc::Status SetIsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncSetIsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncSetIsAutostartOnRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncSetIsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncSetIsAutostartOnRaw(context, request, cq));
+ }
+ ::grpc::Status IsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>> AsyncIsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>>(AsyncIsAutostartOnRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>> PrepareAsyncIsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>>(PrepareAsyncIsAutostartOnRaw(context, request, cq));
+ }
+ ::grpc::Status SetIsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncSetIsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncSetIsBetaEnabledRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncSetIsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncSetIsBetaEnabledRaw(context, request, cq));
+ }
+ ::grpc::Status IsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>> AsyncIsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>>(AsyncIsBetaEnabledRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>> PrepareAsyncIsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>>(PrepareAsyncIsBetaEnabledRaw(context, request, cq));
+ }
+ ::grpc::Status GoOs(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>> AsyncGoOs(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>>(AsyncGoOsRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>> PrepareAsyncGoOs(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>>(PrepareAsyncGoOsRaw(context, request, cq));
+ }
+ ::grpc::Status TriggerReset(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncTriggerReset(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncTriggerResetRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncTriggerReset(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncTriggerResetRaw(context, request, cq));
+ }
+ ::grpc::Status Version(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>> AsyncVersion(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>>(AsyncVersionRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>> PrepareAsyncVersion(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>>(PrepareAsyncVersionRaw(context, request, cq));
+ }
+ ::grpc::Status LogPath(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>> AsyncLogPath(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>>(AsyncLogPathRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>> PrepareAsyncLogPath(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>>(PrepareAsyncLogPathRaw(context, request, cq));
+ }
+ ::grpc::Status LicensePath(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>> AsyncLicensePath(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>>(AsyncLicensePathRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>> PrepareAsyncLicensePath(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>>(PrepareAsyncLicensePathRaw(context, request, cq));
+ }
+ ::grpc::Status ReleaseNotesLink(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>> AsyncReleaseNotesLink(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>>(AsyncReleaseNotesLinkRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>> PrepareAsyncReleaseNotesLink(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>>(PrepareAsyncReleaseNotesLinkRaw(context, request, cq));
+ }
+ ::grpc::Status LandingPageLink(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>> AsyncLandingPageLink(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>>(AsyncLandingPageLinkRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>> PrepareAsyncLandingPageLink(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>>(PrepareAsyncLandingPageLinkRaw(context, request, cq));
+ }
+ ::grpc::Status SetColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncSetColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncSetColorSchemeNameRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncSetColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncSetColorSchemeNameRaw(context, request, cq));
+ }
+ ::grpc::Status ColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>> AsyncColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>>(AsyncColorSchemeNameRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>> PrepareAsyncColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>>(PrepareAsyncColorSchemeNameRaw(context, request, cq));
+ }
+ ::grpc::Status SetCurrentEmailClient(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncSetCurrentEmailClient(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncSetCurrentEmailClientRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncSetCurrentEmailClient(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncSetCurrentEmailClientRaw(context, request, cq));
+ }
+ ::grpc::Status CurrentEmailClient(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>> AsyncCurrentEmailClient(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>>(AsyncCurrentEmailClientRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>> PrepareAsyncCurrentEmailClient(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>>(PrepareAsyncCurrentEmailClientRaw(context, request, cq));
+ }
+ ::grpc::Status ReportBug(::grpc::ClientContext* context, const ::bridgerpc::ReportBugRequest& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncReportBug(::grpc::ClientContext* context, const ::bridgerpc::ReportBugRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncReportBugRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncReportBug(::grpc::ClientContext* context, const ::bridgerpc::ReportBugRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncReportBugRaw(context, request, cq));
+ }
+ ::grpc::Status Login(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncLogin(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncLoginRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncLogin(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncLoginRaw(context, request, cq));
+ }
+ ::grpc::Status Login2FA(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncLogin2FA(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncLogin2FARaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncLogin2FA(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncLogin2FARaw(context, request, cq));
+ }
+ ::grpc::Status Login2Passwords(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncLogin2Passwords(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncLogin2PasswordsRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncLogin2Passwords(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncLogin2PasswordsRaw(context, request, cq));
+ }
+ ::grpc::Status LoginAbort(::grpc::ClientContext* context, const ::bridgerpc::LoginAbortRequest& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncLoginAbort(::grpc::ClientContext* context, const ::bridgerpc::LoginAbortRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncLoginAbortRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncLoginAbort(::grpc::ClientContext* context, const ::bridgerpc::LoginAbortRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncLoginAbortRaw(context, request, cq));
+ }
+ ::grpc::Status CheckUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncCheckUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncCheckUpdateRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncCheckUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncCheckUpdateRaw(context, request, cq));
+ }
+ ::grpc::Status InstallUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncInstallUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncInstallUpdateRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncInstallUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncInstallUpdateRaw(context, request, cq));
+ }
+ ::grpc::Status SetIsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncSetIsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncSetIsAutomaticUpdateOnRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncSetIsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncSetIsAutomaticUpdateOnRaw(context, request, cq));
+ }
+ ::grpc::Status IsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>> AsyncIsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>>(AsyncIsAutomaticUpdateOnRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>> PrepareAsyncIsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>>(PrepareAsyncIsAutomaticUpdateOnRaw(context, request, cq));
+ }
+ ::grpc::Status SetIsCacheOnDiskEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncSetIsCacheOnDiskEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncSetIsCacheOnDiskEnabledRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncSetIsCacheOnDiskEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncSetIsCacheOnDiskEnabledRaw(context, request, cq));
+ }
+ ::grpc::Status IsCacheOnDiskEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>> AsyncIsCacheOnDiskEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>>(AsyncIsCacheOnDiskEnabledRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>> PrepareAsyncIsCacheOnDiskEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>>(PrepareAsyncIsCacheOnDiskEnabledRaw(context, request, cq));
+ }
+ ::grpc::Status SetDiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncSetDiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncSetDiskCachePathRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncSetDiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncSetDiskCachePathRaw(context, request, cq));
+ }
+ ::grpc::Status DiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>> AsyncDiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>>(AsyncDiskCachePathRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>> PrepareAsyncDiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>>(PrepareAsyncDiskCachePathRaw(context, request, cq));
+ }
+ ::grpc::Status ChangeLocalCache(::grpc::ClientContext* context, const ::bridgerpc::ChangeLocalCacheRequest& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncChangeLocalCache(::grpc::ClientContext* context, const ::bridgerpc::ChangeLocalCacheRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncChangeLocalCacheRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncChangeLocalCache(::grpc::ClientContext* context, const ::bridgerpc::ChangeLocalCacheRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncChangeLocalCacheRaw(context, request, cq));
+ }
+ ::grpc::Status SetIsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncSetIsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncSetIsDoHEnabledRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncSetIsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncSetIsDoHEnabledRaw(context, request, cq));
+ }
+ ::grpc::Status IsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>> AsyncIsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>>(AsyncIsDoHEnabledRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>> PrepareAsyncIsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>>(PrepareAsyncIsDoHEnabledRaw(context, request, cq));
+ }
+ ::grpc::Status SetUseSslForSmtp(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncSetUseSslForSmtp(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncSetUseSslForSmtpRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncSetUseSslForSmtp(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncSetUseSslForSmtpRaw(context, request, cq));
+ }
+ ::grpc::Status UseSslForSmtp(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>> AsyncUseSslForSmtp(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>>(AsyncUseSslForSmtpRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>> PrepareAsyncUseSslForSmtp(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>>(PrepareAsyncUseSslForSmtpRaw(context, request, cq));
+ }
+ ::grpc::Status Hostname(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>> AsyncHostname(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>>(AsyncHostnameRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>> PrepareAsyncHostname(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>>(PrepareAsyncHostnameRaw(context, request, cq));
+ }
+ ::grpc::Status SetImapPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncSetImapPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncSetImapPortRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncSetImapPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncSetImapPortRaw(context, request, cq));
+ }
+ ::grpc::Status ImapPort(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Int32Value* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Int32Value>> AsyncImapPort(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Int32Value>>(AsyncImapPortRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Int32Value>> PrepareAsyncImapPort(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Int32Value>>(PrepareAsyncImapPortRaw(context, request, cq));
+ }
+ ::grpc::Status SetSmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncSetSmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncSetSmtpPortRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncSetSmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncSetSmtpPortRaw(context, request, cq));
+ }
+ ::grpc::Status SmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Int32Value* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Int32Value>> AsyncSmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Int32Value>>(AsyncSmtpPortRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Int32Value>> PrepareAsyncSmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Int32Value>>(PrepareAsyncSmtpPortRaw(context, request, cq));
+ }
+ ::grpc::Status ChangePorts(::grpc::ClientContext* context, const ::bridgerpc::ChangePortsRequest& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncChangePorts(::grpc::ClientContext* context, const ::bridgerpc::ChangePortsRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncChangePortsRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncChangePorts(::grpc::ClientContext* context, const ::bridgerpc::ChangePortsRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncChangePortsRaw(context, request, cq));
+ }
+ ::grpc::Status IsPortFree(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::google::protobuf::BoolValue* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>> AsyncIsPortFree(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>>(AsyncIsPortFreeRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>> PrepareAsyncIsPortFree(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>>(PrepareAsyncIsPortFreeRaw(context, request, cq));
+ }
+ ::grpc::Status AvailableKeychains(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::bridgerpc::AvailableKeychainsResponse* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::bridgerpc::AvailableKeychainsResponse>> AsyncAvailableKeychains(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::bridgerpc::AvailableKeychainsResponse>>(AsyncAvailableKeychainsRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::bridgerpc::AvailableKeychainsResponse>> PrepareAsyncAvailableKeychains(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::bridgerpc::AvailableKeychainsResponse>>(PrepareAsyncAvailableKeychainsRaw(context, request, cq));
+ }
+ ::grpc::Status SetCurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncSetCurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncSetCurrentKeychainRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncSetCurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncSetCurrentKeychainRaw(context, request, cq));
+ }
+ ::grpc::Status CurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>> AsyncCurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>>(AsyncCurrentKeychainRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>> PrepareAsyncCurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>>(PrepareAsyncCurrentKeychainRaw(context, request, cq));
+ }
+ ::grpc::Status GetUserList(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::bridgerpc::UserListResponse* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::bridgerpc::UserListResponse>> AsyncGetUserList(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::bridgerpc::UserListResponse>>(AsyncGetUserListRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::bridgerpc::UserListResponse>> PrepareAsyncGetUserList(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::bridgerpc::UserListResponse>>(PrepareAsyncGetUserListRaw(context, request, cq));
+ }
+ ::grpc::Status GetUser(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::bridgerpc::User* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::bridgerpc::User>> AsyncGetUser(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::bridgerpc::User>>(AsyncGetUserRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::bridgerpc::User>> PrepareAsyncGetUser(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::bridgerpc::User>>(PrepareAsyncGetUserRaw(context, request, cq));
+ }
+ ::grpc::Status SetUserSplitMode(::grpc::ClientContext* context, const ::bridgerpc::UserSplitModeRequest& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncSetUserSplitMode(::grpc::ClientContext* context, const ::bridgerpc::UserSplitModeRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncSetUserSplitModeRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncSetUserSplitMode(::grpc::ClientContext* context, const ::bridgerpc::UserSplitModeRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncSetUserSplitModeRaw(context, request, cq));
+ }
+ ::grpc::Status LogoutUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncLogoutUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncLogoutUserRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncLogoutUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncLogoutUserRaw(context, request, cq));
+ }
+ ::grpc::Status RemoveUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncRemoveUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncRemoveUserRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncRemoveUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncRemoveUserRaw(context, request, cq));
+ }
+ ::grpc::Status ConfigureUserAppleMail(::grpc::ClientContext* context, const ::bridgerpc::ConfigureAppleMailRequest& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncConfigureUserAppleMail(::grpc::ClientContext* context, const ::bridgerpc::ConfigureAppleMailRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncConfigureUserAppleMailRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncConfigureUserAppleMail(::grpc::ClientContext* context, const ::bridgerpc::ConfigureAppleMailRequest& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncConfigureUserAppleMailRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientReader< ::bridgerpc::StreamEvent>> GetEvents(::grpc::ClientContext* context, const ::google::protobuf::Empty& request) {
+ return std::unique_ptr< ::grpc::ClientReader< ::bridgerpc::StreamEvent>>(GetEventsRaw(context, request));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncReader< ::bridgerpc::StreamEvent>> AsyncGetEvents(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq, void* tag) {
+ return std::unique_ptr< ::grpc::ClientAsyncReader< ::bridgerpc::StreamEvent>>(AsyncGetEventsRaw(context, request, cq, tag));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncReader< ::bridgerpc::StreamEvent>> PrepareAsyncGetEvents(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncReader< ::bridgerpc::StreamEvent>>(PrepareAsyncGetEventsRaw(context, request, cq));
+ }
+ class async final :
+ public StubInterface::async_interface {
+ public:
+ void GetCursorPos(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::PointResponse* response, std::function) override;
+ void GetCursorPos(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::PointResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void GuiReady(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function) override;
+ void GuiReady(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void Quit(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function) override;
+ void Quit(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void Restart(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function) override;
+ void Restart(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void SetShowOnStartup(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function) override;
+ void SetShowOnStartup(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void ShowOnStartup(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function) override;
+ void ShowOnStartup(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void SetShowSplashScreen(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function) override;
+ void SetShowSplashScreen(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void ShowSplashScreen(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function) override;
+ void ShowSplashScreen(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void SetDockIconVisible(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function) override;
+ void SetDockIconVisible(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void DockIconVisible(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function) override;
+ void DockIconVisible(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void SetIsFirstGuiStart(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function) override;
+ void SetIsFirstGuiStart(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void IsFirstGuiStart(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function) override;
+ void IsFirstGuiStart(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void SetIsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function) override;
+ void SetIsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void IsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function) override;
+ void IsAutostartOn(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void SetIsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function) override;
+ void SetIsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void IsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function) override;
+ void IsBetaEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void GoOs(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) override;
+ void GoOs(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void TriggerReset(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function) override;
+ void TriggerReset(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void Version(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) override;
+ void Version(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void LogPath(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) override;
+ void LogPath(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void LicensePath(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) override;
+ void LicensePath(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void ReleaseNotesLink(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) override;
+ void ReleaseNotesLink(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void LandingPageLink(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) override;
+ void LandingPageLink(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void SetColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function) override;
+ void SetColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void ColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) override;
+ void ColorSchemeName(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void SetCurrentEmailClient(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function) override;
+ void SetCurrentEmailClient(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void CurrentEmailClient(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) override;
+ void CurrentEmailClient(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void ReportBug(::grpc::ClientContext* context, const ::bridgerpc::ReportBugRequest* request, ::google::protobuf::Empty* response, std::function) override;
+ void ReportBug(::grpc::ClientContext* context, const ::bridgerpc::ReportBugRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void Login(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest* request, ::google::protobuf::Empty* response, std::function) override;
+ void Login(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void Login2FA(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest* request, ::google::protobuf::Empty* response, std::function) override;
+ void Login2FA(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void Login2Passwords(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest* request, ::google::protobuf::Empty* response, std::function) override;
+ void Login2Passwords(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void LoginAbort(::grpc::ClientContext* context, const ::bridgerpc::LoginAbortRequest* request, ::google::protobuf::Empty* response, std::function) override;
+ void LoginAbort(::grpc::ClientContext* context, const ::bridgerpc::LoginAbortRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void CheckUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function) override;
+ void CheckUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void InstallUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function) override;
+ void InstallUpdate(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void SetIsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function) override;
+ void SetIsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void IsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function) override;
+ void IsAutomaticUpdateOn(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void SetIsCacheOnDiskEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function) override;
+ void SetIsCacheOnDiskEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void IsCacheOnDiskEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function) override;
+ void IsCacheOnDiskEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void SetDiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function) override;
+ void SetDiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void DiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) override;
+ void DiskCachePath(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void ChangeLocalCache(::grpc::ClientContext* context, const ::bridgerpc::ChangeLocalCacheRequest* request, ::google::protobuf::Empty* response, std::function) override;
+ void ChangeLocalCache(::grpc::ClientContext* context, const ::bridgerpc::ChangeLocalCacheRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void SetIsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function) override;
+ void SetIsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void IsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function) override;
+ void IsDoHEnabled(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void SetUseSslForSmtp(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function) override;
+ void SetUseSslForSmtp(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void UseSslForSmtp(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function) override;
+ void UseSslForSmtp(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void Hostname(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) override;
+ void Hostname(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void SetImapPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::Empty* response, std::function) override;
+ void SetImapPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void ImapPort(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Int32Value* response, std::function) override;
+ void ImapPort(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Int32Value* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void SetSmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::Empty* response, std::function) override;
+ void SetSmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void SmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Int32Value* response, std::function) override;
+ void SmtpPort(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Int32Value* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void ChangePorts(::grpc::ClientContext* context, const ::bridgerpc::ChangePortsRequest* request, ::google::protobuf::Empty* response, std::function) override;
+ void ChangePorts(::grpc::ClientContext* context, const ::bridgerpc::ChangePortsRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void IsPortFree(::grpc::ClientContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::BoolValue* response, std::function) override;
+ void IsPortFree(::grpc::ClientContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::BoolValue* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void AvailableKeychains(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::AvailableKeychainsResponse* response, std::function) override;
+ void AvailableKeychains(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::AvailableKeychainsResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void SetCurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function) override;
+ void SetCurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void CurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, std::function) override;
+ void CurrentKeychain(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void GetUserList(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::UserListResponse* response, std::function) override;
+ void GetUserList(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::UserListResponse* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void GetUser(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::User* response, std::function) override;
+ void GetUser(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::User* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void SetUserSplitMode(::grpc::ClientContext* context, const ::bridgerpc::UserSplitModeRequest* request, ::google::protobuf::Empty* response, std::function) override;
+ void SetUserSplitMode(::grpc::ClientContext* context, const ::bridgerpc::UserSplitModeRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void LogoutUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function) override;
+ void LogoutUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void RemoveUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function) override;
+ void RemoveUser(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void ConfigureUserAppleMail(::grpc::ClientContext* context, const ::bridgerpc::ConfigureAppleMailRequest* request, ::google::protobuf::Empty* response, std::function) override;
+ void ConfigureUserAppleMail(::grpc::ClientContext* context, const ::bridgerpc::ConfigureAppleMailRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void GetEvents(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::grpc::ClientReadReactor< ::bridgerpc::StreamEvent>* 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< ::bridgerpc::PointResponse>* AsyncGetCursorPosRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::bridgerpc::PointResponse>* PrepareAsyncGetCursorPosRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncGuiReadyRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncGuiReadyRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncQuitRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncQuitRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncRestartRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncRestartRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncSetShowOnStartupRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncSetShowOnStartupRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* AsyncShowOnStartupRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* PrepareAsyncShowOnStartupRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncSetShowSplashScreenRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncSetShowSplashScreenRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* AsyncShowSplashScreenRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* PrepareAsyncShowSplashScreenRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncSetDockIconVisibleRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncSetDockIconVisibleRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* AsyncDockIconVisibleRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* PrepareAsyncDockIconVisibleRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncSetIsFirstGuiStartRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncSetIsFirstGuiStartRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* AsyncIsFirstGuiStartRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* PrepareAsyncIsFirstGuiStartRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncSetIsAutostartOnRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncSetIsAutostartOnRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* AsyncIsAutostartOnRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* PrepareAsyncIsAutostartOnRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncSetIsBetaEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncSetIsBetaEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* AsyncIsBetaEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* PrepareAsyncIsBetaEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* AsyncGoOsRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* PrepareAsyncGoOsRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncTriggerResetRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncTriggerResetRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* AsyncVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* PrepareAsyncVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* AsyncLogPathRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* PrepareAsyncLogPathRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* AsyncLicensePathRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* PrepareAsyncLicensePathRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* AsyncReleaseNotesLinkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* PrepareAsyncReleaseNotesLinkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* AsyncLandingPageLinkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* PrepareAsyncLandingPageLinkRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncSetColorSchemeNameRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncSetColorSchemeNameRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* AsyncColorSchemeNameRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* PrepareAsyncColorSchemeNameRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncSetCurrentEmailClientRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncSetCurrentEmailClientRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* AsyncCurrentEmailClientRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* PrepareAsyncCurrentEmailClientRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncReportBugRaw(::grpc::ClientContext* context, const ::bridgerpc::ReportBugRequest& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncReportBugRaw(::grpc::ClientContext* context, const ::bridgerpc::ReportBugRequest& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncLoginRaw(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncLoginRaw(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncLogin2FARaw(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncLogin2FARaw(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncLogin2PasswordsRaw(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncLogin2PasswordsRaw(::grpc::ClientContext* context, const ::bridgerpc::LoginRequest& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncLoginAbortRaw(::grpc::ClientContext* context, const ::bridgerpc::LoginAbortRequest& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncLoginAbortRaw(::grpc::ClientContext* context, const ::bridgerpc::LoginAbortRequest& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncCheckUpdateRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncCheckUpdateRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncInstallUpdateRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncInstallUpdateRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncSetIsAutomaticUpdateOnRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncSetIsAutomaticUpdateOnRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* AsyncIsAutomaticUpdateOnRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* PrepareAsyncIsAutomaticUpdateOnRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncSetIsCacheOnDiskEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncSetIsCacheOnDiskEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* AsyncIsCacheOnDiskEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* PrepareAsyncIsCacheOnDiskEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncSetDiskCachePathRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncSetDiskCachePathRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* AsyncDiskCachePathRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* PrepareAsyncDiskCachePathRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncChangeLocalCacheRaw(::grpc::ClientContext* context, const ::bridgerpc::ChangeLocalCacheRequest& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncChangeLocalCacheRaw(::grpc::ClientContext* context, const ::bridgerpc::ChangeLocalCacheRequest& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncSetIsDoHEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncSetIsDoHEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* AsyncIsDoHEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* PrepareAsyncIsDoHEnabledRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncSetUseSslForSmtpRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncSetUseSslForSmtpRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* AsyncUseSslForSmtpRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* PrepareAsyncUseSslForSmtpRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* AsyncHostnameRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* PrepareAsyncHostnameRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncSetImapPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncSetImapPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Int32Value>* AsyncImapPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Int32Value>* PrepareAsyncImapPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncSetSmtpPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncSetSmtpPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Int32Value>* AsyncSmtpPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Int32Value>* PrepareAsyncSmtpPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncChangePortsRaw(::grpc::ClientContext* context, const ::bridgerpc::ChangePortsRequest& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncChangePortsRaw(::grpc::ClientContext* context, const ::bridgerpc::ChangePortsRequest& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* AsyncIsPortFreeRaw(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* PrepareAsyncIsPortFreeRaw(::grpc::ClientContext* context, const ::google::protobuf::Int32Value& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::bridgerpc::AvailableKeychainsResponse>* AsyncAvailableKeychainsRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::bridgerpc::AvailableKeychainsResponse>* PrepareAsyncAvailableKeychainsRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncSetCurrentKeychainRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncSetCurrentKeychainRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* AsyncCurrentKeychainRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::StringValue>* PrepareAsyncCurrentKeychainRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::bridgerpc::UserListResponse>* AsyncGetUserListRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::bridgerpc::UserListResponse>* PrepareAsyncGetUserListRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::bridgerpc::User>* AsyncGetUserRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::bridgerpc::User>* PrepareAsyncGetUserRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncSetUserSplitModeRaw(::grpc::ClientContext* context, const ::bridgerpc::UserSplitModeRequest& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncSetUserSplitModeRaw(::grpc::ClientContext* context, const ::bridgerpc::UserSplitModeRequest& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncLogoutUserRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncLogoutUserRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncRemoveUserRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncRemoveUserRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncConfigureUserAppleMailRaw(::grpc::ClientContext* context, const ::bridgerpc::ConfigureAppleMailRequest& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncConfigureUserAppleMailRaw(::grpc::ClientContext* context, const ::bridgerpc::ConfigureAppleMailRequest& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientReader< ::bridgerpc::StreamEvent>* GetEventsRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request) override;
+ ::grpc::ClientAsyncReader< ::bridgerpc::StreamEvent>* AsyncGetEventsRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq, void* tag) override;
+ ::grpc::ClientAsyncReader< ::bridgerpc::StreamEvent>* PrepareAsyncGetEventsRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ const ::grpc::internal::RpcMethod rpcmethod_GetCursorPos_;
+ const ::grpc::internal::RpcMethod rpcmethod_GuiReady_;
+ const ::grpc::internal::RpcMethod rpcmethod_Quit_;
+ const ::grpc::internal::RpcMethod rpcmethod_Restart_;
+ const ::grpc::internal::RpcMethod rpcmethod_SetShowOnStartup_;
+ const ::grpc::internal::RpcMethod rpcmethod_ShowOnStartup_;
+ const ::grpc::internal::RpcMethod rpcmethod_SetShowSplashScreen_;
+ const ::grpc::internal::RpcMethod rpcmethod_ShowSplashScreen_;
+ const ::grpc::internal::RpcMethod rpcmethod_SetDockIconVisible_;
+ const ::grpc::internal::RpcMethod rpcmethod_DockIconVisible_;
+ const ::grpc::internal::RpcMethod rpcmethod_SetIsFirstGuiStart_;
+ const ::grpc::internal::RpcMethod rpcmethod_IsFirstGuiStart_;
+ const ::grpc::internal::RpcMethod rpcmethod_SetIsAutostartOn_;
+ const ::grpc::internal::RpcMethod rpcmethod_IsAutostartOn_;
+ const ::grpc::internal::RpcMethod rpcmethod_SetIsBetaEnabled_;
+ const ::grpc::internal::RpcMethod rpcmethod_IsBetaEnabled_;
+ const ::grpc::internal::RpcMethod rpcmethod_GoOs_;
+ const ::grpc::internal::RpcMethod rpcmethod_TriggerReset_;
+ const ::grpc::internal::RpcMethod rpcmethod_Version_;
+ const ::grpc::internal::RpcMethod rpcmethod_LogPath_;
+ const ::grpc::internal::RpcMethod rpcmethod_LicensePath_;
+ const ::grpc::internal::RpcMethod rpcmethod_ReleaseNotesLink_;
+ const ::grpc::internal::RpcMethod rpcmethod_LandingPageLink_;
+ const ::grpc::internal::RpcMethod rpcmethod_SetColorSchemeName_;
+ const ::grpc::internal::RpcMethod rpcmethod_ColorSchemeName_;
+ const ::grpc::internal::RpcMethod rpcmethod_SetCurrentEmailClient_;
+ const ::grpc::internal::RpcMethod rpcmethod_CurrentEmailClient_;
+ const ::grpc::internal::RpcMethod rpcmethod_ReportBug_;
+ const ::grpc::internal::RpcMethod rpcmethod_Login_;
+ const ::grpc::internal::RpcMethod rpcmethod_Login2FA_;
+ const ::grpc::internal::RpcMethod rpcmethod_Login2Passwords_;
+ const ::grpc::internal::RpcMethod rpcmethod_LoginAbort_;
+ const ::grpc::internal::RpcMethod rpcmethod_CheckUpdate_;
+ const ::grpc::internal::RpcMethod rpcmethod_InstallUpdate_;
+ const ::grpc::internal::RpcMethod rpcmethod_SetIsAutomaticUpdateOn_;
+ const ::grpc::internal::RpcMethod rpcmethod_IsAutomaticUpdateOn_;
+ const ::grpc::internal::RpcMethod rpcmethod_SetIsCacheOnDiskEnabled_;
+ const ::grpc::internal::RpcMethod rpcmethod_IsCacheOnDiskEnabled_;
+ const ::grpc::internal::RpcMethod rpcmethod_SetDiskCachePath_;
+ const ::grpc::internal::RpcMethod rpcmethod_DiskCachePath_;
+ const ::grpc::internal::RpcMethod rpcmethod_ChangeLocalCache_;
+ const ::grpc::internal::RpcMethod rpcmethod_SetIsDoHEnabled_;
+ const ::grpc::internal::RpcMethod rpcmethod_IsDoHEnabled_;
+ const ::grpc::internal::RpcMethod rpcmethod_SetUseSslForSmtp_;
+ const ::grpc::internal::RpcMethod rpcmethod_UseSslForSmtp_;
+ const ::grpc::internal::RpcMethod rpcmethod_Hostname_;
+ const ::grpc::internal::RpcMethod rpcmethod_SetImapPort_;
+ const ::grpc::internal::RpcMethod rpcmethod_ImapPort_;
+ const ::grpc::internal::RpcMethod rpcmethod_SetSmtpPort_;
+ const ::grpc::internal::RpcMethod rpcmethod_SmtpPort_;
+ const ::grpc::internal::RpcMethod rpcmethod_ChangePorts_;
+ const ::grpc::internal::RpcMethod rpcmethod_IsPortFree_;
+ const ::grpc::internal::RpcMethod rpcmethod_AvailableKeychains_;
+ const ::grpc::internal::RpcMethod rpcmethod_SetCurrentKeychain_;
+ const ::grpc::internal::RpcMethod rpcmethod_CurrentKeychain_;
+ const ::grpc::internal::RpcMethod rpcmethod_GetUserList_;
+ const ::grpc::internal::RpcMethod rpcmethod_GetUser_;
+ const ::grpc::internal::RpcMethod rpcmethod_SetUserSplitMode_;
+ const ::grpc::internal::RpcMethod rpcmethod_LogoutUser_;
+ const ::grpc::internal::RpcMethod rpcmethod_RemoveUser_;
+ const ::grpc::internal::RpcMethod rpcmethod_ConfigureUserAppleMail_;
+ const ::grpc::internal::RpcMethod rpcmethod_GetEvents_;
+ };
+ 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();
+ // App related calls
+ virtual ::grpc::Status GetCursorPos(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::PointResponse* response);
+ // May be unnecessary
+ virtual ::grpc::Status GuiReady(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status Quit(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status Restart(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status SetShowOnStartup(::grpc::ServerContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status ShowOnStartup(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response);
+ virtual ::grpc::Status SetShowSplashScreen(::grpc::ServerContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status ShowSplashScreen(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response);
+ virtual ::grpc::Status SetDockIconVisible(::grpc::ServerContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status DockIconVisible(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response);
+ virtual ::grpc::Status SetIsFirstGuiStart(::grpc::ServerContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status IsFirstGuiStart(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response);
+ virtual ::grpc::Status SetIsAutostartOn(::grpc::ServerContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status IsAutostartOn(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response);
+ virtual ::grpc::Status SetIsBetaEnabled(::grpc::ServerContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status IsBetaEnabled(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response);
+ virtual ::grpc::Status GoOs(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response);
+ virtual ::grpc::Status TriggerReset(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status Version(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response);
+ virtual ::grpc::Status LogPath(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response);
+ virtual ::grpc::Status LicensePath(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response);
+ virtual ::grpc::Status ReleaseNotesLink(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response);
+ virtual ::grpc::Status LandingPageLink(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response);
+ virtual ::grpc::Status SetColorSchemeName(::grpc::ServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status ColorSchemeName(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response);
+ virtual ::grpc::Status SetCurrentEmailClient(::grpc::ServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status CurrentEmailClient(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response);
+ virtual ::grpc::Status ReportBug(::grpc::ServerContext* context, const ::bridgerpc::ReportBugRequest* request, ::google::protobuf::Empty* response);
+ // login
+ virtual ::grpc::Status Login(::grpc::ServerContext* context, const ::bridgerpc::LoginRequest* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status Login2FA(::grpc::ServerContext* context, const ::bridgerpc::LoginRequest* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status Login2Passwords(::grpc::ServerContext* context, const ::bridgerpc::LoginRequest* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status LoginAbort(::grpc::ServerContext* context, const ::bridgerpc::LoginAbortRequest* request, ::google::protobuf::Empty* response);
+ // update
+ virtual ::grpc::Status CheckUpdate(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status InstallUpdate(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status SetIsAutomaticUpdateOn(::grpc::ServerContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status IsAutomaticUpdateOn(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response);
+ // cache
+ virtual ::grpc::Status SetIsCacheOnDiskEnabled(::grpc::ServerContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status IsCacheOnDiskEnabled(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response);
+ virtual ::grpc::Status SetDiskCachePath(::grpc::ServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status DiskCachePath(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response);
+ virtual ::grpc::Status ChangeLocalCache(::grpc::ServerContext* context, const ::bridgerpc::ChangeLocalCacheRequest* request, ::google::protobuf::Empty* response);
+ // mail
+ virtual ::grpc::Status SetIsDoHEnabled(::grpc::ServerContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status IsDoHEnabled(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response);
+ virtual ::grpc::Status SetUseSslForSmtp(::grpc::ServerContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status UseSslForSmtp(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response);
+ virtual ::grpc::Status Hostname(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response);
+ virtual ::grpc::Status SetImapPort(::grpc::ServerContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status ImapPort(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Int32Value* response);
+ virtual ::grpc::Status SetSmtpPort(::grpc::ServerContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status SmtpPort(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Int32Value* response);
+ virtual ::grpc::Status ChangePorts(::grpc::ServerContext* context, const ::bridgerpc::ChangePortsRequest* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status IsPortFree(::grpc::ServerContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::BoolValue* response);
+ // keychain
+ virtual ::grpc::Status AvailableKeychains(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::AvailableKeychainsResponse* response);
+ virtual ::grpc::Status SetCurrentKeychain(::grpc::ServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status CurrentKeychain(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response);
+ // User & user list
+ virtual ::grpc::Status GetUserList(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::UserListResponse* response);
+ virtual ::grpc::Status GetUser(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::bridgerpc::User* response);
+ virtual ::grpc::Status SetUserSplitMode(::grpc::ServerContext* context, const ::bridgerpc::UserSplitModeRequest* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status LogoutUser(::grpc::ServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status RemoveUser(::grpc::ServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status ConfigureUserAppleMail(::grpc::ServerContext* context, const ::bridgerpc::ConfigureAppleMailRequest* request, ::google::protobuf::Empty* response);
+ // Server -> Client event stream
+ virtual ::grpc::Status GetEvents(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::grpc::ServerWriter< ::bridgerpc::StreamEvent>* writer);
+ };
+ template
+ class WithAsyncMethod_GetCursorPos : public BaseClass {
+ private:
+ void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
+ public:
+ WithAsyncMethod_GetCursorPos() {
+ ::grpc::Service::MarkMethodAsync(0);
+ }
+ ~WithAsyncMethod_GetCursorPos() override {
+ BaseClassMustBeDerivedFromService(this);
+ }
+ // disable synchronous version of this method
+ ::grpc::Status GetCursorPos(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::bridgerpc::PointResponse* /*response*/) override {
+ abort();
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+ }
+ void RequestGetCursorPos(::grpc::ServerContext* context, ::google::protobuf::Empty* request, ::grpc::ServerAsyncResponseWriter< ::bridgerpc::PointResponse>* 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_GuiReady : public BaseClass {
+ private:
+ void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
+ public:
+ WithAsyncMethod_GuiReady() {
+ ::grpc::Service::MarkMethodAsync(1);
+ }
+ ~WithAsyncMethod_GuiReady() override {
+ BaseClassMustBeDerivedFromService(this);
+ }
+ // disable synchronous version of this method
+ ::grpc::Status GuiReady(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::google::protobuf::Empty* /*response*/) override {
+ abort();
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+ }
+ void RequestGuiReady(::grpc::ServerContext* context, ::google::protobuf::Empty* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::Empty>* 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 WithAsyncMethod_Quit : public BaseClass {
+ private:
+ void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
+ public:
+ WithAsyncMethod_Quit() {
+ ::grpc::Service::MarkMethodAsync(2);
+ }
+ ~WithAsyncMethod_Quit() override {
+ BaseClassMustBeDerivedFromService(this);
+ }
+ // disable synchronous version of this method
+ ::grpc::Status Quit(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::google::protobuf::Empty* /*response*/) override {
+ abort();
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+ }
+ void RequestQuit(::grpc::ServerContext* context, ::google::protobuf::Empty* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::Empty>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+ ::grpc::Service::RequestAsyncUnary(2, context, request, response, new_call_cq, notification_cq, tag);
+ }
+ };
+ template
+ class WithAsyncMethod_Restart : public BaseClass {
+ private:
+ void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
+ public:
+ WithAsyncMethod_Restart() {
+ ::grpc::Service::MarkMethodAsync(3);
+ }
+ ~WithAsyncMethod_Restart() override {
+ BaseClassMustBeDerivedFromService(this);
+ }
+ // disable synchronous version of this method
+ ::grpc::Status Restart(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::google::protobuf::Empty* /*response*/) override {
+ abort();
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+ }
+ void RequestRestart(::grpc::ServerContext* context, ::google::protobuf::Empty* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::Empty>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+ ::grpc::Service::RequestAsyncUnary(3, context, request, response, new_call_cq, notification_cq, tag);
+ }
+ };
+ template
+ class WithAsyncMethod_SetShowOnStartup : public BaseClass {
+ private:
+ void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
+ public:
+ WithAsyncMethod_SetShowOnStartup() {
+ ::grpc::Service::MarkMethodAsync(4);
+ }
+ ~WithAsyncMethod_SetShowOnStartup() override {
+ BaseClassMustBeDerivedFromService(this);
+ }
+ // disable synchronous version of this method
+ ::grpc::Status SetShowOnStartup(::grpc::ServerContext* /*context*/, const ::google::protobuf::BoolValue* /*request*/, ::google::protobuf::Empty* /*response*/) override {
+ abort();
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+ }
+ void RequestSetShowOnStartup(::grpc::ServerContext* context, ::google::protobuf::BoolValue* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::Empty>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+ ::grpc::Service::RequestAsyncUnary(4, context, request, response, new_call_cq, notification_cq, tag);
+ }
+ };
+ template
+ class WithAsyncMethod_ShowOnStartup : public BaseClass {
+ private:
+ void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
+ public:
+ WithAsyncMethod_ShowOnStartup() {
+ ::grpc::Service::MarkMethodAsync(5);
+ }
+ ~WithAsyncMethod_ShowOnStartup() override {
+ BaseClassMustBeDerivedFromService(this);
+ }
+ // disable synchronous version of this method
+ ::grpc::Status ShowOnStartup(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::google::protobuf::BoolValue* /*response*/) override {
+ abort();
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+ }
+ void RequestShowOnStartup(::grpc::ServerContext* context, ::google::protobuf::Empty* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::BoolValue>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+ ::grpc::Service::RequestAsyncUnary(5, context, request, response, new_call_cq, notification_cq, tag);
+ }
+ };
+ template
+ class WithAsyncMethod_SetShowSplashScreen : public BaseClass {
+ private:
+ void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
+ public:
+ WithAsyncMethod_SetShowSplashScreen() {
+ ::grpc::Service::MarkMethodAsync(6);
+ }
+ ~WithAsyncMethod_SetShowSplashScreen() override {
+ BaseClassMustBeDerivedFromService(this);
+ }
+ // disable synchronous version of this method
+ ::grpc::Status SetShowSplashScreen(::grpc::ServerContext* /*context*/, const ::google::protobuf::BoolValue* /*request*/, ::google::protobuf::Empty* /*response*/) override {
+ abort();
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+ }
+ void RequestSetShowSplashScreen(::grpc::ServerContext* context, ::google::protobuf::BoolValue* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::Empty>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+ ::grpc::Service::RequestAsyncUnary(6, context, request, response, new_call_cq, notification_cq, tag);
+ }
+ };
+ template
+ class WithAsyncMethod_ShowSplashScreen : public BaseClass {
+ private:
+ void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
+ public:
+ WithAsyncMethod_ShowSplashScreen() {
+ ::grpc::Service::MarkMethodAsync(7);
+ }
+ ~WithAsyncMethod_ShowSplashScreen() override {
+ BaseClassMustBeDerivedFromService(this);
+ }
+ // disable synchronous version of this method
+ ::grpc::Status ShowSplashScreen(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::google::protobuf::BoolValue* /*response*/) override {
+ abort();
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+ }
+ void RequestShowSplashScreen(::grpc::ServerContext* context, ::google::protobuf::Empty* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::BoolValue>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+ ::grpc::Service::RequestAsyncUnary(7, context, request, response, new_call_cq, notification_cq, tag);
+ }
+ };
+ template
+ class WithAsyncMethod_SetDockIconVisible : public BaseClass {
+ private:
+ void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
+ public:
+ WithAsyncMethod_SetDockIconVisible() {
+ ::grpc::Service::MarkMethodAsync(8);
+ }
+ ~WithAsyncMethod_SetDockIconVisible() override {
+ BaseClassMustBeDerivedFromService(this);
+ }
+ // disable synchronous version of this method
+ ::grpc::Status SetDockIconVisible(::grpc::ServerContext* /*context*/, const ::google::protobuf::BoolValue* /*request*/, ::google::protobuf::Empty* /*response*/) override {
+ abort();
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+ }
+ void RequestSetDockIconVisible(::grpc::ServerContext* context, ::google::protobuf::BoolValue* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::Empty>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+ ::grpc::Service::RequestAsyncUnary(8, context, request, response, new_call_cq, notification_cq, tag);
+ }
+ };
+ template
+ class WithAsyncMethod_DockIconVisible : public BaseClass {
+ private:
+ void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
+ public:
+ WithAsyncMethod_DockIconVisible() {
+ ::grpc::Service::MarkMethodAsync(9);
+ }
+ ~WithAsyncMethod_DockIconVisible() override {
+ BaseClassMustBeDerivedFromService(this);
+ }
+ // disable synchronous version of this method
+ ::grpc::Status DockIconVisible(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::google::protobuf::BoolValue* /*response*/) override {
+ abort();
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+ }
+ void RequestDockIconVisible(::grpc::ServerContext* context, ::google::protobuf::Empty* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::BoolValue>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+ ::grpc::Service::RequestAsyncUnary(9, context, request, response, new_call_cq, notification_cq, tag);
+ }
+ };
+ template
+ class WithAsyncMethod_SetIsFirstGuiStart : public BaseClass {
+ private:
+ void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
+ public:
+ WithAsyncMethod_SetIsFirstGuiStart() {
+ ::grpc::Service::MarkMethodAsync(10);
+ }
+ ~WithAsyncMethod_SetIsFirstGuiStart() override {
+ BaseClassMustBeDerivedFromService(this);
+ }
+ // disable synchronous version of this method
+ ::grpc::Status SetIsFirstGuiStart(::grpc::ServerContext* /*context*/, const ::google::protobuf::BoolValue* /*request*/, ::google::protobuf::Empty* /*response*/) override {
+ abort();
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+ }
+ void RequestSetIsFirstGuiStart(::grpc::ServerContext* context, ::google::protobuf::BoolValue* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::Empty>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+ ::grpc::Service::RequestAsyncUnary(10, context, request, response, new_call_cq, notification_cq, tag);
+ }
+ };
+ template