diff --git a/internal/app/app.go b/internal/app/app.go
index 8f8f483a..3857936f 100644
--- a/internal/app/app.go
+++ b/internal/app/app.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package app
import (
diff --git a/internal/app/bridge.go b/internal/app/bridge.go
index 0a7ea032..979a5b06 100644
--- a/internal/app/bridge.go
+++ b/internal/app/bridge.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package app
import (
diff --git a/internal/app/frontend.go b/internal/app/frontend.go
index cc03719d..1904fca1 100644
--- a/internal/app/frontend.go
+++ b/internal/app/frontend.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package app
import (
diff --git a/internal/app/vault.go b/internal/app/vault.go
index 7022e4ae..1f7aae29 100644
--- a/internal/app/vault.go
+++ b/internal/app/vault.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package app
import (
diff --git a/internal/bridge/bridge.go b/internal/bridge/bridge.go
index 519f838b..dd0260f9 100644
--- a/internal/bridge/bridge.go
+++ b/internal/bridge/bridge.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
// Package bridge implements the Bridge, which acts as the backend to the UI.
package bridge
diff --git a/internal/bridge/bridge_test.go b/internal/bridge/bridge_test.go
index c07e7572..3fbe76b4 100644
--- a/internal/bridge/bridge_test.go
+++ b/internal/bridge/bridge_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package bridge_test
import (
diff --git a/internal/bridge/configure.go b/internal/bridge/configure.go
index 61534eed..c3c27958 100644
--- a/internal/bridge/configure.go
+++ b/internal/bridge/configure.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package bridge
import (
diff --git a/internal/bridge/errors.go b/internal/bridge/errors.go
index 5a752226..6b5db0c4 100644
--- a/internal/bridge/errors.go
+++ b/internal/bridge/errors.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package bridge
import "errors"
diff --git a/internal/bridge/files.go b/internal/bridge/files.go
index 40c16aad..42e9a0e6 100644
--- a/internal/bridge/files.go
+++ b/internal/bridge/files.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package bridge
import (
diff --git a/internal/bridge/files_test.go b/internal/bridge/files_test.go
index e8152810..729a6194 100644
--- a/internal/bridge/files_test.go
+++ b/internal/bridge/files_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package bridge
import (
diff --git a/internal/bridge/identifier.go b/internal/bridge/identifier.go
index 1b151122..1e0eb8d0 100644
--- a/internal/bridge/identifier.go
+++ b/internal/bridge/identifier.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package bridge
func (bridge *Bridge) GetCurrentUserAgent() string {
diff --git a/internal/bridge/imap.go b/internal/bridge/imap.go
index 88e16e2f..79602fbb 100644
--- a/internal/bridge/imap.go
+++ b/internal/bridge/imap.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package bridge
import (
diff --git a/internal/bridge/locations.go b/internal/bridge/locations.go
index c4c6b7dd..3cf67814 100644
--- a/internal/bridge/locations.go
+++ b/internal/bridge/locations.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package bridge
func (bridge *Bridge) GetLogsPath() (string, error) {
diff --git a/internal/bridge/settings.go b/internal/bridge/settings.go
index 76af31e8..991fbc5a 100644
--- a/internal/bridge/settings.go
+++ b/internal/bridge/settings.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package bridge
import (
diff --git a/internal/bridge/settings_test.go b/internal/bridge/settings_test.go
index 315dc13a..f7f07b36 100644
--- a/internal/bridge/settings_test.go
+++ b/internal/bridge/settings_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package bridge_test
import (
diff --git a/internal/bridge/smtp.go b/internal/bridge/smtp.go
index ac0bdc15..389ab3d6 100644
--- a/internal/bridge/smtp.go
+++ b/internal/bridge/smtp.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package bridge
import (
diff --git a/internal/bridge/smtp_backend.go b/internal/bridge/smtp_backend.go
index 0b5729dd..5e43ead1 100644
--- a/internal/bridge/smtp_backend.go
+++ b/internal/bridge/smtp_backend.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package bridge
import (
diff --git a/internal/bridge/sync_test.go b/internal/bridge/sync_test.go
index e801a8fc..c21da053 100644
--- a/internal/bridge/sync_test.go
+++ b/internal/bridge/sync_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package bridge_test
import (
diff --git a/internal/bridge/tls.go b/internal/bridge/tls.go
index ca5c1848..8d373f8d 100644
--- a/internal/bridge/tls.go
+++ b/internal/bridge/tls.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package bridge
func (bridge *Bridge) GetBridgeTLSCert() ([]byte, []byte) {
diff --git a/internal/bridge/types.go b/internal/bridge/types.go
index 180ee45e..376187ce 100644
--- a/internal/bridge/types.go
+++ b/internal/bridge/types.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package bridge
import (
diff --git a/internal/bridge/updates.go b/internal/bridge/updates.go
index 21efdd72..c63eaa44 100644
--- a/internal/bridge/updates.go
+++ b/internal/bridge/updates.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package bridge
import (
diff --git a/internal/bridge/user.go b/internal/bridge/user.go
index 86d6374d..c578508b 100644
--- a/internal/bridge/user.go
+++ b/internal/bridge/user.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package bridge
import (
diff --git a/internal/bridge/user_events.go b/internal/bridge/user_events.go
index 56a3dcf1..39ea263c 100644
--- a/internal/bridge/user_events.go
+++ b/internal/bridge/user_events.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package bridge
import (
diff --git a/internal/bridge/user_test.go b/internal/bridge/user_test.go
index 3b0bbb8e..f849c7d5 100644
--- a/internal/bridge/user_test.go
+++ b/internal/bridge/user_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package bridge_test
import (
diff --git a/internal/certs/installer.go b/internal/certs/installer.go
index d9ef9315..b6027db8 100644
--- a/internal/certs/installer.go
+++ b/internal/certs/installer.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package certs
type Installer struct{}
diff --git a/internal/dialer/dialer_test.go b/internal/dialer/dialer_test.go
index 044066a8..35a8ab52 100644
--- a/internal/dialer/dialer_test.go
+++ b/internal/dialer/dialer_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package dialer
import (
diff --git a/internal/events/connection.go b/internal/events/connection.go
index 1b8b64ad..53c3f540 100644
--- a/internal/events/connection.go
+++ b/internal/events/connection.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package events
type TLSIssue struct {
diff --git a/internal/events/error.go b/internal/events/error.go
index b5b720a8..372190e3 100644
--- a/internal/events/error.go
+++ b/internal/events/error.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package events
type Error struct {
diff --git a/internal/events/events.go b/internal/events/events.go
index 1fb3fd27..e058c253 100644
--- a/internal/events/events.go
+++ b/internal/events/events.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package events
type Event interface {
diff --git a/internal/events/raise.go b/internal/events/raise.go
index a8a11244..7b113019 100644
--- a/internal/events/raise.go
+++ b/internal/events/raise.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package events
type Raise struct {
diff --git a/internal/events/sync.go b/internal/events/sync.go
index 0932a81c..26feaa4e 100644
--- a/internal/events/sync.go
+++ b/internal/events/sync.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package events
import "time"
diff --git a/internal/events/update.go b/internal/events/update.go
index fe0aff64..7015b664 100644
--- a/internal/events/update.go
+++ b/internal/events/update.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package events
import "github.com/ProtonMail/proton-bridge/v2/internal/updater"
diff --git a/internal/events/user.go b/internal/events/user.go
index 5f758110..38640aa3 100644
--- a/internal/events/user.go
+++ b/internal/events/user.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package events
import "github.com/ProtonMail/proton-bridge/v2/internal/vault"
diff --git a/internal/focus/client.go b/internal/focus/client.go
index 83f20031..67006220 100644
--- a/internal/focus/client.go
+++ b/internal/focus/client.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package focus
import (
diff --git a/internal/focus/focus_test.go b/internal/focus/focus_test.go
index 5e13a3db..31004d6f 100644
--- a/internal/focus/focus_test.go
+++ b/internal/focus/focus_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package focus
import (
diff --git a/internal/focus/proto/focus.go b/internal/focus/proto/focus.go
index 106c3c4e..0b55551a 100644
--- a/internal/focus/proto/focus.go
+++ b/internal/focus/proto/focus.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
// Package proto provides the gRPC definition of the focus service.
package proto
diff --git a/internal/focus/proto/focus.pb.go b/internal/focus/proto/focus.pb.go
index 316367a4..b4d15c6c 100644
--- a/internal/focus/proto/focus.pb.go
+++ b/internal/focus/proto/focus.pb.go
@@ -17,8 +17,8 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.21.7
+// protoc-gen-go v1.28.1
+// protoc v3.19.4
// source: focus.proto
package proto
diff --git a/internal/focus/proto/focus_grpc.pb.go b/internal/focus/proto/focus_grpc.pb.go
index 7ddc67e5..0f322a82 100644
--- a/internal/focus/proto/focus_grpc.pb.go
+++ b/internal/focus/proto/focus_grpc.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
-// - protoc v3.21.7
+// - protoc v3.19.4
// source: focus.proto
package proto
diff --git a/internal/focus/service.go b/internal/focus/service.go
index 6afa5364..5954eab3 100644
--- a/internal/focus/service.go
+++ b/internal/focus/service.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
// Package focus provides a gRPC service for raising the application.
package focus
diff --git a/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/SettingsTab.cpp b/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/SettingsTab.cpp
index 784d45d8..f59204b0 100644
--- a/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/SettingsTab.cpp
+++ b/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/SettingsTab.cpp
@@ -349,6 +349,14 @@ bool SettingsTab::useSSLForSMTP() const
return ui_.checkUseSSLForSMTP->isChecked();
}
+//****************************************************************************************************************************************************
+/// \return The state of the 'Use SSL for SMTP' check box.
+//****************************************************************************************************************************************************
+bool SettingsTab::useSSLForIMAP() const
+{
+ return ui_.checkUseSSLForIMAP->isChecked();
+}
+
//****************************************************************************************************************************************************
/// \param[in] use The state of the 'Use SSL for SMTP' check box.
@@ -358,6 +366,14 @@ void SettingsTab::setUseSSLForSMTP(bool use)
ui_.checkUseSSLForSMTP->setChecked(use);
}
+//****************************************************************************************************************************************************
+/// \param[in] use The state of the 'Use SSL for SMTP' check box.
+//****************************************************************************************************************************************************
+void SettingsTab::setUseSSLForIMAP(bool use)
+{
+ ui_.checkUseSSLForIMAP->setChecked(use);
+}
+
//****************************************************************************************************************************************************
/// \return The state of the the 'DoH enabled' check box.
diff --git a/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/SettingsTab.h b/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/SettingsTab.h
index c5474192..93249806 100644
--- a/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/SettingsTab.h
+++ b/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/SettingsTab.h
@@ -59,6 +59,7 @@ public: // member functions.
qint32 imapPort(); ///< Get the value of the IMAP port spin.
qint32 smtpPort(); ///< Get the value of the SMTP port spin.
bool useSSLForSMTP() const; ///< Get the value for the 'Use SSL for SMTP' check box.
+ bool useSSLForIMAP() const; ///< Get the value for the 'Use SSL for IMAP' check box.
bool isDoHEnabled() const; ///< Get the value for the 'DoH Enabled' check box.
bool isPortFree() const; ///< Get the value for the "Is Port Free" check box.
bool isCacheOnDiskEnabled() const; ///< get the value for the 'Cache On Disk Enabled' check box.
@@ -79,6 +80,7 @@ public: // slots
bool includeLogs); ///< Set the content of the bug report box.
void changePorts(qint32 imapPort, qint32 smtpPort); ///< Change the IMAP and SMTP ports.
void setUseSSLForSMTP(bool use); ///< Set the value for the 'Use SSL for SMTP' check box.
+ void setUseSSLForIMAP(bool use); ///< Set the value for the 'Use SSL for IMAP' check box.
void setIsDoHEnabled(bool enabled); ///< Set the value for the 'DoH Enabled' check box.
void changeLocalCache(bool enabled, QString const &path); ///< Set the value for the 'Cache On Disk Enabled' check box.
void setIsAutomaticUpdateOn(bool on); ///< Set the value for the 'Automatic Update' check box.
diff --git a/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/SettingsTab.ui b/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/SettingsTab.ui
index 3b45527b..bc0b15b8 100644
--- a/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/SettingsTab.ui
+++ b/internal/frontend/bridge-gui/bridge-gui-tester/Tabs/SettingsTab.ui
@@ -259,6 +259,13 @@
+ -
+
+
+ Use SSL For IMAP
+
+
+
-
diff --git a/internal/frontend/bridge-gui/bridge-gui/QMLBackend.cpp b/internal/frontend/bridge-gui/bridge-gui/QMLBackend.cpp
index 2ef62114..4f9225c6 100644
--- a/internal/frontend/bridge-gui/bridge-gui/QMLBackend.cpp
+++ b/internal/frontend/bridge-gui/bridge-gui/QMLBackend.cpp
@@ -306,6 +306,16 @@ void QMLBackend::toggleUseSSLforSMTP(bool makeItActive)
app().grpc().setUseSSLForSMTP(makeItActive);
}
+//****************************************************************************************************************************************************
+/// \param[in] makeItActive Should SSL for IMAP be enabled.
+//****************************************************************************************************************************************************
+void QMLBackend::toggleUseSSLforIMAP(bool makeItActive)
+{
+ // if call succeed, app will restart. No need to emit a value change signal, because it will trigger a read-back via gRPC that will fail.
+ emit hideMainWindow();
+ app().grpc().setUseSSLForIMAP(makeItActive);
+}
+
//****************************************************************************************************************************************************
/// \param[in] imapPort The IMAP port.
diff --git a/internal/frontend/bridge-gui/bridge-gui/QMLBackend.h b/internal/frontend/bridge-gui/bridge-gui/QMLBackend.h
index 4c6f5772..10db5d8e 100644
--- a/internal/frontend/bridge-gui/bridge-gui/QMLBackend.h
+++ b/internal/frontend/bridge-gui/bridge-gui/QMLBackend.h
@@ -68,6 +68,7 @@ public: // Qt/QML properties. Note that the NOTIFY-er signal is required even fo
Q_PROPERTY(QString colorSchemeName READ colorSchemeName NOTIFY colorSchemeNameChanged) // _ string `property:"colorSchemeName"`
Q_PROPERTY(QUrl diskCachePath READ diskCachePath NOTIFY diskCachePathChanged) // _ core.QUrl `property:"diskCachePath"`
Q_PROPERTY(bool useSSLforSMTP READ useSSLForSMTP NOTIFY useSSLforSMTPChanged) // _ bool `property:"useSSLforSMTP"`
+ Q_PROPERTY(bool useSSLforIMAP READ useSSLForIMAP NOTIFY useSSLforIMAPChanged) // _ bool `property:"useSSLforIMAP"`
Q_PROPERTY(int portIMAP READ portIMAP NOTIFY portIMAPChanged) // _ int `property:"portIMAP"`
Q_PROPERTY(int portSMTP READ portSMTP NOTIFY portSMTPChanged) // _ int `property:"portSMTP"`
Q_PROPERTY(bool isDoHEnabled READ isDoHEnabled NOTIFY isDoHEnabledChanged) // _ bool `property:"isDoHEnabled"`
@@ -99,6 +100,7 @@ public: // Qt/QML properties. Note that the NOTIFY-er signal is required even fo
QString colorSchemeName() const { QString name; app().grpc().colorSchemeName(name); return name; }
QUrl diskCachePath() const { QUrl path; app().grpc().diskCachePath(path); return path; }
bool useSSLForSMTP() const{ bool useSSL; app().grpc().useSSLForSMTP(useSSL); return useSSL; }
+ bool useSSLForIMAP() const{ bool useSSL; app().grpc().useSSLForIMAP(useSSL); return useSSL; }
int portIMAP() const { int port; app().grpc().portIMAP(port); return port; }
int portSMTP() const { int port; app().grpc().portSMTP(port); return port; }
bool isDoHEnabled() const { bool isEnabled; app().grpc().isDoHEnabled(isEnabled); return isEnabled;}
@@ -116,6 +118,7 @@ signals: // Signal used by the Qt property system. Many of them are unused but r
void goosChanged(QString const &value);
void diskCachePathChanged(QUrl const &url);
void useSSLforSMTPChanged(bool value);
+ void useSSLforIMAPChanged(bool value);
void isAutomaticUpdateOnChanged(bool value);
void isBetaEnabledChanged(bool value);
void isAllMailVisibleChanged(bool value);
@@ -149,6 +152,7 @@ public slots: // slot for signals received from QML -> To be forwarded to Bridge
void login2Password(QString const& username, QString const& password) { app().grpc().login2Passwords(username, password);} // _ func(username, password string) `slot:"login2Password"`
void loginAbort(QString const& username){ app().grpc().loginAbort(username);} // _ func(username string) `slot:"loginAbort"`
void toggleUseSSLforSMTP(bool makeItActive); // _ func(makeItActive bool) `slot:"toggleUseSSLforSMTP"`
+ void toggleUseSSLforIMAP(bool makeItActive); // _ func(makeItActive bool) `slot:"toggleUseSSLforIMAP"`
void changePorts(int imapPort, int smtpPort); // _ func(imapPort, smtpPort int) `slot:"changePorts"`
void toggleDoH(bool active); // _ func(makeItActive bool) `slot:"toggleDoH"`
void toggleAutomaticUpdate(bool makeItActive); // _ func(makeItActive bool) `slot:"toggleAutomaticUpdate"`
diff --git a/internal/frontend/bridge-gui/bridge-gui/Resources.qrc b/internal/frontend/bridge-gui/bridge-gui/Resources.qrc
index 74608d26..d8f9d4f6 100644
--- a/internal/frontend/bridge-gui/bridge-gui/Resources.qrc
+++ b/internal/frontend/bridge-gui/bridge-gui/Resources.qrc
@@ -100,6 +100,7 @@
qml/SetupGuide.qml
qml/SignIn.qml
qml/SMTPSettings.qml
+ qml/IMAPSettings.qml
qml/SplashScreen.qml
qml/Status.qml
qml/StatusWindow.qml
diff --git a/internal/frontend/bridge-gui/bridge-gui/qml/AccountView.qml b/internal/frontend/bridge-gui/bridge-gui/qml/AccountView.qml
index a4e95246..05e2c8bc 100644
--- a/internal/frontend/bridge-gui/bridge-gui/qml/AccountView.qml
+++ b/internal/frontend/bridge-gui/bridge-gui/qml/AccountView.qml
@@ -231,7 +231,7 @@ Item {
port: Backend.portIMAP.toString()
username: configuration.currentAddress
password: root.user ? root.user.password : ""
- security: "STARTTLS"
+ security : Backend.useSSLforIMAP ? "SSL" : "STARTTLS"
}
Configuration {
diff --git a/internal/frontend/bridge-gui/bridge-gui/qml/ContentWrapper.qml b/internal/frontend/bridge-gui/bridge-gui/qml/ContentWrapper.qml
index 85e3d523..4a5d89d0 100644
--- a/internal/frontend/bridge-gui/bridge-gui/qml/ContentWrapper.qml
+++ b/internal/frontend/bridge-gui/bridge-gui/qml/ContentWrapper.qml
@@ -365,6 +365,14 @@ Item {
}
}
+ IMAPSettings { // 9
+ colorScheme: root.colorScheme
+
+ onBack: {
+ rightContent.showGeneralSettings()
+ }
+ }
+
function showAccount(index) {
if (index !== undefined && index >= 0){
accounts.currentIndex = index
@@ -380,6 +388,7 @@ Item {
function showLocalCacheSettings () { rightContent.currentIndex = 6 }
function showHelpView () { rightContent.currentIndex = 7 }
function showBugReport () { rightContent.currentIndex = 8 }
+ function showIMAPSettings () { rightContent.currentIndex = 9 }
Connections {
target: Backend
diff --git a/internal/frontend/bridge-gui/bridge-gui/qml/GeneralSettings.qml b/internal/frontend/bridge-gui/bridge-gui/qml/GeneralSettings.qml
index 5991becd..c563f836 100644
--- a/internal/frontend/bridge-gui/bridge-gui/qml/GeneralSettings.qml
+++ b/internal/frontend/bridge-gui/bridge-gui/qml/GeneralSettings.qml
@@ -182,6 +182,19 @@ SettingsView {
Layout.fillWidth: true
}
+ SettingsItem {
+ id: imap
+ visible: root._isAdvancedShown
+ colorScheme: root.colorScheme
+ text: qsTr("IMAP connection mode")
+ actionText: qsTr("Change")
+ description: qsTr("Change the protocol Bridge and your client use to connect.")
+ type: SettingsItem.Button
+ onClicked: root.parent.showIMAPSettings()
+
+ Layout.fillWidth: true
+ }
+
SettingsItem {
id: smtp
visible: root._isAdvancedShown
diff --git a/internal/frontend/bridge-gui/bridge-gui/qml/IMAPSettings.qml b/internal/frontend/bridge-gui/bridge-gui/qml/IMAPSettings.qml
new file mode 100644
index 00000000..46972b2c
--- /dev/null
+++ b/internal/frontend/bridge-gui/bridge-gui/qml/IMAPSettings.qml
@@ -0,0 +1,121 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
+import QtQuick
+import QtQuick.Layouts
+import QtQuick.Controls
+import QtQuick.Controls.impl
+
+import Proton
+
+SettingsView {
+ id: root
+
+ fillHeight: false
+
+ Label {
+ colorScheme: root.colorScheme
+ text: qsTr("IMAP connection mode")
+ type: Label.Heading
+ Layout.fillWidth: true
+ }
+
+ Label {
+ colorScheme: root.colorScheme
+ text: qsTr("Changes require reconfiguration of email client. Bridge will automatically restart.")
+ type: Label.Body
+ color: root.colorScheme.text_weak
+ Layout.fillWidth: true
+ wrapMode: Text.WordWrap
+ }
+
+ ColumnLayout {
+ spacing: 16
+
+ ButtonGroup{ id: protocolSelection }
+
+ Label {
+ colorScheme: root.colorScheme
+ text: qsTr("IMAP connection security")
+ }
+
+ RadioButton {
+ id: sslButton
+ colorScheme: root.colorScheme
+ ButtonGroup.group: protocolSelection
+ text: qsTr("SSL")
+ }
+
+ RadioButton {
+ id: starttlsButton
+ colorScheme: root.colorScheme
+ ButtonGroup.group: protocolSelection
+ text: qsTr("STARTTLS")
+ }
+ }
+
+ Rectangle {
+ Layout.fillWidth: true
+ height: 1
+ color: root.colorScheme.border_weak
+ }
+
+ RowLayout {
+ spacing: 12
+
+ Button {
+ id: submitButton
+ colorScheme: root.colorScheme
+ text: qsTr("Save and restart")
+ onClicked: {
+ submitButton.loading = true
+ root.submit()
+ }
+
+ enabled: sslButton.checked !== Backend.useSSLforIMAP
+ }
+
+ Button {
+ colorScheme: root.colorScheme
+ text: qsTr("Cancel")
+ onClicked: root.back()
+ secondary: true
+ }
+
+ Connections {
+ target: Backend
+
+ function onToggleUseSSLFinished() {
+ submitButton.loading = false
+ }
+ }
+ }
+
+ function submit(){
+ submitButton.loading = true
+ Backend.toggleUseSSLforIMAP(sslButton.checked)
+ }
+
+ function setDefaultValues(){
+ sslButton.checked = Backend.useSSLforIMAP
+ starttlsButton.checked = !Backend.useSSLforIMAP
+ }
+
+ onVisibleChanged: {
+ root.setDefaultValues()
+ }
+}
diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/GRPCClient.cpp b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/GRPCClient.cpp
index 04627a08..ada2ea32 100644
--- a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/GRPCClient.cpp
+++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/GRPCClient.cpp
@@ -411,6 +411,26 @@ grpc::Status GRPCClient::setIsDoHEnabled(bool enabled)
}
+//****************************************************************************************************************************************************
+/// \param[out] outUseSSL The value for the property.
+/// \return The status for the gRPC call.
+//****************************************************************************************************************************************************
+grpc::Status GRPCClient::useSSLForIMAP(bool &outUseSSL)
+{
+ return this->logGRPCCallStatus(this->getBool(&Bridge::Stub::UseSslForImap, outUseSSL), __FUNCTION__);
+}
+
+
+//****************************************************************************************************************************************************
+/// \param[in] useSSL The new value for the property.
+/// \return The status for the gRPC call.
+//****************************************************************************************************************************************************
+grpc::Status GRPCClient::setUseSSLForIMAP(bool useSSL)
+{
+ return this->logGRPCCallStatus(this->setBool(&Bridge::Stub::SetUseSslForImap, useSSL), __FUNCTION__);
+}
+
+
//****************************************************************************************************************************************************
/// \return The status for the gRPC call.
//****************************************************************************************************************************************************
@@ -1344,6 +1364,10 @@ void GRPCClient::processMailSettingsEvent(MailSettingsEvent const &event)
this->logTrace("MailSettings event received: UseSslForSmtpFinished.");
emit toggleUseSSLFinished();
break;
+ case MailSettingsEvent::kUseSslForImapFinished:
+ this->logTrace("MailSettings event received: UseSslForImapFinished.");
+ emit toggleUseSSLFinished();
+ break;
case MailSettingsEvent::kChangePortsFinished:
this->logTrace("MailSettings event received: ChangePortsFinished.");
emit changePortFinished();
diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/GRPCClient.h b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/GRPCClient.h
index 4db0e710..0847e9dc 100644
--- a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/GRPCClient.h
+++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/GRPCClient.h
@@ -124,6 +124,8 @@ public:
grpc::Status changePorts(int portIMAP, int portSMTP); ///< Performs the 'changePorts' gRPC call.
grpc::Status isDoHEnabled(bool &outEnabled); ///< Performs the 'isDoHEnabled' gRPC call.
grpc::Status setIsDoHEnabled(bool enabled); ///< Performs the 'setIsDoHEnabled' gRPC call.
+ grpc::Status useSSLForIMAP(bool &outUseSSL); ///< Performs the 'useSSLForSMTP' gRPC call
+ grpc::Status setUseSSLForIMAP(bool useSSL); ///< Performs the 'currentEmailClient' gRPC call.
signals:
void portIssueIMAP();
diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.grpc.pb.cc b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.grpc.pb.cc
index b6ef7f82..8d59e5dd 100644
--- a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.grpc.pb.cc
+++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.grpc.pb.cc
@@ -64,6 +64,8 @@ static const char* Bridge_method_names[] = {
"/grpc.Bridge/IsDoHEnabled",
"/grpc.Bridge/SetUseSslForSmtp",
"/grpc.Bridge/UseSslForSmtp",
+ "/grpc.Bridge/SetUseSslForImap",
+ "/grpc.Bridge/UseSslForImap",
"/grpc.Bridge/Hostname",
"/grpc.Bridge/ImapPort",
"/grpc.Bridge/SmtpPort",
@@ -131,22 +133,24 @@ Bridge::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, co
, rpcmethod_IsDoHEnabled_(Bridge_method_names[39], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
, rpcmethod_SetUseSslForSmtp_(Bridge_method_names[40], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
, rpcmethod_UseSslForSmtp_(Bridge_method_names[41], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_Hostname_(Bridge_method_names[42], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_ImapPort_(Bridge_method_names[43], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_SmtpPort_(Bridge_method_names[44], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_ChangePorts_(Bridge_method_names[45], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_IsPortFree_(Bridge_method_names[46], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_AvailableKeychains_(Bridge_method_names[47], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_SetCurrentKeychain_(Bridge_method_names[48], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_CurrentKeychain_(Bridge_method_names[49], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_GetUserList_(Bridge_method_names[50], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_GetUser_(Bridge_method_names[51], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_SetUserSplitMode_(Bridge_method_names[52], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_LogoutUser_(Bridge_method_names[53], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_RemoveUser_(Bridge_method_names[54], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_ConfigureUserAppleMail_(Bridge_method_names[55], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
- , rpcmethod_RunEventStream_(Bridge_method_names[56], options.suffix_for_stats(),::grpc::internal::RpcMethod::SERVER_STREAMING, channel)
- , rpcmethod_StopEventStream_(Bridge_method_names[57], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_SetUseSslForImap_(Bridge_method_names[42], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_UseSslForImap_(Bridge_method_names[43], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_Hostname_(Bridge_method_names[44], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_ImapPort_(Bridge_method_names[45], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_SmtpPort_(Bridge_method_names[46], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_ChangePorts_(Bridge_method_names[47], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_IsPortFree_(Bridge_method_names[48], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_AvailableKeychains_(Bridge_method_names[49], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_SetCurrentKeychain_(Bridge_method_names[50], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_CurrentKeychain_(Bridge_method_names[51], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_GetUserList_(Bridge_method_names[52], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_GetUser_(Bridge_method_names[53], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_SetUserSplitMode_(Bridge_method_names[54], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_LogoutUser_(Bridge_method_names[55], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_RemoveUser_(Bridge_method_names[56], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_ConfigureUserAppleMail_(Bridge_method_names[57], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+ , rpcmethod_RunEventStream_(Bridge_method_names[58], options.suffix_for_stats(),::grpc::internal::RpcMethod::SERVER_STREAMING, channel)
+ , rpcmethod_StopEventStream_(Bridge_method_names[59], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
{}
::grpc::Status Bridge::Stub::CheckTokens(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::StringValue* response) {
@@ -1115,6 +1119,52 @@ void Bridge::Stub::async::UseSslForSmtp(::grpc::ClientContext* context, const ::
return result;
}
+::grpc::Status Bridge::Stub::SetUseSslForImap(::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_SetUseSslForImap_, context, request, response);
+}
+
+void Bridge::Stub::async::SetUseSslForImap(::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_SetUseSslForImap_, context, request, response, std::move(f));
+}
+
+void Bridge::Stub::async::SetUseSslForImap(::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_SetUseSslForImap_, context, request, response, reactor);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::PrepareAsyncSetUseSslForImapRaw(::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_SetUseSslForImap_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Bridge::Stub::AsyncSetUseSslForImapRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncSetUseSslForImapRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
+::grpc::Status Bridge::Stub::UseSslForImap(::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_UseSslForImap_, context, request, response);
+}
+
+void Bridge::Stub::async::UseSslForImap(::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_UseSslForImap_, context, request, response, std::move(f));
+}
+
+void Bridge::Stub::async::UseSslForImap(::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_UseSslForImap_, context, request, response, reactor);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* Bridge::Stub::PrepareAsyncUseSslForImapRaw(::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_UseSslForImap_, context, request);
+}
+
+::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* Bridge::Stub::AsyncUseSslForImapRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ auto* result =
+ this->PrepareAsyncUseSslForImapRaw(context, request, cq);
+ result->StartCall();
+ return result;
+}
+
::grpc::Status Bridge::Stub::Hostname(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::StringValue* response) {
return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_Hostname_, context, request, response);
}
@@ -1900,6 +1950,26 @@ Bridge::Service::Service() {
AddMethod(new ::grpc::internal::RpcServiceMethod(
Bridge_method_names[42],
::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::BoolValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](Bridge::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::BoolValue* req,
+ ::google::protobuf::Empty* resp) {
+ return service->SetUseSslForImap(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ Bridge_method_names[43],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
+ new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
+ [](Bridge::Service* service,
+ ::grpc::ServerContext* ctx,
+ const ::google::protobuf::Empty* req,
+ ::google::protobuf::BoolValue* resp) {
+ return service->UseSslForImap(ctx, req, resp);
+ }, this)));
+ AddMethod(new ::grpc::internal::RpcServiceMethod(
+ Bridge_method_names[44],
+ ::grpc::internal::RpcMethod::NORMAL_RPC,
new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
[](Bridge::Service* service,
::grpc::ServerContext* ctx,
@@ -1908,7 +1978,7 @@ Bridge::Service::Service() {
return service->Hostname(ctx, req, resp);
}, this)));
AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[43],
+ Bridge_method_names[45],
::grpc::internal::RpcMethod::NORMAL_RPC,
new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::Int32Value, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
[](Bridge::Service* service,
@@ -1918,7 +1988,7 @@ Bridge::Service::Service() {
return service->ImapPort(ctx, req, resp);
}, this)));
AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[44],
+ Bridge_method_names[46],
::grpc::internal::RpcMethod::NORMAL_RPC,
new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::Int32Value, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
[](Bridge::Service* service,
@@ -1928,7 +1998,7 @@ Bridge::Service::Service() {
return service->SmtpPort(ctx, req, resp);
}, this)));
AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[45],
+ Bridge_method_names[47],
::grpc::internal::RpcMethod::NORMAL_RPC,
new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::grpc::ChangePortsRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
[](Bridge::Service* service,
@@ -1938,7 +2008,7 @@ Bridge::Service::Service() {
return service->ChangePorts(ctx, req, resp);
}, this)));
AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[46],
+ Bridge_method_names[48],
::grpc::internal::RpcMethod::NORMAL_RPC,
new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Int32Value, ::google::protobuf::BoolValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
[](Bridge::Service* service,
@@ -1948,7 +2018,7 @@ Bridge::Service::Service() {
return service->IsPortFree(ctx, req, resp);
}, this)));
AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[47],
+ Bridge_method_names[49],
::grpc::internal::RpcMethod::NORMAL_RPC,
new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::grpc::AvailableKeychainsResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
[](Bridge::Service* service,
@@ -1958,7 +2028,7 @@ Bridge::Service::Service() {
return service->AvailableKeychains(ctx, req, resp);
}, this)));
AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[48],
+ Bridge_method_names[50],
::grpc::internal::RpcMethod::NORMAL_RPC,
new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
[](Bridge::Service* service,
@@ -1968,7 +2038,7 @@ Bridge::Service::Service() {
return service->SetCurrentKeychain(ctx, req, resp);
}, this)));
AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[49],
+ Bridge_method_names[51],
::grpc::internal::RpcMethod::NORMAL_RPC,
new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
[](Bridge::Service* service,
@@ -1978,7 +2048,7 @@ Bridge::Service::Service() {
return service->CurrentKeychain(ctx, req, resp);
}, this)));
AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[50],
+ Bridge_method_names[52],
::grpc::internal::RpcMethod::NORMAL_RPC,
new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::grpc::UserListResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
[](Bridge::Service* service,
@@ -1988,7 +2058,7 @@ Bridge::Service::Service() {
return service->GetUserList(ctx, req, resp);
}, this)));
AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[51],
+ Bridge_method_names[53],
::grpc::internal::RpcMethod::NORMAL_RPC,
new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::StringValue, ::grpc::User, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
[](Bridge::Service* service,
@@ -1998,7 +2068,7 @@ Bridge::Service::Service() {
return service->GetUser(ctx, req, resp);
}, this)));
AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[52],
+ Bridge_method_names[54],
::grpc::internal::RpcMethod::NORMAL_RPC,
new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::grpc::UserSplitModeRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
[](Bridge::Service* service,
@@ -2008,7 +2078,7 @@ Bridge::Service::Service() {
return service->SetUserSplitMode(ctx, req, resp);
}, this)));
AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[53],
+ Bridge_method_names[55],
::grpc::internal::RpcMethod::NORMAL_RPC,
new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
[](Bridge::Service* service,
@@ -2018,7 +2088,7 @@ Bridge::Service::Service() {
return service->LogoutUser(ctx, req, resp);
}, this)));
AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[54],
+ Bridge_method_names[56],
::grpc::internal::RpcMethod::NORMAL_RPC,
new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
[](Bridge::Service* service,
@@ -2028,7 +2098,7 @@ Bridge::Service::Service() {
return service->RemoveUser(ctx, req, resp);
}, this)));
AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[55],
+ Bridge_method_names[57],
::grpc::internal::RpcMethod::NORMAL_RPC,
new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::grpc::ConfigureAppleMailRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
[](Bridge::Service* service,
@@ -2038,7 +2108,7 @@ Bridge::Service::Service() {
return service->ConfigureUserAppleMail(ctx, req, resp);
}, this)));
AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[56],
+ Bridge_method_names[58],
::grpc::internal::RpcMethod::SERVER_STREAMING,
new ::grpc::internal::ServerStreamingHandler< Bridge::Service, ::grpc::EventStreamRequest, ::grpc::StreamEvent>(
[](Bridge::Service* service,
@@ -2048,7 +2118,7 @@ Bridge::Service::Service() {
return service->RunEventStream(ctx, req, writer);
}, this)));
AddMethod(new ::grpc::internal::RpcServiceMethod(
- Bridge_method_names[57],
+ Bridge_method_names[59],
::grpc::internal::RpcMethod::NORMAL_RPC,
new ::grpc::internal::RpcMethodHandler< Bridge::Service, ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
[](Bridge::Service* service,
@@ -2356,6 +2426,20 @@ Bridge::Service::~Service() {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
+::grpc::Status Bridge::Service::SetUseSslForImap(::grpc::ServerContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response) {
+ (void) context;
+ (void) request;
+ (void) response;
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status Bridge::Service::UseSslForImap(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response) {
+ (void) context;
+ (void) request;
+ (void) response;
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
::grpc::Status Bridge::Service::Hostname(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response) {
(void) context;
(void) request;
diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.grpc.pb.h b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.grpc.pb.h
index 90358ce4..64e5edd5 100644
--- a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.grpc.pb.h
+++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.grpc.pb.h
@@ -356,6 +356,20 @@ class Bridge final {
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 SetUseSslForImap(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncSetUseSslForImap(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncSetUseSslForImapRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncSetUseSslForImap(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncSetUseSslForImapRaw(context, request, cq));
+ }
+ virtual ::grpc::Status UseSslForImap(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) = 0;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> AsyncUseSslForImap(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(AsyncUseSslForImapRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>> PrepareAsyncUseSslForImap(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>>(PrepareAsyncUseSslForImapRaw(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));
@@ -567,6 +581,10 @@ class Bridge final {
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 SetUseSslForImap(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function) = 0;
+ virtual void SetUseSslForImap(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
+ virtual void UseSslForImap(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function) = 0;
+ virtual void UseSslForImap(::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 ImapPort(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Int32Value* response, std::function) = 0;
@@ -691,6 +709,10 @@ class Bridge final {
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::Empty>* AsyncSetUseSslForImapRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncSetUseSslForImapRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>* AsyncUseSslForImapRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
+ virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::BoolValue>* PrepareAsyncUseSslForImapRaw(::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::Int32Value>* AsyncImapPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0;
@@ -1022,6 +1044,20 @@ class Bridge final {
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 SetUseSslForImap(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::google::protobuf::Empty* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncSetUseSslForImap(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncSetUseSslForImapRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncSetUseSslForImap(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncSetUseSslForImapRaw(context, request, cq));
+ }
+ ::grpc::Status UseSslForImap(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::BoolValue* response) override;
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>> AsyncUseSslForImap(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>>(AsyncUseSslForImapRaw(context, request, cq));
+ }
+ std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>> PrepareAsyncUseSslForImap(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) {
+ return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>>(PrepareAsyncUseSslForImapRaw(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));
@@ -1223,6 +1259,10 @@ class Bridge final {
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 SetUseSslForImap(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, std::function) override;
+ void SetUseSslForImap(::grpc::ClientContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
+ void UseSslForImap(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response, std::function) override;
+ void UseSslForImap(::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 ImapPort(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Int32Value* response, std::function) override;
@@ -1349,6 +1389,10 @@ class Bridge final {
::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::Empty>* AsyncSetUseSslForImapRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncSetUseSslForImapRaw(::grpc::ClientContext* context, const ::google::protobuf::BoolValue& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* AsyncUseSslForImapRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
+ ::grpc::ClientAsyncResponseReader< ::google::protobuf::BoolValue>* PrepareAsyncUseSslForImapRaw(::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::Int32Value>* AsyncImapPortRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override;
@@ -1424,6 +1468,8 @@ class Bridge final {
const ::grpc::internal::RpcMethod rpcmethod_IsDoHEnabled_;
const ::grpc::internal::RpcMethod rpcmethod_SetUseSslForSmtp_;
const ::grpc::internal::RpcMethod rpcmethod_UseSslForSmtp_;
+ const ::grpc::internal::RpcMethod rpcmethod_SetUseSslForImap_;
+ const ::grpc::internal::RpcMethod rpcmethod_UseSslForImap_;
const ::grpc::internal::RpcMethod rpcmethod_Hostname_;
const ::grpc::internal::RpcMethod rpcmethod_ImapPort_;
const ::grpc::internal::RpcMethod rpcmethod_SmtpPort_;
@@ -1495,6 +1541,8 @@ class Bridge final {
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 SetUseSslForImap(::grpc::ServerContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response);
+ virtual ::grpc::Status UseSslForImap(::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 ImapPort(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Int32Value* response);
virtual ::grpc::Status SmtpPort(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Int32Value* response);
@@ -2357,12 +2405,52 @@ class Bridge final {
}
};
template
+ class WithAsyncMethod_SetUseSslForImap : public BaseClass {
+ private:
+ void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
+ public:
+ WithAsyncMethod_SetUseSslForImap() {
+ ::grpc::Service::MarkMethodAsync(42);
+ }
+ ~WithAsyncMethod_SetUseSslForImap() override {
+ BaseClassMustBeDerivedFromService(this);
+ }
+ // disable synchronous version of this method
+ ::grpc::Status SetUseSslForImap(::grpc::ServerContext* /*context*/, const ::google::protobuf::BoolValue* /*request*/, ::google::protobuf::Empty* /*response*/) override {
+ abort();
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+ }
+ void RequestSetUseSslForImap(::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(42, context, request, response, new_call_cq, notification_cq, tag);
+ }
+ };
+ template
+ class WithAsyncMethod_UseSslForImap : public BaseClass {
+ private:
+ void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
+ public:
+ WithAsyncMethod_UseSslForImap() {
+ ::grpc::Service::MarkMethodAsync(43);
+ }
+ ~WithAsyncMethod_UseSslForImap() override {
+ BaseClassMustBeDerivedFromService(this);
+ }
+ // disable synchronous version of this method
+ ::grpc::Status UseSslForImap(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::google::protobuf::BoolValue* /*response*/) override {
+ abort();
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+ }
+ void RequestUseSslForImap(::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(43, context, request, response, new_call_cq, notification_cq, tag);
+ }
+ };
+ template
class WithAsyncMethod_Hostname : public BaseClass {
private:
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithAsyncMethod_Hostname() {
- ::grpc::Service::MarkMethodAsync(42);
+ ::grpc::Service::MarkMethodAsync(44);
}
~WithAsyncMethod_Hostname() override {
BaseClassMustBeDerivedFromService(this);
@@ -2373,7 +2461,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestHostname(::grpc::ServerContext* context, ::google::protobuf::Empty* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::StringValue>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(42, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(44, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -2382,7 +2470,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithAsyncMethod_ImapPort() {
- ::grpc::Service::MarkMethodAsync(43);
+ ::grpc::Service::MarkMethodAsync(45);
}
~WithAsyncMethod_ImapPort() override {
BaseClassMustBeDerivedFromService(this);
@@ -2393,7 +2481,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestImapPort(::grpc::ServerContext* context, ::google::protobuf::Empty* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::Int32Value>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(43, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(45, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -2402,7 +2490,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithAsyncMethod_SmtpPort() {
- ::grpc::Service::MarkMethodAsync(44);
+ ::grpc::Service::MarkMethodAsync(46);
}
~WithAsyncMethod_SmtpPort() override {
BaseClassMustBeDerivedFromService(this);
@@ -2413,7 +2501,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestSmtpPort(::grpc::ServerContext* context, ::google::protobuf::Empty* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::Int32Value>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(44, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(46, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -2422,7 +2510,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithAsyncMethod_ChangePorts() {
- ::grpc::Service::MarkMethodAsync(45);
+ ::grpc::Service::MarkMethodAsync(47);
}
~WithAsyncMethod_ChangePorts() override {
BaseClassMustBeDerivedFromService(this);
@@ -2433,7 +2521,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestChangePorts(::grpc::ServerContext* context, ::grpc::ChangePortsRequest* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::Empty>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(45, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(47, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -2442,7 +2530,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithAsyncMethod_IsPortFree() {
- ::grpc::Service::MarkMethodAsync(46);
+ ::grpc::Service::MarkMethodAsync(48);
}
~WithAsyncMethod_IsPortFree() override {
BaseClassMustBeDerivedFromService(this);
@@ -2453,7 +2541,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestIsPortFree(::grpc::ServerContext* context, ::google::protobuf::Int32Value* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::BoolValue>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(46, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(48, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -2462,7 +2550,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithAsyncMethod_AvailableKeychains() {
- ::grpc::Service::MarkMethodAsync(47);
+ ::grpc::Service::MarkMethodAsync(49);
}
~WithAsyncMethod_AvailableKeychains() override {
BaseClassMustBeDerivedFromService(this);
@@ -2473,7 +2561,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestAvailableKeychains(::grpc::ServerContext* context, ::google::protobuf::Empty* request, ::grpc::ServerAsyncResponseWriter< ::grpc::AvailableKeychainsResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(47, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(49, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -2482,7 +2570,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithAsyncMethod_SetCurrentKeychain() {
- ::grpc::Service::MarkMethodAsync(48);
+ ::grpc::Service::MarkMethodAsync(50);
}
~WithAsyncMethod_SetCurrentKeychain() override {
BaseClassMustBeDerivedFromService(this);
@@ -2493,7 +2581,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestSetCurrentKeychain(::grpc::ServerContext* context, ::google::protobuf::StringValue* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::Empty>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(48, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(50, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -2502,7 +2590,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithAsyncMethod_CurrentKeychain() {
- ::grpc::Service::MarkMethodAsync(49);
+ ::grpc::Service::MarkMethodAsync(51);
}
~WithAsyncMethod_CurrentKeychain() override {
BaseClassMustBeDerivedFromService(this);
@@ -2513,7 +2601,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestCurrentKeychain(::grpc::ServerContext* context, ::google::protobuf::Empty* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::StringValue>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(49, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(51, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -2522,7 +2610,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithAsyncMethod_GetUserList() {
- ::grpc::Service::MarkMethodAsync(50);
+ ::grpc::Service::MarkMethodAsync(52);
}
~WithAsyncMethod_GetUserList() override {
BaseClassMustBeDerivedFromService(this);
@@ -2533,7 +2621,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestGetUserList(::grpc::ServerContext* context, ::google::protobuf::Empty* request, ::grpc::ServerAsyncResponseWriter< ::grpc::UserListResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(50, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(52, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -2542,7 +2630,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithAsyncMethod_GetUser() {
- ::grpc::Service::MarkMethodAsync(51);
+ ::grpc::Service::MarkMethodAsync(53);
}
~WithAsyncMethod_GetUser() override {
BaseClassMustBeDerivedFromService(this);
@@ -2553,7 +2641,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestGetUser(::grpc::ServerContext* context, ::google::protobuf::StringValue* request, ::grpc::ServerAsyncResponseWriter< ::grpc::User>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(51, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(53, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -2562,7 +2650,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithAsyncMethod_SetUserSplitMode() {
- ::grpc::Service::MarkMethodAsync(52);
+ ::grpc::Service::MarkMethodAsync(54);
}
~WithAsyncMethod_SetUserSplitMode() override {
BaseClassMustBeDerivedFromService(this);
@@ -2573,7 +2661,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestSetUserSplitMode(::grpc::ServerContext* context, ::grpc::UserSplitModeRequest* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::Empty>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(52, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(54, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -2582,7 +2670,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithAsyncMethod_LogoutUser() {
- ::grpc::Service::MarkMethodAsync(53);
+ ::grpc::Service::MarkMethodAsync(55);
}
~WithAsyncMethod_LogoutUser() override {
BaseClassMustBeDerivedFromService(this);
@@ -2593,7 +2681,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestLogoutUser(::grpc::ServerContext* context, ::google::protobuf::StringValue* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::Empty>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(53, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(55, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -2602,7 +2690,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithAsyncMethod_RemoveUser() {
- ::grpc::Service::MarkMethodAsync(54);
+ ::grpc::Service::MarkMethodAsync(56);
}
~WithAsyncMethod_RemoveUser() override {
BaseClassMustBeDerivedFromService(this);
@@ -2613,7 +2701,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestRemoveUser(::grpc::ServerContext* context, ::google::protobuf::StringValue* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::Empty>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(54, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(56, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -2622,7 +2710,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithAsyncMethod_ConfigureUserAppleMail() {
- ::grpc::Service::MarkMethodAsync(55);
+ ::grpc::Service::MarkMethodAsync(57);
}
~WithAsyncMethod_ConfigureUserAppleMail() override {
BaseClassMustBeDerivedFromService(this);
@@ -2633,7 +2721,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestConfigureUserAppleMail(::grpc::ServerContext* context, ::grpc::ConfigureAppleMailRequest* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::Empty>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(55, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(57, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -2642,7 +2730,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithAsyncMethod_RunEventStream() {
- ::grpc::Service::MarkMethodAsync(56);
+ ::grpc::Service::MarkMethodAsync(58);
}
~WithAsyncMethod_RunEventStream() override {
BaseClassMustBeDerivedFromService(this);
@@ -2653,7 +2741,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestRunEventStream(::grpc::ServerContext* context, ::grpc::EventStreamRequest* request, ::grpc::ServerAsyncWriter< ::grpc::StreamEvent>* writer, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncServerStreaming(56, context, request, writer, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncServerStreaming(58, context, request, writer, new_call_cq, notification_cq, tag);
}
};
template
@@ -2662,7 +2750,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithAsyncMethod_StopEventStream() {
- ::grpc::Service::MarkMethodAsync(57);
+ ::grpc::Service::MarkMethodAsync(59);
}
~WithAsyncMethod_StopEventStream() override {
BaseClassMustBeDerivedFromService(this);
@@ -2673,10 +2761,10 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestStopEventStream(::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(57, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(59, context, request, response, new_call_cq, notification_cq, tag);
}
};
- typedef WithAsyncMethod_CheckTokens > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > AsyncService;
+ typedef WithAsyncMethod_CheckTokens > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > AsyncService;
template
class WithCallbackMethod_CheckTokens : public BaseClass {
private:
@@ -3812,18 +3900,72 @@ class Bridge final {
::grpc::CallbackServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::google::protobuf::BoolValue* /*response*/) { return nullptr; }
};
template
+ class WithCallbackMethod_SetUseSslForImap : public BaseClass {
+ private:
+ void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
+ public:
+ WithCallbackMethod_SetUseSslForImap() {
+ ::grpc::Service::MarkMethodCallback(42,
+ new ::grpc::internal::CallbackUnaryHandler< ::google::protobuf::BoolValue, ::google::protobuf::Empty>(
+ [this](
+ ::grpc::CallbackServerContext* context, const ::google::protobuf::BoolValue* request, ::google::protobuf::Empty* response) { return this->SetUseSslForImap(context, request, response); }));}
+ void SetMessageAllocatorFor_SetUseSslForImap(
+ ::grpc::MessageAllocator< ::google::protobuf::BoolValue, ::google::protobuf::Empty>* allocator) {
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(42);
+ static_cast<::grpc::internal::CallbackUnaryHandler< ::google::protobuf::BoolValue, ::google::protobuf::Empty>*>(handler)
+ ->SetMessageAllocator(allocator);
+ }
+ ~WithCallbackMethod_SetUseSslForImap() override {
+ BaseClassMustBeDerivedFromService(this);
+ }
+ // disable synchronous version of this method
+ ::grpc::Status SetUseSslForImap(::grpc::ServerContext* /*context*/, const ::google::protobuf::BoolValue* /*request*/, ::google::protobuf::Empty* /*response*/) override {
+ abort();
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+ }
+ virtual ::grpc::ServerUnaryReactor* SetUseSslForImap(
+ ::grpc::CallbackServerContext* /*context*/, const ::google::protobuf::BoolValue* /*request*/, ::google::protobuf::Empty* /*response*/) { return nullptr; }
+ };
+ template
+ class WithCallbackMethod_UseSslForImap : public BaseClass {
+ private:
+ void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
+ public:
+ WithCallbackMethod_UseSslForImap() {
+ ::grpc::Service::MarkMethodCallback(43,
+ new ::grpc::internal::CallbackUnaryHandler< ::google::protobuf::Empty, ::google::protobuf::BoolValue>(
+ [this](
+ ::grpc::CallbackServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::BoolValue* response) { return this->UseSslForImap(context, request, response); }));}
+ void SetMessageAllocatorFor_UseSslForImap(
+ ::grpc::MessageAllocator< ::google::protobuf::Empty, ::google::protobuf::BoolValue>* allocator) {
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(43);
+ static_cast<::grpc::internal::CallbackUnaryHandler< ::google::protobuf::Empty, ::google::protobuf::BoolValue>*>(handler)
+ ->SetMessageAllocator(allocator);
+ }
+ ~WithCallbackMethod_UseSslForImap() override {
+ BaseClassMustBeDerivedFromService(this);
+ }
+ // disable synchronous version of this method
+ ::grpc::Status UseSslForImap(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::google::protobuf::BoolValue* /*response*/) override {
+ abort();
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+ }
+ virtual ::grpc::ServerUnaryReactor* UseSslForImap(
+ ::grpc::CallbackServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::google::protobuf::BoolValue* /*response*/) { return nullptr; }
+ };
+ template
class WithCallbackMethod_Hostname : public BaseClass {
private:
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithCallbackMethod_Hostname() {
- ::grpc::Service::MarkMethodCallback(42,
+ ::grpc::Service::MarkMethodCallback(44,
new ::grpc::internal::CallbackUnaryHandler< ::google::protobuf::Empty, ::google::protobuf::StringValue>(
[this](
::grpc::CallbackServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response) { return this->Hostname(context, request, response); }));}
void SetMessageAllocatorFor_Hostname(
::grpc::MessageAllocator< ::google::protobuf::Empty, ::google::protobuf::StringValue>* allocator) {
- ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(42);
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(44);
static_cast<::grpc::internal::CallbackUnaryHandler< ::google::protobuf::Empty, ::google::protobuf::StringValue>*>(handler)
->SetMessageAllocator(allocator);
}
@@ -3844,13 +3986,13 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithCallbackMethod_ImapPort() {
- ::grpc::Service::MarkMethodCallback(43,
+ ::grpc::Service::MarkMethodCallback(45,
new ::grpc::internal::CallbackUnaryHandler< ::google::protobuf::Empty, ::google::protobuf::Int32Value>(
[this](
::grpc::CallbackServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Int32Value* response) { return this->ImapPort(context, request, response); }));}
void SetMessageAllocatorFor_ImapPort(
::grpc::MessageAllocator< ::google::protobuf::Empty, ::google::protobuf::Int32Value>* allocator) {
- ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(43);
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(45);
static_cast<::grpc::internal::CallbackUnaryHandler< ::google::protobuf::Empty, ::google::protobuf::Int32Value>*>(handler)
->SetMessageAllocator(allocator);
}
@@ -3871,13 +4013,13 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithCallbackMethod_SmtpPort() {
- ::grpc::Service::MarkMethodCallback(44,
+ ::grpc::Service::MarkMethodCallback(46,
new ::grpc::internal::CallbackUnaryHandler< ::google::protobuf::Empty, ::google::protobuf::Int32Value>(
[this](
::grpc::CallbackServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Int32Value* response) { return this->SmtpPort(context, request, response); }));}
void SetMessageAllocatorFor_SmtpPort(
::grpc::MessageAllocator< ::google::protobuf::Empty, ::google::protobuf::Int32Value>* allocator) {
- ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(44);
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(46);
static_cast<::grpc::internal::CallbackUnaryHandler< ::google::protobuf::Empty, ::google::protobuf::Int32Value>*>(handler)
->SetMessageAllocator(allocator);
}
@@ -3898,13 +4040,13 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithCallbackMethod_ChangePorts() {
- ::grpc::Service::MarkMethodCallback(45,
+ ::grpc::Service::MarkMethodCallback(47,
new ::grpc::internal::CallbackUnaryHandler< ::grpc::ChangePortsRequest, ::google::protobuf::Empty>(
[this](
::grpc::CallbackServerContext* context, const ::grpc::ChangePortsRequest* request, ::google::protobuf::Empty* response) { return this->ChangePorts(context, request, response); }));}
void SetMessageAllocatorFor_ChangePorts(
::grpc::MessageAllocator< ::grpc::ChangePortsRequest, ::google::protobuf::Empty>* allocator) {
- ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(45);
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(47);
static_cast<::grpc::internal::CallbackUnaryHandler< ::grpc::ChangePortsRequest, ::google::protobuf::Empty>*>(handler)
->SetMessageAllocator(allocator);
}
@@ -3925,13 +4067,13 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithCallbackMethod_IsPortFree() {
- ::grpc::Service::MarkMethodCallback(46,
+ ::grpc::Service::MarkMethodCallback(48,
new ::grpc::internal::CallbackUnaryHandler< ::google::protobuf::Int32Value, ::google::protobuf::BoolValue>(
[this](
::grpc::CallbackServerContext* context, const ::google::protobuf::Int32Value* request, ::google::protobuf::BoolValue* response) { return this->IsPortFree(context, request, response); }));}
void SetMessageAllocatorFor_IsPortFree(
::grpc::MessageAllocator< ::google::protobuf::Int32Value, ::google::protobuf::BoolValue>* allocator) {
- ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(46);
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(48);
static_cast<::grpc::internal::CallbackUnaryHandler< ::google::protobuf::Int32Value, ::google::protobuf::BoolValue>*>(handler)
->SetMessageAllocator(allocator);
}
@@ -3952,13 +4094,13 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithCallbackMethod_AvailableKeychains() {
- ::grpc::Service::MarkMethodCallback(47,
+ ::grpc::Service::MarkMethodCallback(49,
new ::grpc::internal::CallbackUnaryHandler< ::google::protobuf::Empty, ::grpc::AvailableKeychainsResponse>(
[this](
::grpc::CallbackServerContext* context, const ::google::protobuf::Empty* request, ::grpc::AvailableKeychainsResponse* response) { return this->AvailableKeychains(context, request, response); }));}
void SetMessageAllocatorFor_AvailableKeychains(
::grpc::MessageAllocator< ::google::protobuf::Empty, ::grpc::AvailableKeychainsResponse>* allocator) {
- ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(47);
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(49);
static_cast<::grpc::internal::CallbackUnaryHandler< ::google::protobuf::Empty, ::grpc::AvailableKeychainsResponse>*>(handler)
->SetMessageAllocator(allocator);
}
@@ -3979,13 +4121,13 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithCallbackMethod_SetCurrentKeychain() {
- ::grpc::Service::MarkMethodCallback(48,
+ ::grpc::Service::MarkMethodCallback(50,
new ::grpc::internal::CallbackUnaryHandler< ::google::protobuf::StringValue, ::google::protobuf::Empty>(
[this](
::grpc::CallbackServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response) { return this->SetCurrentKeychain(context, request, response); }));}
void SetMessageAllocatorFor_SetCurrentKeychain(
::grpc::MessageAllocator< ::google::protobuf::StringValue, ::google::protobuf::Empty>* allocator) {
- ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(48);
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(50);
static_cast<::grpc::internal::CallbackUnaryHandler< ::google::protobuf::StringValue, ::google::protobuf::Empty>*>(handler)
->SetMessageAllocator(allocator);
}
@@ -4006,13 +4148,13 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithCallbackMethod_CurrentKeychain() {
- ::grpc::Service::MarkMethodCallback(49,
+ ::grpc::Service::MarkMethodCallback(51,
new ::grpc::internal::CallbackUnaryHandler< ::google::protobuf::Empty, ::google::protobuf::StringValue>(
[this](
::grpc::CallbackServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::StringValue* response) { return this->CurrentKeychain(context, request, response); }));}
void SetMessageAllocatorFor_CurrentKeychain(
::grpc::MessageAllocator< ::google::protobuf::Empty, ::google::protobuf::StringValue>* allocator) {
- ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(49);
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(51);
static_cast<::grpc::internal::CallbackUnaryHandler< ::google::protobuf::Empty, ::google::protobuf::StringValue>*>(handler)
->SetMessageAllocator(allocator);
}
@@ -4033,13 +4175,13 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithCallbackMethod_GetUserList() {
- ::grpc::Service::MarkMethodCallback(50,
+ ::grpc::Service::MarkMethodCallback(52,
new ::grpc::internal::CallbackUnaryHandler< ::google::protobuf::Empty, ::grpc::UserListResponse>(
[this](
::grpc::CallbackServerContext* context, const ::google::protobuf::Empty* request, ::grpc::UserListResponse* response) { return this->GetUserList(context, request, response); }));}
void SetMessageAllocatorFor_GetUserList(
::grpc::MessageAllocator< ::google::protobuf::Empty, ::grpc::UserListResponse>* allocator) {
- ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(50);
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(52);
static_cast<::grpc::internal::CallbackUnaryHandler< ::google::protobuf::Empty, ::grpc::UserListResponse>*>(handler)
->SetMessageAllocator(allocator);
}
@@ -4060,13 +4202,13 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithCallbackMethod_GetUser() {
- ::grpc::Service::MarkMethodCallback(51,
+ ::grpc::Service::MarkMethodCallback(53,
new ::grpc::internal::CallbackUnaryHandler< ::google::protobuf::StringValue, ::grpc::User>(
[this](
::grpc::CallbackServerContext* context, const ::google::protobuf::StringValue* request, ::grpc::User* response) { return this->GetUser(context, request, response); }));}
void SetMessageAllocatorFor_GetUser(
::grpc::MessageAllocator< ::google::protobuf::StringValue, ::grpc::User>* allocator) {
- ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(51);
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(53);
static_cast<::grpc::internal::CallbackUnaryHandler< ::google::protobuf::StringValue, ::grpc::User>*>(handler)
->SetMessageAllocator(allocator);
}
@@ -4087,13 +4229,13 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithCallbackMethod_SetUserSplitMode() {
- ::grpc::Service::MarkMethodCallback(52,
+ ::grpc::Service::MarkMethodCallback(54,
new ::grpc::internal::CallbackUnaryHandler< ::grpc::UserSplitModeRequest, ::google::protobuf::Empty>(
[this](
::grpc::CallbackServerContext* context, const ::grpc::UserSplitModeRequest* request, ::google::protobuf::Empty* response) { return this->SetUserSplitMode(context, request, response); }));}
void SetMessageAllocatorFor_SetUserSplitMode(
::grpc::MessageAllocator< ::grpc::UserSplitModeRequest, ::google::protobuf::Empty>* allocator) {
- ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(52);
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(54);
static_cast<::grpc::internal::CallbackUnaryHandler< ::grpc::UserSplitModeRequest, ::google::protobuf::Empty>*>(handler)
->SetMessageAllocator(allocator);
}
@@ -4114,13 +4256,13 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithCallbackMethod_LogoutUser() {
- ::grpc::Service::MarkMethodCallback(53,
+ ::grpc::Service::MarkMethodCallback(55,
new ::grpc::internal::CallbackUnaryHandler< ::google::protobuf::StringValue, ::google::protobuf::Empty>(
[this](
::grpc::CallbackServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response) { return this->LogoutUser(context, request, response); }));}
void SetMessageAllocatorFor_LogoutUser(
::grpc::MessageAllocator< ::google::protobuf::StringValue, ::google::protobuf::Empty>* allocator) {
- ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(53);
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(55);
static_cast<::grpc::internal::CallbackUnaryHandler< ::google::protobuf::StringValue, ::google::protobuf::Empty>*>(handler)
->SetMessageAllocator(allocator);
}
@@ -4141,13 +4283,13 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithCallbackMethod_RemoveUser() {
- ::grpc::Service::MarkMethodCallback(54,
+ ::grpc::Service::MarkMethodCallback(56,
new ::grpc::internal::CallbackUnaryHandler< ::google::protobuf::StringValue, ::google::protobuf::Empty>(
[this](
::grpc::CallbackServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response) { return this->RemoveUser(context, request, response); }));}
void SetMessageAllocatorFor_RemoveUser(
::grpc::MessageAllocator< ::google::protobuf::StringValue, ::google::protobuf::Empty>* allocator) {
- ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(54);
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(56);
static_cast<::grpc::internal::CallbackUnaryHandler< ::google::protobuf::StringValue, ::google::protobuf::Empty>*>(handler)
->SetMessageAllocator(allocator);
}
@@ -4168,13 +4310,13 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithCallbackMethod_ConfigureUserAppleMail() {
- ::grpc::Service::MarkMethodCallback(55,
+ ::grpc::Service::MarkMethodCallback(57,
new ::grpc::internal::CallbackUnaryHandler< ::grpc::ConfigureAppleMailRequest, ::google::protobuf::Empty>(
[this](
::grpc::CallbackServerContext* context, const ::grpc::ConfigureAppleMailRequest* request, ::google::protobuf::Empty* response) { return this->ConfigureUserAppleMail(context, request, response); }));}
void SetMessageAllocatorFor_ConfigureUserAppleMail(
::grpc::MessageAllocator< ::grpc::ConfigureAppleMailRequest, ::google::protobuf::Empty>* allocator) {
- ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(55);
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(57);
static_cast<::grpc::internal::CallbackUnaryHandler< ::grpc::ConfigureAppleMailRequest, ::google::protobuf::Empty>*>(handler)
->SetMessageAllocator(allocator);
}
@@ -4195,7 +4337,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithCallbackMethod_RunEventStream() {
- ::grpc::Service::MarkMethodCallback(56,
+ ::grpc::Service::MarkMethodCallback(58,
new ::grpc::internal::CallbackServerStreamingHandler< ::grpc::EventStreamRequest, ::grpc::StreamEvent>(
[this](
::grpc::CallbackServerContext* context, const ::grpc::EventStreamRequest* request) { return this->RunEventStream(context, request); }));
@@ -4217,13 +4359,13 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithCallbackMethod_StopEventStream() {
- ::grpc::Service::MarkMethodCallback(57,
+ ::grpc::Service::MarkMethodCallback(59,
new ::grpc::internal::CallbackUnaryHandler< ::google::protobuf::Empty, ::google::protobuf::Empty>(
[this](
::grpc::CallbackServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response) { return this->StopEventStream(context, request, response); }));}
void SetMessageAllocatorFor_StopEventStream(
::grpc::MessageAllocator< ::google::protobuf::Empty, ::google::protobuf::Empty>* allocator) {
- ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(57);
+ ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(59);
static_cast<::grpc::internal::CallbackUnaryHandler< ::google::protobuf::Empty, ::google::protobuf::Empty>*>(handler)
->SetMessageAllocator(allocator);
}
@@ -4238,7 +4380,7 @@ class Bridge final {
virtual ::grpc::ServerUnaryReactor* StopEventStream(
::grpc::CallbackServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::google::protobuf::Empty* /*response*/) { return nullptr; }
};
- typedef WithCallbackMethod_CheckTokens > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > CallbackService;
+ typedef WithCallbackMethod_CheckTokens > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > CallbackService;
typedef CallbackService ExperimentalCallbackService;
template
class WithGenericMethod_CheckTokens : public BaseClass {
@@ -4955,12 +5097,46 @@ class Bridge final {
}
};
template
+ class WithGenericMethod_SetUseSslForImap : public BaseClass {
+ private:
+ void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
+ public:
+ WithGenericMethod_SetUseSslForImap() {
+ ::grpc::Service::MarkMethodGeneric(42);
+ }
+ ~WithGenericMethod_SetUseSslForImap() override {
+ BaseClassMustBeDerivedFromService(this);
+ }
+ // disable synchronous version of this method
+ ::grpc::Status SetUseSslForImap(::grpc::ServerContext* /*context*/, const ::google::protobuf::BoolValue* /*request*/, ::google::protobuf::Empty* /*response*/) override {
+ abort();
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+ }
+ };
+ template
+ class WithGenericMethod_UseSslForImap : public BaseClass {
+ private:
+ void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
+ public:
+ WithGenericMethod_UseSslForImap() {
+ ::grpc::Service::MarkMethodGeneric(43);
+ }
+ ~WithGenericMethod_UseSslForImap() override {
+ BaseClassMustBeDerivedFromService(this);
+ }
+ // disable synchronous version of this method
+ ::grpc::Status UseSslForImap(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::google::protobuf::BoolValue* /*response*/) override {
+ abort();
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+ }
+ };
+ template
class WithGenericMethod_Hostname : public BaseClass {
private:
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithGenericMethod_Hostname() {
- ::grpc::Service::MarkMethodGeneric(42);
+ ::grpc::Service::MarkMethodGeneric(44);
}
~WithGenericMethod_Hostname() override {
BaseClassMustBeDerivedFromService(this);
@@ -4977,7 +5153,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithGenericMethod_ImapPort() {
- ::grpc::Service::MarkMethodGeneric(43);
+ ::grpc::Service::MarkMethodGeneric(45);
}
~WithGenericMethod_ImapPort() override {
BaseClassMustBeDerivedFromService(this);
@@ -4994,7 +5170,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithGenericMethod_SmtpPort() {
- ::grpc::Service::MarkMethodGeneric(44);
+ ::grpc::Service::MarkMethodGeneric(46);
}
~WithGenericMethod_SmtpPort() override {
BaseClassMustBeDerivedFromService(this);
@@ -5011,7 +5187,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithGenericMethod_ChangePorts() {
- ::grpc::Service::MarkMethodGeneric(45);
+ ::grpc::Service::MarkMethodGeneric(47);
}
~WithGenericMethod_ChangePorts() override {
BaseClassMustBeDerivedFromService(this);
@@ -5028,7 +5204,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithGenericMethod_IsPortFree() {
- ::grpc::Service::MarkMethodGeneric(46);
+ ::grpc::Service::MarkMethodGeneric(48);
}
~WithGenericMethod_IsPortFree() override {
BaseClassMustBeDerivedFromService(this);
@@ -5045,7 +5221,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithGenericMethod_AvailableKeychains() {
- ::grpc::Service::MarkMethodGeneric(47);
+ ::grpc::Service::MarkMethodGeneric(49);
}
~WithGenericMethod_AvailableKeychains() override {
BaseClassMustBeDerivedFromService(this);
@@ -5062,7 +5238,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithGenericMethod_SetCurrentKeychain() {
- ::grpc::Service::MarkMethodGeneric(48);
+ ::grpc::Service::MarkMethodGeneric(50);
}
~WithGenericMethod_SetCurrentKeychain() override {
BaseClassMustBeDerivedFromService(this);
@@ -5079,7 +5255,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithGenericMethod_CurrentKeychain() {
- ::grpc::Service::MarkMethodGeneric(49);
+ ::grpc::Service::MarkMethodGeneric(51);
}
~WithGenericMethod_CurrentKeychain() override {
BaseClassMustBeDerivedFromService(this);
@@ -5096,7 +5272,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithGenericMethod_GetUserList() {
- ::grpc::Service::MarkMethodGeneric(50);
+ ::grpc::Service::MarkMethodGeneric(52);
}
~WithGenericMethod_GetUserList() override {
BaseClassMustBeDerivedFromService(this);
@@ -5113,7 +5289,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithGenericMethod_GetUser() {
- ::grpc::Service::MarkMethodGeneric(51);
+ ::grpc::Service::MarkMethodGeneric(53);
}
~WithGenericMethod_GetUser() override {
BaseClassMustBeDerivedFromService(this);
@@ -5130,7 +5306,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithGenericMethod_SetUserSplitMode() {
- ::grpc::Service::MarkMethodGeneric(52);
+ ::grpc::Service::MarkMethodGeneric(54);
}
~WithGenericMethod_SetUserSplitMode() override {
BaseClassMustBeDerivedFromService(this);
@@ -5147,7 +5323,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithGenericMethod_LogoutUser() {
- ::grpc::Service::MarkMethodGeneric(53);
+ ::grpc::Service::MarkMethodGeneric(55);
}
~WithGenericMethod_LogoutUser() override {
BaseClassMustBeDerivedFromService(this);
@@ -5164,7 +5340,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithGenericMethod_RemoveUser() {
- ::grpc::Service::MarkMethodGeneric(54);
+ ::grpc::Service::MarkMethodGeneric(56);
}
~WithGenericMethod_RemoveUser() override {
BaseClassMustBeDerivedFromService(this);
@@ -5181,7 +5357,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithGenericMethod_ConfigureUserAppleMail() {
- ::grpc::Service::MarkMethodGeneric(55);
+ ::grpc::Service::MarkMethodGeneric(57);
}
~WithGenericMethod_ConfigureUserAppleMail() override {
BaseClassMustBeDerivedFromService(this);
@@ -5198,7 +5374,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithGenericMethod_RunEventStream() {
- ::grpc::Service::MarkMethodGeneric(56);
+ ::grpc::Service::MarkMethodGeneric(58);
}
~WithGenericMethod_RunEventStream() override {
BaseClassMustBeDerivedFromService(this);
@@ -5215,7 +5391,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithGenericMethod_StopEventStream() {
- ::grpc::Service::MarkMethodGeneric(57);
+ ::grpc::Service::MarkMethodGeneric(59);
}
~WithGenericMethod_StopEventStream() override {
BaseClassMustBeDerivedFromService(this);
@@ -6067,12 +6243,52 @@ class Bridge final {
}
};
template
+ class WithRawMethod_SetUseSslForImap : public BaseClass {
+ private:
+ void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
+ public:
+ WithRawMethod_SetUseSslForImap() {
+ ::grpc::Service::MarkMethodRaw(42);
+ }
+ ~WithRawMethod_SetUseSslForImap() override {
+ BaseClassMustBeDerivedFromService(this);
+ }
+ // disable synchronous version of this method
+ ::grpc::Status SetUseSslForImap(::grpc::ServerContext* /*context*/, const ::google::protobuf::BoolValue* /*request*/, ::google::protobuf::Empty* /*response*/) override {
+ abort();
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+ }
+ void RequestSetUseSslForImap(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+ ::grpc::Service::RequestAsyncUnary(42, context, request, response, new_call_cq, notification_cq, tag);
+ }
+ };
+ template
+ class WithRawMethod_UseSslForImap : public BaseClass {
+ private:
+ void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
+ public:
+ WithRawMethod_UseSslForImap() {
+ ::grpc::Service::MarkMethodRaw(43);
+ }
+ ~WithRawMethod_UseSslForImap() override {
+ BaseClassMustBeDerivedFromService(this);
+ }
+ // disable synchronous version of this method
+ ::grpc::Status UseSslForImap(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::google::protobuf::BoolValue* /*response*/) override {
+ abort();
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+ }
+ void RequestUseSslForImap(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+ ::grpc::Service::RequestAsyncUnary(43, context, request, response, new_call_cq, notification_cq, tag);
+ }
+ };
+ template
class WithRawMethod_Hostname : public BaseClass {
private:
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawMethod_Hostname() {
- ::grpc::Service::MarkMethodRaw(42);
+ ::grpc::Service::MarkMethodRaw(44);
}
~WithRawMethod_Hostname() override {
BaseClassMustBeDerivedFromService(this);
@@ -6083,7 +6299,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestHostname(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(42, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(44, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -6092,7 +6308,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawMethod_ImapPort() {
- ::grpc::Service::MarkMethodRaw(43);
+ ::grpc::Service::MarkMethodRaw(45);
}
~WithRawMethod_ImapPort() override {
BaseClassMustBeDerivedFromService(this);
@@ -6103,7 +6319,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestImapPort(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(43, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(45, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -6112,7 +6328,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawMethod_SmtpPort() {
- ::grpc::Service::MarkMethodRaw(44);
+ ::grpc::Service::MarkMethodRaw(46);
}
~WithRawMethod_SmtpPort() override {
BaseClassMustBeDerivedFromService(this);
@@ -6123,7 +6339,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestSmtpPort(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(44, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(46, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -6132,7 +6348,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawMethod_ChangePorts() {
- ::grpc::Service::MarkMethodRaw(45);
+ ::grpc::Service::MarkMethodRaw(47);
}
~WithRawMethod_ChangePorts() override {
BaseClassMustBeDerivedFromService(this);
@@ -6143,7 +6359,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestChangePorts(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(45, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(47, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -6152,7 +6368,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawMethod_IsPortFree() {
- ::grpc::Service::MarkMethodRaw(46);
+ ::grpc::Service::MarkMethodRaw(48);
}
~WithRawMethod_IsPortFree() override {
BaseClassMustBeDerivedFromService(this);
@@ -6163,7 +6379,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestIsPortFree(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(46, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(48, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -6172,7 +6388,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawMethod_AvailableKeychains() {
- ::grpc::Service::MarkMethodRaw(47);
+ ::grpc::Service::MarkMethodRaw(49);
}
~WithRawMethod_AvailableKeychains() override {
BaseClassMustBeDerivedFromService(this);
@@ -6183,7 +6399,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestAvailableKeychains(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(47, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(49, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -6192,7 +6408,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawMethod_SetCurrentKeychain() {
- ::grpc::Service::MarkMethodRaw(48);
+ ::grpc::Service::MarkMethodRaw(50);
}
~WithRawMethod_SetCurrentKeychain() override {
BaseClassMustBeDerivedFromService(this);
@@ -6203,7 +6419,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestSetCurrentKeychain(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(48, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(50, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -6212,7 +6428,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawMethod_CurrentKeychain() {
- ::grpc::Service::MarkMethodRaw(49);
+ ::grpc::Service::MarkMethodRaw(51);
}
~WithRawMethod_CurrentKeychain() override {
BaseClassMustBeDerivedFromService(this);
@@ -6223,7 +6439,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestCurrentKeychain(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(49, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(51, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -6232,7 +6448,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawMethod_GetUserList() {
- ::grpc::Service::MarkMethodRaw(50);
+ ::grpc::Service::MarkMethodRaw(52);
}
~WithRawMethod_GetUserList() override {
BaseClassMustBeDerivedFromService(this);
@@ -6243,7 +6459,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestGetUserList(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(50, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(52, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -6252,7 +6468,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawMethod_GetUser() {
- ::grpc::Service::MarkMethodRaw(51);
+ ::grpc::Service::MarkMethodRaw(53);
}
~WithRawMethod_GetUser() override {
BaseClassMustBeDerivedFromService(this);
@@ -6263,7 +6479,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestGetUser(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(51, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(53, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -6272,7 +6488,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawMethod_SetUserSplitMode() {
- ::grpc::Service::MarkMethodRaw(52);
+ ::grpc::Service::MarkMethodRaw(54);
}
~WithRawMethod_SetUserSplitMode() override {
BaseClassMustBeDerivedFromService(this);
@@ -6283,7 +6499,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestSetUserSplitMode(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(52, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(54, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -6292,7 +6508,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawMethod_LogoutUser() {
- ::grpc::Service::MarkMethodRaw(53);
+ ::grpc::Service::MarkMethodRaw(55);
}
~WithRawMethod_LogoutUser() override {
BaseClassMustBeDerivedFromService(this);
@@ -6303,7 +6519,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestLogoutUser(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(53, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(55, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -6312,7 +6528,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawMethod_RemoveUser() {
- ::grpc::Service::MarkMethodRaw(54);
+ ::grpc::Service::MarkMethodRaw(56);
}
~WithRawMethod_RemoveUser() override {
BaseClassMustBeDerivedFromService(this);
@@ -6323,7 +6539,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestRemoveUser(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(54, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(56, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -6332,7 +6548,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawMethod_ConfigureUserAppleMail() {
- ::grpc::Service::MarkMethodRaw(55);
+ ::grpc::Service::MarkMethodRaw(57);
}
~WithRawMethod_ConfigureUserAppleMail() override {
BaseClassMustBeDerivedFromService(this);
@@ -6343,7 +6559,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestConfigureUserAppleMail(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(55, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(57, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -6352,7 +6568,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawMethod_RunEventStream() {
- ::grpc::Service::MarkMethodRaw(56);
+ ::grpc::Service::MarkMethodRaw(58);
}
~WithRawMethod_RunEventStream() override {
BaseClassMustBeDerivedFromService(this);
@@ -6363,7 +6579,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestRunEventStream(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncWriter< ::grpc::ByteBuffer>* writer, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncServerStreaming(56, context, request, writer, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncServerStreaming(58, context, request, writer, new_call_cq, notification_cq, tag);
}
};
template
@@ -6372,7 +6588,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawMethod_StopEventStream() {
- ::grpc::Service::MarkMethodRaw(57);
+ ::grpc::Service::MarkMethodRaw(59);
}
~WithRawMethod_StopEventStream() override {
BaseClassMustBeDerivedFromService(this);
@@ -6383,7 +6599,7 @@ class Bridge final {
return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
}
void RequestStopEventStream(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
- ::grpc::Service::RequestAsyncUnary(57, context, request, response, new_call_cq, notification_cq, tag);
+ ::grpc::Service::RequestAsyncUnary(59, context, request, response, new_call_cq, notification_cq, tag);
}
};
template
@@ -7311,12 +7527,56 @@ class Bridge final {
::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; }
};
template
+ class WithRawCallbackMethod_SetUseSslForImap : public BaseClass {
+ private:
+ void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
+ public:
+ WithRawCallbackMethod_SetUseSslForImap() {
+ ::grpc::Service::MarkMethodRawCallback(42,
+ new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
+ [this](
+ ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->SetUseSslForImap(context, request, response); }));
+ }
+ ~WithRawCallbackMethod_SetUseSslForImap() override {
+ BaseClassMustBeDerivedFromService(this);
+ }
+ // disable synchronous version of this method
+ ::grpc::Status SetUseSslForImap(::grpc::ServerContext* /*context*/, const ::google::protobuf::BoolValue* /*request*/, ::google::protobuf::Empty* /*response*/) override {
+ abort();
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+ }
+ virtual ::grpc::ServerUnaryReactor* SetUseSslForImap(
+ ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; }
+ };
+ template
+ class WithRawCallbackMethod_UseSslForImap : public BaseClass {
+ private:
+ void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
+ public:
+ WithRawCallbackMethod_UseSslForImap() {
+ ::grpc::Service::MarkMethodRawCallback(43,
+ new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
+ [this](
+ ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->UseSslForImap(context, request, response); }));
+ }
+ ~WithRawCallbackMethod_UseSslForImap() override {
+ BaseClassMustBeDerivedFromService(this);
+ }
+ // disable synchronous version of this method
+ ::grpc::Status UseSslForImap(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::google::protobuf::BoolValue* /*response*/) override {
+ abort();
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+ }
+ virtual ::grpc::ServerUnaryReactor* UseSslForImap(
+ ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; }
+ };
+ template
class WithRawCallbackMethod_Hostname : public BaseClass {
private:
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawCallbackMethod_Hostname() {
- ::grpc::Service::MarkMethodRawCallback(42,
+ ::grpc::Service::MarkMethodRawCallback(44,
new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
[this](
::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->Hostname(context, request, response); }));
@@ -7338,7 +7598,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawCallbackMethod_ImapPort() {
- ::grpc::Service::MarkMethodRawCallback(43,
+ ::grpc::Service::MarkMethodRawCallback(45,
new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
[this](
::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->ImapPort(context, request, response); }));
@@ -7360,7 +7620,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawCallbackMethod_SmtpPort() {
- ::grpc::Service::MarkMethodRawCallback(44,
+ ::grpc::Service::MarkMethodRawCallback(46,
new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
[this](
::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->SmtpPort(context, request, response); }));
@@ -7382,7 +7642,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawCallbackMethod_ChangePorts() {
- ::grpc::Service::MarkMethodRawCallback(45,
+ ::grpc::Service::MarkMethodRawCallback(47,
new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
[this](
::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->ChangePorts(context, request, response); }));
@@ -7404,7 +7664,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawCallbackMethod_IsPortFree() {
- ::grpc::Service::MarkMethodRawCallback(46,
+ ::grpc::Service::MarkMethodRawCallback(48,
new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
[this](
::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->IsPortFree(context, request, response); }));
@@ -7426,7 +7686,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawCallbackMethod_AvailableKeychains() {
- ::grpc::Service::MarkMethodRawCallback(47,
+ ::grpc::Service::MarkMethodRawCallback(49,
new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
[this](
::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->AvailableKeychains(context, request, response); }));
@@ -7448,7 +7708,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawCallbackMethod_SetCurrentKeychain() {
- ::grpc::Service::MarkMethodRawCallback(48,
+ ::grpc::Service::MarkMethodRawCallback(50,
new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
[this](
::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->SetCurrentKeychain(context, request, response); }));
@@ -7470,7 +7730,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawCallbackMethod_CurrentKeychain() {
- ::grpc::Service::MarkMethodRawCallback(49,
+ ::grpc::Service::MarkMethodRawCallback(51,
new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
[this](
::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->CurrentKeychain(context, request, response); }));
@@ -7492,7 +7752,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawCallbackMethod_GetUserList() {
- ::grpc::Service::MarkMethodRawCallback(50,
+ ::grpc::Service::MarkMethodRawCallback(52,
new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
[this](
::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->GetUserList(context, request, response); }));
@@ -7514,7 +7774,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawCallbackMethod_GetUser() {
- ::grpc::Service::MarkMethodRawCallback(51,
+ ::grpc::Service::MarkMethodRawCallback(53,
new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
[this](
::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->GetUser(context, request, response); }));
@@ -7536,7 +7796,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawCallbackMethod_SetUserSplitMode() {
- ::grpc::Service::MarkMethodRawCallback(52,
+ ::grpc::Service::MarkMethodRawCallback(54,
new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
[this](
::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->SetUserSplitMode(context, request, response); }));
@@ -7558,7 +7818,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawCallbackMethod_LogoutUser() {
- ::grpc::Service::MarkMethodRawCallback(53,
+ ::grpc::Service::MarkMethodRawCallback(55,
new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
[this](
::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->LogoutUser(context, request, response); }));
@@ -7580,7 +7840,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawCallbackMethod_RemoveUser() {
- ::grpc::Service::MarkMethodRawCallback(54,
+ ::grpc::Service::MarkMethodRawCallback(56,
new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
[this](
::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->RemoveUser(context, request, response); }));
@@ -7602,7 +7862,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawCallbackMethod_ConfigureUserAppleMail() {
- ::grpc::Service::MarkMethodRawCallback(55,
+ ::grpc::Service::MarkMethodRawCallback(57,
new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
[this](
::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->ConfigureUserAppleMail(context, request, response); }));
@@ -7624,7 +7884,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawCallbackMethod_RunEventStream() {
- ::grpc::Service::MarkMethodRawCallback(56,
+ ::grpc::Service::MarkMethodRawCallback(58,
new ::grpc::internal::CallbackServerStreamingHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
[this](
::grpc::CallbackServerContext* context, const::grpc::ByteBuffer* request) { return this->RunEventStream(context, request); }));
@@ -7646,7 +7906,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithRawCallbackMethod_StopEventStream() {
- ::grpc::Service::MarkMethodRawCallback(57,
+ ::grpc::Service::MarkMethodRawCallback(59,
new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
[this](
::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->StopEventStream(context, request, response); }));
@@ -8797,12 +9057,66 @@ class Bridge final {
virtual ::grpc::Status StreamedUseSslForSmtp(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::google::protobuf::Empty,::google::protobuf::BoolValue>* server_unary_streamer) = 0;
};
template
+ class WithStreamedUnaryMethod_SetUseSslForImap : public BaseClass {
+ private:
+ void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
+ public:
+ WithStreamedUnaryMethod_SetUseSslForImap() {
+ ::grpc::Service::MarkMethodStreamed(42,
+ new ::grpc::internal::StreamedUnaryHandler<
+ ::google::protobuf::BoolValue, ::google::protobuf::Empty>(
+ [this](::grpc::ServerContext* context,
+ ::grpc::ServerUnaryStreamer<
+ ::google::protobuf::BoolValue, ::google::protobuf::Empty>* streamer) {
+ return this->StreamedSetUseSslForImap(context,
+ streamer);
+ }));
+ }
+ ~WithStreamedUnaryMethod_SetUseSslForImap() override {
+ BaseClassMustBeDerivedFromService(this);
+ }
+ // disable regular version of this method
+ ::grpc::Status SetUseSslForImap(::grpc::ServerContext* /*context*/, const ::google::protobuf::BoolValue* /*request*/, ::google::protobuf::Empty* /*response*/) override {
+ abort();
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+ }
+ // replace default version of method with streamed unary
+ virtual ::grpc::Status StreamedSetUseSslForImap(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::google::protobuf::BoolValue,::google::protobuf::Empty>* server_unary_streamer) = 0;
+ };
+ template
+ class WithStreamedUnaryMethod_UseSslForImap : public BaseClass {
+ private:
+ void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
+ public:
+ WithStreamedUnaryMethod_UseSslForImap() {
+ ::grpc::Service::MarkMethodStreamed(43,
+ new ::grpc::internal::StreamedUnaryHandler<
+ ::google::protobuf::Empty, ::google::protobuf::BoolValue>(
+ [this](::grpc::ServerContext* context,
+ ::grpc::ServerUnaryStreamer<
+ ::google::protobuf::Empty, ::google::protobuf::BoolValue>* streamer) {
+ return this->StreamedUseSslForImap(context,
+ streamer);
+ }));
+ }
+ ~WithStreamedUnaryMethod_UseSslForImap() override {
+ BaseClassMustBeDerivedFromService(this);
+ }
+ // disable regular version of this method
+ ::grpc::Status UseSslForImap(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::google::protobuf::BoolValue* /*response*/) override {
+ abort();
+ return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+ }
+ // replace default version of method with streamed unary
+ virtual ::grpc::Status StreamedUseSslForImap(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::google::protobuf::Empty,::google::protobuf::BoolValue>* server_unary_streamer) = 0;
+ };
+ template
class WithStreamedUnaryMethod_Hostname : public BaseClass {
private:
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithStreamedUnaryMethod_Hostname() {
- ::grpc::Service::MarkMethodStreamed(42,
+ ::grpc::Service::MarkMethodStreamed(44,
new ::grpc::internal::StreamedUnaryHandler<
::google::protobuf::Empty, ::google::protobuf::StringValue>(
[this](::grpc::ServerContext* context,
@@ -8829,7 +9143,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithStreamedUnaryMethod_ImapPort() {
- ::grpc::Service::MarkMethodStreamed(43,
+ ::grpc::Service::MarkMethodStreamed(45,
new ::grpc::internal::StreamedUnaryHandler<
::google::protobuf::Empty, ::google::protobuf::Int32Value>(
[this](::grpc::ServerContext* context,
@@ -8856,7 +9170,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithStreamedUnaryMethod_SmtpPort() {
- ::grpc::Service::MarkMethodStreamed(44,
+ ::grpc::Service::MarkMethodStreamed(46,
new ::grpc::internal::StreamedUnaryHandler<
::google::protobuf::Empty, ::google::protobuf::Int32Value>(
[this](::grpc::ServerContext* context,
@@ -8883,7 +9197,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithStreamedUnaryMethod_ChangePorts() {
- ::grpc::Service::MarkMethodStreamed(45,
+ ::grpc::Service::MarkMethodStreamed(47,
new ::grpc::internal::StreamedUnaryHandler<
::grpc::ChangePortsRequest, ::google::protobuf::Empty>(
[this](::grpc::ServerContext* context,
@@ -8910,7 +9224,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithStreamedUnaryMethod_IsPortFree() {
- ::grpc::Service::MarkMethodStreamed(46,
+ ::grpc::Service::MarkMethodStreamed(48,
new ::grpc::internal::StreamedUnaryHandler<
::google::protobuf::Int32Value, ::google::protobuf::BoolValue>(
[this](::grpc::ServerContext* context,
@@ -8937,7 +9251,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithStreamedUnaryMethod_AvailableKeychains() {
- ::grpc::Service::MarkMethodStreamed(47,
+ ::grpc::Service::MarkMethodStreamed(49,
new ::grpc::internal::StreamedUnaryHandler<
::google::protobuf::Empty, ::grpc::AvailableKeychainsResponse>(
[this](::grpc::ServerContext* context,
@@ -8964,7 +9278,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithStreamedUnaryMethod_SetCurrentKeychain() {
- ::grpc::Service::MarkMethodStreamed(48,
+ ::grpc::Service::MarkMethodStreamed(50,
new ::grpc::internal::StreamedUnaryHandler<
::google::protobuf::StringValue, ::google::protobuf::Empty>(
[this](::grpc::ServerContext* context,
@@ -8991,7 +9305,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithStreamedUnaryMethod_CurrentKeychain() {
- ::grpc::Service::MarkMethodStreamed(49,
+ ::grpc::Service::MarkMethodStreamed(51,
new ::grpc::internal::StreamedUnaryHandler<
::google::protobuf::Empty, ::google::protobuf::StringValue>(
[this](::grpc::ServerContext* context,
@@ -9018,7 +9332,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithStreamedUnaryMethod_GetUserList() {
- ::grpc::Service::MarkMethodStreamed(50,
+ ::grpc::Service::MarkMethodStreamed(52,
new ::grpc::internal::StreamedUnaryHandler<
::google::protobuf::Empty, ::grpc::UserListResponse>(
[this](::grpc::ServerContext* context,
@@ -9045,7 +9359,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithStreamedUnaryMethod_GetUser() {
- ::grpc::Service::MarkMethodStreamed(51,
+ ::grpc::Service::MarkMethodStreamed(53,
new ::grpc::internal::StreamedUnaryHandler<
::google::protobuf::StringValue, ::grpc::User>(
[this](::grpc::ServerContext* context,
@@ -9072,7 +9386,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithStreamedUnaryMethod_SetUserSplitMode() {
- ::grpc::Service::MarkMethodStreamed(52,
+ ::grpc::Service::MarkMethodStreamed(54,
new ::grpc::internal::StreamedUnaryHandler<
::grpc::UserSplitModeRequest, ::google::protobuf::Empty>(
[this](::grpc::ServerContext* context,
@@ -9099,7 +9413,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithStreamedUnaryMethod_LogoutUser() {
- ::grpc::Service::MarkMethodStreamed(53,
+ ::grpc::Service::MarkMethodStreamed(55,
new ::grpc::internal::StreamedUnaryHandler<
::google::protobuf::StringValue, ::google::protobuf::Empty>(
[this](::grpc::ServerContext* context,
@@ -9126,7 +9440,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithStreamedUnaryMethod_RemoveUser() {
- ::grpc::Service::MarkMethodStreamed(54,
+ ::grpc::Service::MarkMethodStreamed(56,
new ::grpc::internal::StreamedUnaryHandler<
::google::protobuf::StringValue, ::google::protobuf::Empty>(
[this](::grpc::ServerContext* context,
@@ -9153,7 +9467,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithStreamedUnaryMethod_ConfigureUserAppleMail() {
- ::grpc::Service::MarkMethodStreamed(55,
+ ::grpc::Service::MarkMethodStreamed(57,
new ::grpc::internal::StreamedUnaryHandler<
::grpc::ConfigureAppleMailRequest, ::google::protobuf::Empty>(
[this](::grpc::ServerContext* context,
@@ -9180,7 +9494,7 @@ class Bridge final {
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithStreamedUnaryMethod_StopEventStream() {
- ::grpc::Service::MarkMethodStreamed(57,
+ ::grpc::Service::MarkMethodStreamed(59,
new ::grpc::internal::StreamedUnaryHandler<
::google::protobuf::Empty, ::google::protobuf::Empty>(
[this](::grpc::ServerContext* context,
@@ -9201,14 +9515,14 @@ class Bridge final {
// replace default version of method with streamed unary
virtual ::grpc::Status StreamedStopEventStream(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::google::protobuf::Empty,::google::protobuf::Empty>* server_unary_streamer) = 0;
};
- typedef WithStreamedUnaryMethod_CheckTokens > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedUnaryService;
+ typedef WithStreamedUnaryMethod_CheckTokens > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedUnaryService;
template
class WithSplitStreamingMethod_RunEventStream : public BaseClass {
private:
void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
public:
WithSplitStreamingMethod_RunEventStream() {
- ::grpc::Service::MarkMethodStreamed(56,
+ ::grpc::Service::MarkMethodStreamed(58,
new ::grpc::internal::SplitServerStreamingHandler<
::grpc::EventStreamRequest, ::grpc::StreamEvent>(
[this](::grpc::ServerContext* context,
@@ -9230,7 +9544,7 @@ class Bridge final {
virtual ::grpc::Status StreamedRunEventStream(::grpc::ServerContext* context, ::grpc::ServerSplitStreamer< ::grpc::EventStreamRequest,::grpc::StreamEvent>* server_split_streamer) = 0;
};
typedef WithSplitStreamingMethod_RunEventStream SplitStreamedService;
- typedef WithStreamedUnaryMethod_CheckTokens > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedService;
+ typedef WithStreamedUnaryMethod_CheckTokens > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedService;
};
} // namespace grpc
diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.pb.cc b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.pb.cc
index e98c43c9..210b30b6 100644
--- a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.pb.cc
+++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.pb.cc
@@ -579,6 +579,17 @@ struct UseSslForSmtpFinishedEventDefaultTypeInternal {
};
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 UseSslForSmtpFinishedEventDefaultTypeInternal _UseSslForSmtpFinishedEvent_default_instance_;
+PROTOBUF_CONSTEXPR UseSslForImapFinishedEvent::UseSslForImapFinishedEvent(
+ ::_pbi::ConstantInitialized) {}
+struct UseSslForImapFinishedEventDefaultTypeInternal {
+ PROTOBUF_CONSTEXPR UseSslForImapFinishedEventDefaultTypeInternal()
+ : _instance(::_pbi::ConstantInitialized{}) {}
+ ~UseSslForImapFinishedEventDefaultTypeInternal() {}
+ union {
+ UseSslForImapFinishedEvent _instance;
+ };
+};
+PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 UseSslForImapFinishedEventDefaultTypeInternal _UseSslForImapFinishedEvent_default_instance_;
PROTOBUF_CONSTEXPR ChangePortsFinishedEvent::ChangePortsFinishedEvent(
::_pbi::ConstantInitialized) {}
struct ChangePortsFinishedEventDefaultTypeInternal {
@@ -755,7 +766,7 @@ struct UserChangedEventDefaultTypeInternal {
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 UserChangedEventDefaultTypeInternal _UserChangedEvent_default_instance_;
} // namespace grpc
-static ::_pb::Metadata file_level_metadata_bridge_2eproto[57];
+static ::_pb::Metadata file_level_metadata_bridge_2eproto[58];
static const ::_pb::EnumDescriptor* file_level_enum_descriptors_bridge_2eproto[5];
static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_bridge_2eproto = nullptr;
@@ -1089,6 +1100,7 @@ const uint32_t TableStruct_bridge_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(p
::_pbi::kInvalidFieldOffsetTag,
::_pbi::kInvalidFieldOffsetTag,
::_pbi::kInvalidFieldOffsetTag,
+ ::_pbi::kInvalidFieldOffsetTag,
PROTOBUF_FIELD_OFFSET(::grpc::MailSettingsEvent, _impl_.event_),
~0u, // no _has_bits_
PROTOBUF_FIELD_OFFSET(::grpc::MailSettingsErrorEvent, _internal_metadata_),
@@ -1104,6 +1116,12 @@ const uint32_t TableStruct_bridge_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(p
~0u, // no _weak_field_map_
~0u, // no _inlined_string_donated_
~0u, // no _has_bits_
+ PROTOBUF_FIELD_OFFSET(::grpc::UseSslForImapFinishedEvent, _internal_metadata_),
+ ~0u, // no _extensions_
+ ~0u, // no _oneof_case_
+ ~0u, // no _weak_field_map_
+ ~0u, // no _inlined_string_donated_
+ ~0u, // no _has_bits_
PROTOBUF_FIELD_OFFSET(::grpc::ChangePortsFinishedEvent, _internal_metadata_),
~0u, // no _extensions_
~0u, // no _oneof_case_
@@ -1249,22 +1267,23 @@ static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protode
{ 306, -1, -1, sizeof(::grpc::ChangeLocalCacheFinishedEvent)},
{ 313, -1, -1, sizeof(::grpc::DiskCachePathChanged)},
{ 320, -1, -1, sizeof(::grpc::MailSettingsEvent)},
- { 330, -1, -1, sizeof(::grpc::MailSettingsErrorEvent)},
- { 337, -1, -1, sizeof(::grpc::UseSslForSmtpFinishedEvent)},
- { 343, -1, -1, sizeof(::grpc::ChangePortsFinishedEvent)},
- { 349, -1, -1, sizeof(::grpc::KeychainEvent)},
- { 359, -1, -1, sizeof(::grpc::ChangeKeychainFinishedEvent)},
- { 365, -1, -1, sizeof(::grpc::HasNoKeychainEvent)},
- { 371, -1, -1, sizeof(::grpc::RebuildKeychainEvent)},
- { 377, -1, -1, sizeof(::grpc::MailEvent)},
- { 388, -1, -1, sizeof(::grpc::NoActiveKeyForRecipientEvent)},
- { 395, -1, -1, sizeof(::grpc::AddressChangedEvent)},
- { 402, -1, -1, sizeof(::grpc::AddressChangedLogoutEvent)},
- { 409, -1, -1, sizeof(::grpc::ApiCertIssueEvent)},
- { 415, -1, -1, sizeof(::grpc::UserEvent)},
- { 425, -1, -1, sizeof(::grpc::ToggleSplitModeFinishedEvent)},
- { 432, -1, -1, sizeof(::grpc::UserDisconnectedEvent)},
- { 439, -1, -1, sizeof(::grpc::UserChangedEvent)},
+ { 331, -1, -1, sizeof(::grpc::MailSettingsErrorEvent)},
+ { 338, -1, -1, sizeof(::grpc::UseSslForSmtpFinishedEvent)},
+ { 344, -1, -1, sizeof(::grpc::UseSslForImapFinishedEvent)},
+ { 350, -1, -1, sizeof(::grpc::ChangePortsFinishedEvent)},
+ { 356, -1, -1, sizeof(::grpc::KeychainEvent)},
+ { 366, -1, -1, sizeof(::grpc::ChangeKeychainFinishedEvent)},
+ { 372, -1, -1, sizeof(::grpc::HasNoKeychainEvent)},
+ { 378, -1, -1, sizeof(::grpc::RebuildKeychainEvent)},
+ { 384, -1, -1, sizeof(::grpc::MailEvent)},
+ { 395, -1, -1, sizeof(::grpc::NoActiveKeyForRecipientEvent)},
+ { 402, -1, -1, sizeof(::grpc::AddressChangedEvent)},
+ { 409, -1, -1, sizeof(::grpc::AddressChangedLogoutEvent)},
+ { 416, -1, -1, sizeof(::grpc::ApiCertIssueEvent)},
+ { 422, -1, -1, sizeof(::grpc::UserEvent)},
+ { 432, -1, -1, sizeof(::grpc::ToggleSplitModeFinishedEvent)},
+ { 439, -1, -1, sizeof(::grpc::UserDisconnectedEvent)},
+ { 446, -1, -1, sizeof(::grpc::UserChangedEvent)},
};
static const ::_pb::Message* const file_default_instances[] = {
@@ -1311,6 +1330,7 @@ static const ::_pb::Message* const file_default_instances[] = {
&::grpc::_MailSettingsEvent_default_instance_._instance,
&::grpc::_MailSettingsErrorEvent_default_instance_._instance,
&::grpc::_UseSslForSmtpFinishedEvent_default_instance_._instance,
+ &::grpc::_UseSslForImapFinishedEvent_default_instance_._instance,
&::grpc::_ChangePortsFinishedEvent_default_instance_._instance,
&::grpc::_KeychainEvent_default_instance_._instance,
&::grpc::_ChangeKeychainFinishedEvent_default_instance_._instance,
@@ -1416,156 +1436,162 @@ const char descriptor_table_protodef_bridge_2eproto[] PROTOBUF_SECTION_VARIABLE(
"grpc.CacheErrorType\"!\n\037CacheLocationChan"
"geSuccessEvent\"4\n\035ChangeLocalCacheFinish"
"edEvent\022\023\n\013willRestart\030\001 \001(\010\"$\n\024DiskCach"
- "ePathChanged\022\014\n\004path\030\001 \001(\t\"\315\001\n\021MailSetti"
+ "ePathChanged\022\014\n\004path\030\001 \001(\t\"\220\002\n\021MailSetti"
"ngsEvent\022-\n\005error\030\001 \001(\0132\034.grpc.MailSetti"
"ngsErrorEventH\000\022A\n\025useSslForSmtpFinished"
"\030\002 \001(\0132 .grpc.UseSslForSmtpFinishedEvent"
"H\000\022=\n\023changePortsFinished\030\003 \001(\0132\036.grpc.C"
- "hangePortsFinishedEventH\000B\007\n\005event\"C\n\026Ma"
- "ilSettingsErrorEvent\022)\n\004type\030\001 \001(\0162\033.grp"
- "c.MailSettingsErrorType\"\034\n\032UseSslForSmtp"
- "FinishedEvent\"\032\n\030ChangePortsFinishedEven"
- "t\"\307\001\n\rKeychainEvent\022C\n\026changeKeychainFin"
- "ished\030\001 \001(\0132!.grpc.ChangeKeychainFinishe"
- "dEventH\000\0221\n\rhasNoKeychain\030\002 \001(\0132\030.grpc.H"
- "asNoKeychainEventH\000\0225\n\017rebuildKeychain\030\003"
- " \001(\0132\032.grpc.RebuildKeychainEventH\000B\007\n\005ev"
- "ent\"\035\n\033ChangeKeychainFinishedEvent\"\024\n\022Ha"
- "sNoKeychainEvent\"\026\n\024RebuildKeychainEvent"
- "\"\207\002\n\tMailEvent\022J\n\034noActiveKeyForRecipien"
- "tEvent\030\001 \001(\0132\".grpc.NoActiveKeyForRecipi"
- "entEventH\000\0223\n\016addressChanged\030\002 \001(\0132\031.grp"
- "c.AddressChangedEventH\000\022\?\n\024addressChange"
- "dLogout\030\003 \001(\0132\037.grpc.AddressChangedLogou"
- "tEventH\000\022/\n\014apiCertIssue\030\006 \001(\0132\027.grpc.Ap"
- "iCertIssueEventH\000B\007\n\005event\"-\n\034NoActiveKe"
- "yForRecipientEvent\022\r\n\005email\030\001 \001(\t\"&\n\023Add"
- "ressChangedEvent\022\017\n\007address\030\001 \001(\t\",\n\031Add"
- "ressChangedLogoutEvent\022\017\n\007address\030\001 \001(\t\""
- "\023\n\021ApiCertIssueEvent\"\303\001\n\tUserEvent\022E\n\027to"
- "ggleSplitModeFinished\030\001 \001(\0132\".grpc.Toggl"
- "eSplitModeFinishedEventH\000\0227\n\020userDisconn"
- "ected\030\002 \001(\0132\033.grpc.UserDisconnectedEvent"
- "H\000\022-\n\013userChanged\030\003 \001(\0132\026.grpc.UserChang"
- "edEventH\000B\007\n\005event\".\n\034ToggleSplitModeFin"
- "ishedEvent\022\016\n\006userID\030\001 \001(\t\")\n\025UserDiscon"
- "nectedEvent\022\020\n\010username\030\001 \001(\t\"\"\n\020UserCha"
- "ngedEvent\022\016\n\006userID\030\001 \001(\t*q\n\010LogLevel\022\r\n"
- "\tLOG_PANIC\020\000\022\r\n\tLOG_FATAL\020\001\022\r\n\tLOG_ERROR"
- "\020\002\022\014\n\010LOG_WARN\020\003\022\014\n\010LOG_INFO\020\004\022\r\n\tLOG_DE"
- "BUG\020\005\022\r\n\tLOG_TRACE\020\006*\242\001\n\016LoginErrorType\022"
- "\033\n\027USERNAME_PASSWORD_ERROR\020\000\022\r\n\tFREE_USE"
- "R\020\001\022\024\n\020CONNECTION_ERROR\020\002\022\r\n\tTFA_ERROR\020\003"
- "\022\r\n\tTFA_ABORT\020\004\022\027\n\023TWO_PASSWORDS_ERROR\020\005"
- "\022\027\n\023TWO_PASSWORDS_ABORT\020\006*[\n\017UpdateError"
- "Type\022\027\n\023UPDATE_MANUAL_ERROR\020\000\022\026\n\022UPDATE_"
- "FORCE_ERROR\020\001\022\027\n\023UPDATE_SILENT_ERROR\020\002*W"
- "\n\016CacheErrorType\022\033\n\027CACHE_UNAVAILABLE_ER"
- "ROR\020\000\022\031\n\025CACHE_CANT_MOVE_ERROR\020\001\022\r\n\tDISK"
- "_FULL\020\002*A\n\025MailSettingsErrorType\022\023\n\017IMAP"
- "_PORT_ISSUE\020\000\022\023\n\017SMTP_PORT_ISSUE\020\0012\233\037\n\006B"
- "ridge\022I\n\013CheckTokens\022\034.google.protobuf.S"
- "tringValue\032\034.google.protobuf.StringValue"
- "\022\?\n\013AddLogEntry\022\030.grpc.AddLogEntryReques"
- "t\032\026.google.protobuf.Empty\022:\n\010GuiReady\022\026."
- "google.protobuf.Empty\032\026.google.protobuf."
- "Empty\0226\n\004Quit\022\026.google.protobuf.Empty\032\026."
- "google.protobuf.Empty\0229\n\007Restart\022\026.googl"
- "e.protobuf.Empty\032\026.google.protobuf.Empty"
- "\022C\n\rShowOnStartup\022\026.google.protobuf.Empt"
- "y\032\032.google.protobuf.BoolValue\022F\n\020ShowSpl"
- "ashScreen\022\026.google.protobuf.Empty\032\032.goog"
- "le.protobuf.BoolValue\022E\n\017IsFirstGuiStart"
- "\022\026.google.protobuf.Empty\032\032.google.protob"
- "uf.BoolValue\022F\n\020SetIsAutostartOn\022\032.googl"
- "e.protobuf.BoolValue\032\026.google.protobuf.E"
- "mpty\022C\n\rIsAutostartOn\022\026.google.protobuf."
- "Empty\032\032.google.protobuf.BoolValue\022F\n\020Set"
- "IsBetaEnabled\022\032.google.protobuf.BoolValu"
- "e\032\026.google.protobuf.Empty\022C\n\rIsBetaEnabl"
- "ed\022\026.google.protobuf.Empty\032\032.google.prot"
- "obuf.BoolValue\022I\n\023SetIsAllMailVisible\022\032."
- "google.protobuf.BoolValue\032\026.google.proto"
- "buf.Empty\022F\n\020IsAllMailVisible\022\026.google.p"
- "rotobuf.Empty\032\032.google.protobuf.BoolValu"
- "e\022<\n\004GoOs\022\026.google.protobuf.Empty\032\034.goog"
- "le.protobuf.StringValue\022>\n\014TriggerReset\022"
- "\026.google.protobuf.Empty\032\026.google.protobu"
- "f.Empty\022\?\n\007Version\022\026.google.protobuf.Emp"
- "ty\032\034.google.protobuf.StringValue\022@\n\010Logs"
- "Path\022\026.google.protobuf.Empty\032\034.google.pr"
- "otobuf.StringValue\022C\n\013LicensePath\022\026.goog"
- "le.protobuf.Empty\032\034.google.protobuf.Stri"
- "ngValue\022L\n\024ReleaseNotesPageLink\022\026.google"
- ".protobuf.Empty\032\034.google.protobuf.String"
- "Value\022N\n\026DependencyLicensesLink\022\026.google"
- ".protobuf.Empty\032\034.google.protobuf.String"
- "Value\022G\n\017LandingPageLink\022\026.google.protob"
- "uf.Empty\032\034.google.protobuf.StringValue\022J"
- "\n\022SetColorSchemeName\022\034.google.protobuf.S"
- "tringValue\032\026.google.protobuf.Empty\022G\n\017Co"
- "lorSchemeName\022\026.google.protobuf.Empty\032\034."
- "google.protobuf.StringValue\022J\n\022CurrentEm"
- "ailClient\022\026.google.protobuf.Empty\032\034.goog"
- "le.protobuf.StringValue\022;\n\tReportBug\022\026.g"
- "rpc.ReportBugRequest\032\026.google.protobuf.E"
- "mpty\022E\n\rForceLauncher\022\034.google.protobuf."
- "StringValue\032\026.google.protobuf.Empty\022I\n\021S"
- "etMainExecutable\022\034.google.protobuf.Strin"
- "gValue\032\026.google.protobuf.Empty\0223\n\005Login\022"
- "\022.grpc.LoginRequest\032\026.google.protobuf.Em"
- "pty\0226\n\010Login2FA\022\022.grpc.LoginRequest\032\026.go"
- "ogle.protobuf.Empty\022=\n\017Login2Passwords\022\022"
- ".grpc.LoginRequest\032\026.google.protobuf.Emp"
- "ty\022=\n\nLoginAbort\022\027.grpc.LoginAbortReques"
- "t\032\026.google.protobuf.Empty\022=\n\013CheckUpdate"
- "\022\026.google.protobuf.Empty\032\026.google.protob"
- "uf.Empty\022\?\n\rInstallUpdate\022\026.google.proto"
- "buf.Empty\032\026.google.protobuf.Empty\022L\n\026Set"
- "IsAutomaticUpdateOn\022\032.google.protobuf.Bo"
- "olValue\032\026.google.protobuf.Empty\022I\n\023IsAut"
- "omaticUpdateOn\022\026.google.protobuf.Empty\032\032"
- ".google.protobuf.BoolValue\022E\n\rDiskCacheP"
- "ath\022\026.google.protobuf.Empty\032\034.google.pro"
- "tobuf.StringValue\022I\n\020ChangeLocalCache\022\035."
- "grpc.ChangeLocalCacheRequest\032\026.google.pr"
- "otobuf.Empty\022E\n\017SetIsDoHEnabled\022\032.google"
- ".protobuf.BoolValue\032\026.google.protobuf.Em"
- "pty\022B\n\014IsDoHEnabled\022\026.google.protobuf.Em"
- "pty\032\032.google.protobuf.BoolValue\022F\n\020SetUs"
- "eSslForSmtp\022\032.google.protobuf.BoolValue\032"
- "\026.google.protobuf.Empty\022C\n\rUseSslForSmtp"
- "\022\026.google.protobuf.Empty\032\032.google.protob"
- "uf.BoolValue\022@\n\010Hostname\022\026.google.protob"
- "uf.Empty\032\034.google.protobuf.StringValue\022\?"
- "\n\010ImapPort\022\026.google.protobuf.Empty\032\033.goo"
- "gle.protobuf.Int32Value\022\?\n\010SmtpPort\022\026.go"
- "ogle.protobuf.Empty\032\033.google.protobuf.In"
- "t32Value\022\?\n\013ChangePorts\022\030.grpc.ChangePor"
- "tsRequest\032\026.google.protobuf.Empty\022E\n\nIsP"
- "ortFree\022\033.google.protobuf.Int32Value\032\032.g"
- "oogle.protobuf.BoolValue\022N\n\022AvailableKey"
- "chains\022\026.google.protobuf.Empty\032 .grpc.Av"
- "ailableKeychainsResponse\022J\n\022SetCurrentKe"
- "ychain\022\034.google.protobuf.StringValue\032\026.g"
- "oogle.protobuf.Empty\022G\n\017CurrentKeychain\022"
- "\026.google.protobuf.Empty\032\034.google.protobu"
- "f.StringValue\022=\n\013GetUserList\022\026.google.pr"
- "otobuf.Empty\032\026.grpc.UserListResponse\0223\n\007"
- "GetUser\022\034.google.protobuf.StringValue\032\n."
- "grpc.User\022F\n\020SetUserSplitMode\022\032.grpc.Use"
- "rSplitModeRequest\032\026.google.protobuf.Empt"
- "y\022B\n\nLogoutUser\022\034.google.protobuf.String"
- "Value\032\026.google.protobuf.Empty\022B\n\nRemoveU"
- "ser\022\034.google.protobuf.StringValue\032\026.goog"
- "le.protobuf.Empty\022Q\n\026ConfigureUserAppleM"
- "ail\022\037.grpc.ConfigureAppleMailRequest\032\026.g"
- "oogle.protobuf.Empty\022\?\n\016RunEventStream\022\030"
- ".grpc.EventStreamRequest\032\021.grpc.StreamEv"
- "ent0\001\022A\n\017StopEventStream\022\026.google.protob"
- "uf.Empty\032\026.google.protobuf.EmptyB6Z4gith"
- "ub.com/ProtonMail/proton-bridge/v2/inter"
- "nal/grpcb\006proto3"
+ "hangePortsFinishedEventH\000\022A\n\025useSslForIm"
+ "apFinished\030\004 \001(\0132 .grpc.UseSslForImapFin"
+ "ishedEventH\000B\007\n\005event\"C\n\026MailSettingsErr"
+ "orEvent\022)\n\004type\030\001 \001(\0162\033.grpc.MailSetting"
+ "sErrorType\"\034\n\032UseSslForSmtpFinishedEvent"
+ "\"\034\n\032UseSslForImapFinishedEvent\"\032\n\030Change"
+ "PortsFinishedEvent\"\307\001\n\rKeychainEvent\022C\n\026"
+ "changeKeychainFinished\030\001 \001(\0132!.grpc.Chan"
+ "geKeychainFinishedEventH\000\0221\n\rhasNoKeycha"
+ "in\030\002 \001(\0132\030.grpc.HasNoKeychainEventH\000\0225\n\017"
+ "rebuildKeychain\030\003 \001(\0132\032.grpc.RebuildKeyc"
+ "hainEventH\000B\007\n\005event\"\035\n\033ChangeKeychainFi"
+ "nishedEvent\"\024\n\022HasNoKeychainEvent\"\026\n\024Reb"
+ "uildKeychainEvent\"\207\002\n\tMailEvent\022J\n\034noAct"
+ "iveKeyForRecipientEvent\030\001 \001(\0132\".grpc.NoA"
+ "ctiveKeyForRecipientEventH\000\0223\n\016addressCh"
+ "anged\030\002 \001(\0132\031.grpc.AddressChangedEventH\000"
+ "\022\?\n\024addressChangedLogout\030\003 \001(\0132\037.grpc.Ad"
+ "dressChangedLogoutEventH\000\022/\n\014apiCertIssu"
+ "e\030\006 \001(\0132\027.grpc.ApiCertIssueEventH\000B\007\n\005ev"
+ "ent\"-\n\034NoActiveKeyForRecipientEvent\022\r\n\005e"
+ "mail\030\001 \001(\t\"&\n\023AddressChangedEvent\022\017\n\007add"
+ "ress\030\001 \001(\t\",\n\031AddressChangedLogoutEvent\022"
+ "\017\n\007address\030\001 \001(\t\"\023\n\021ApiCertIssueEvent\"\303\001"
+ "\n\tUserEvent\022E\n\027toggleSplitModeFinished\030\001"
+ " \001(\0132\".grpc.ToggleSplitModeFinishedEvent"
+ "H\000\0227\n\020userDisconnected\030\002 \001(\0132\033.grpc.User"
+ "DisconnectedEventH\000\022-\n\013userChanged\030\003 \001(\013"
+ "2\026.grpc.UserChangedEventH\000B\007\n\005event\".\n\034T"
+ "oggleSplitModeFinishedEvent\022\016\n\006userID\030\001 "
+ "\001(\t\")\n\025UserDisconnectedEvent\022\020\n\010username"
+ "\030\001 \001(\t\"\"\n\020UserChangedEvent\022\016\n\006userID\030\001 \001"
+ "(\t*q\n\010LogLevel\022\r\n\tLOG_PANIC\020\000\022\r\n\tLOG_FAT"
+ "AL\020\001\022\r\n\tLOG_ERROR\020\002\022\014\n\010LOG_WARN\020\003\022\014\n\010LOG"
+ "_INFO\020\004\022\r\n\tLOG_DEBUG\020\005\022\r\n\tLOG_TRACE\020\006*\242\001"
+ "\n\016LoginErrorType\022\033\n\027USERNAME_PASSWORD_ER"
+ "ROR\020\000\022\r\n\tFREE_USER\020\001\022\024\n\020CONNECTION_ERROR"
+ "\020\002\022\r\n\tTFA_ERROR\020\003\022\r\n\tTFA_ABORT\020\004\022\027\n\023TWO_"
+ "PASSWORDS_ERROR\020\005\022\027\n\023TWO_PASSWORDS_ABORT"
+ "\020\006*[\n\017UpdateErrorType\022\027\n\023UPDATE_MANUAL_E"
+ "RROR\020\000\022\026\n\022UPDATE_FORCE_ERROR\020\001\022\027\n\023UPDATE"
+ "_SILENT_ERROR\020\002*W\n\016CacheErrorType\022\033\n\027CAC"
+ "HE_UNAVAILABLE_ERROR\020\000\022\031\n\025CACHE_CANT_MOV"
+ "E_ERROR\020\001\022\r\n\tDISK_FULL\020\002*A\n\025MailSettings"
+ "ErrorType\022\023\n\017IMAP_PORT_ISSUE\020\000\022\023\n\017SMTP_P"
+ "ORT_ISSUE\020\0012\250 \n\006Bridge\022I\n\013CheckTokens\022\034."
+ "google.protobuf.StringValue\032\034.google.pro"
+ "tobuf.StringValue\022\?\n\013AddLogEntry\022\030.grpc."
+ "AddLogEntryRequest\032\026.google.protobuf.Emp"
+ "ty\022:\n\010GuiReady\022\026.google.protobuf.Empty\032\026"
+ ".google.protobuf.Empty\0226\n\004Quit\022\026.google."
+ "protobuf.Empty\032\026.google.protobuf.Empty\0229"
+ "\n\007Restart\022\026.google.protobuf.Empty\032\026.goog"
+ "le.protobuf.Empty\022C\n\rShowOnStartup\022\026.goo"
+ "gle.protobuf.Empty\032\032.google.protobuf.Boo"
+ "lValue\022F\n\020ShowSplashScreen\022\026.google.prot"
+ "obuf.Empty\032\032.google.protobuf.BoolValue\022E"
+ "\n\017IsFirstGuiStart\022\026.google.protobuf.Empt"
+ "y\032\032.google.protobuf.BoolValue\022F\n\020SetIsAu"
+ "tostartOn\022\032.google.protobuf.BoolValue\032\026."
+ "google.protobuf.Empty\022C\n\rIsAutostartOn\022\026"
+ ".google.protobuf.Empty\032\032.google.protobuf"
+ ".BoolValue\022F\n\020SetIsBetaEnabled\022\032.google."
+ "protobuf.BoolValue\032\026.google.protobuf.Emp"
+ "ty\022C\n\rIsBetaEnabled\022\026.google.protobuf.Em"
+ "pty\032\032.google.protobuf.BoolValue\022I\n\023SetIs"
+ "AllMailVisible\022\032.google.protobuf.BoolVal"
+ "ue\032\026.google.protobuf.Empty\022F\n\020IsAllMailV"
+ "isible\022\026.google.protobuf.Empty\032\032.google."
+ "protobuf.BoolValue\022<\n\004GoOs\022\026.google.prot"
+ "obuf.Empty\032\034.google.protobuf.StringValue"
+ "\022>\n\014TriggerReset\022\026.google.protobuf.Empty"
+ "\032\026.google.protobuf.Empty\022\?\n\007Version\022\026.go"
+ "ogle.protobuf.Empty\032\034.google.protobuf.St"
+ "ringValue\022@\n\010LogsPath\022\026.google.protobuf."
+ "Empty\032\034.google.protobuf.StringValue\022C\n\013L"
+ "icensePath\022\026.google.protobuf.Empty\032\034.goo"
+ "gle.protobuf.StringValue\022L\n\024ReleaseNotes"
+ "PageLink\022\026.google.protobuf.Empty\032\034.googl"
+ "e.protobuf.StringValue\022N\n\026DependencyLice"
+ "nsesLink\022\026.google.protobuf.Empty\032\034.googl"
+ "e.protobuf.StringValue\022G\n\017LandingPageLin"
+ "k\022\026.google.protobuf.Empty\032\034.google.proto"
+ "buf.StringValue\022J\n\022SetColorSchemeName\022\034."
+ "google.protobuf.StringValue\032\026.google.pro"
+ "tobuf.Empty\022G\n\017ColorSchemeName\022\026.google."
+ "protobuf.Empty\032\034.google.protobuf.StringV"
+ "alue\022J\n\022CurrentEmailClient\022\026.google.prot"
+ "obuf.Empty\032\034.google.protobuf.StringValue"
+ "\022;\n\tReportBug\022\026.grpc.ReportBugRequest\032\026."
+ "google.protobuf.Empty\022E\n\rForceLauncher\022\034"
+ ".google.protobuf.StringValue\032\026.google.pr"
+ "otobuf.Empty\022I\n\021SetMainExecutable\022\034.goog"
+ "le.protobuf.StringValue\032\026.google.protobu"
+ "f.Empty\0223\n\005Login\022\022.grpc.LoginRequest\032\026.g"
+ "oogle.protobuf.Empty\0226\n\010Login2FA\022\022.grpc."
+ "LoginRequest\032\026.google.protobuf.Empty\022=\n\017"
+ "Login2Passwords\022\022.grpc.LoginRequest\032\026.go"
+ "ogle.protobuf.Empty\022=\n\nLoginAbort\022\027.grpc"
+ ".LoginAbortRequest\032\026.google.protobuf.Emp"
+ "ty\022=\n\013CheckUpdate\022\026.google.protobuf.Empt"
+ "y\032\026.google.protobuf.Empty\022\?\n\rInstallUpda"
+ "te\022\026.google.protobuf.Empty\032\026.google.prot"
+ "obuf.Empty\022L\n\026SetIsAutomaticUpdateOn\022\032.g"
+ "oogle.protobuf.BoolValue\032\026.google.protob"
+ "uf.Empty\022I\n\023IsAutomaticUpdateOn\022\026.google"
+ ".protobuf.Empty\032\032.google.protobuf.BoolVa"
+ "lue\022E\n\rDiskCachePath\022\026.google.protobuf.E"
+ "mpty\032\034.google.protobuf.StringValue\022I\n\020Ch"
+ "angeLocalCache\022\035.grpc.ChangeLocalCacheRe"
+ "quest\032\026.google.protobuf.Empty\022E\n\017SetIsDo"
+ "HEnabled\022\032.google.protobuf.BoolValue\032\026.g"
+ "oogle.protobuf.Empty\022B\n\014IsDoHEnabled\022\026.g"
+ "oogle.protobuf.Empty\032\032.google.protobuf.B"
+ "oolValue\022F\n\020SetUseSslForSmtp\022\032.google.pr"
+ "otobuf.BoolValue\032\026.google.protobuf.Empty"
+ "\022C\n\rUseSslForSmtp\022\026.google.protobuf.Empt"
+ "y\032\032.google.protobuf.BoolValue\022F\n\020SetUseS"
+ "slForImap\022\032.google.protobuf.BoolValue\032\026."
+ "google.protobuf.Empty\022C\n\rUseSslForImap\022\026"
+ ".google.protobuf.Empty\032\032.google.protobuf"
+ ".BoolValue\022@\n\010Hostname\022\026.google.protobuf"
+ ".Empty\032\034.google.protobuf.StringValue\022\?\n\010"
+ "ImapPort\022\026.google.protobuf.Empty\032\033.googl"
+ "e.protobuf.Int32Value\022\?\n\010SmtpPort\022\026.goog"
+ "le.protobuf.Empty\032\033.google.protobuf.Int3"
+ "2Value\022\?\n\013ChangePorts\022\030.grpc.ChangePorts"
+ "Request\032\026.google.protobuf.Empty\022E\n\nIsPor"
+ "tFree\022\033.google.protobuf.Int32Value\032\032.goo"
+ "gle.protobuf.BoolValue\022N\n\022AvailableKeych"
+ "ains\022\026.google.protobuf.Empty\032 .grpc.Avai"
+ "lableKeychainsResponse\022J\n\022SetCurrentKeyc"
+ "hain\022\034.google.protobuf.StringValue\032\026.goo"
+ "gle.protobuf.Empty\022G\n\017CurrentKeychain\022\026."
+ "google.protobuf.Empty\032\034.google.protobuf."
+ "StringValue\022=\n\013GetUserList\022\026.google.prot"
+ "obuf.Empty\032\026.grpc.UserListResponse\0223\n\007Ge"
+ "tUser\022\034.google.protobuf.StringValue\032\n.gr"
+ "pc.User\022F\n\020SetUserSplitMode\022\032.grpc.UserS"
+ "plitModeRequest\032\026.google.protobuf.Empty\022"
+ "B\n\nLogoutUser\022\034.google.protobuf.StringVa"
+ "lue\032\026.google.protobuf.Empty\022B\n\nRemoveUse"
+ "r\022\034.google.protobuf.StringValue\032\026.google"
+ ".protobuf.Empty\022Q\n\026ConfigureUserAppleMai"
+ "l\022\037.grpc.ConfigureAppleMailRequest\032\026.goo"
+ "gle.protobuf.Empty\022\?\n\016RunEventStream\022\030.g"
+ "rpc.EventStreamRequest\032\021.grpc.StreamEven"
+ "t0\001\022A\n\017StopEventStream\022\026.google.protobuf"
+ ".Empty\032\026.google.protobuf.EmptyB6Z4github"
+ ".com/ProtonMail/proton-bridge/v2/interna"
+ "l/grpcb\006proto3"
;
static const ::_pbi::DescriptorTable* const descriptor_table_bridge_2eproto_deps[2] = {
&::descriptor_table_google_2fprotobuf_2fempty_2eproto,
@@ -1573,9 +1599,9 @@ static const ::_pbi::DescriptorTable* const descriptor_table_bridge_2eproto_deps
};
static ::_pbi::once_flag descriptor_table_bridge_2eproto_once;
const ::_pbi::DescriptorTable descriptor_table_bridge_2eproto = {
- false, false, 9496, descriptor_table_protodef_bridge_2eproto,
+ false, false, 9734, descriptor_table_protodef_bridge_2eproto,
"bridge.proto",
- &descriptor_table_bridge_2eproto_once, descriptor_table_bridge_2eproto_deps, 2, 57,
+ &descriptor_table_bridge_2eproto_once, descriptor_table_bridge_2eproto_deps, 2, 58,
schemas, file_default_instances, TableStruct_bridge_2eproto::offsets,
file_level_metadata_bridge_2eproto, file_level_enum_descriptors_bridge_2eproto,
file_level_service_descriptors_bridge_2eproto,
@@ -10122,6 +10148,7 @@ class MailSettingsEvent::_Internal {
static const ::grpc::MailSettingsErrorEvent& error(const MailSettingsEvent* msg);
static const ::grpc::UseSslForSmtpFinishedEvent& usesslforsmtpfinished(const MailSettingsEvent* msg);
static const ::grpc::ChangePortsFinishedEvent& changeportsfinished(const MailSettingsEvent* msg);
+ static const ::grpc::UseSslForImapFinishedEvent& usesslforimapfinished(const MailSettingsEvent* msg);
};
const ::grpc::MailSettingsErrorEvent&
@@ -10136,6 +10163,10 @@ const ::grpc::ChangePortsFinishedEvent&
MailSettingsEvent::_Internal::changeportsfinished(const MailSettingsEvent* msg) {
return *msg->_impl_.event_.changeportsfinished_;
}
+const ::grpc::UseSslForImapFinishedEvent&
+MailSettingsEvent::_Internal::usesslforimapfinished(const MailSettingsEvent* msg) {
+ return *msg->_impl_.event_.usesslforimapfinished_;
+}
void MailSettingsEvent::set_allocated_error(::grpc::MailSettingsErrorEvent* error) {
::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
clear_event();
@@ -10181,6 +10212,21 @@ void MailSettingsEvent::set_allocated_changeportsfinished(::grpc::ChangePortsFin
}
// @@protoc_insertion_point(field_set_allocated:grpc.MailSettingsEvent.changePortsFinished)
}
+void MailSettingsEvent::set_allocated_usesslforimapfinished(::grpc::UseSslForImapFinishedEvent* usesslforimapfinished) {
+ ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
+ clear_event();
+ if (usesslforimapfinished) {
+ ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
+ ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(usesslforimapfinished);
+ if (message_arena != submessage_arena) {
+ usesslforimapfinished = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
+ message_arena, usesslforimapfinished, submessage_arena);
+ }
+ set_has_usesslforimapfinished();
+ _impl_.event_.usesslforimapfinished_ = usesslforimapfinished;
+ }
+ // @@protoc_insertion_point(field_set_allocated:grpc.MailSettingsEvent.useSslForImapFinished)
+}
MailSettingsEvent::MailSettingsEvent(::PROTOBUF_NAMESPACE_ID::Arena* arena,
bool is_message_owned)
: ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
@@ -10213,6 +10259,11 @@ MailSettingsEvent::MailSettingsEvent(const MailSettingsEvent& from)
from._internal_changeportsfinished());
break;
}
+ case kUseSslForImapFinished: {
+ _this->_internal_mutable_usesslforimapfinished()->::grpc::UseSslForImapFinishedEvent::MergeFrom(
+ from._internal_usesslforimapfinished());
+ break;
+ }
case EVENT_NOT_SET: {
break;
}
@@ -10273,6 +10324,12 @@ void MailSettingsEvent::clear_event() {
}
break;
}
+ case kUseSslForImapFinished: {
+ if (GetArenaForAllocation() == nullptr) {
+ delete _impl_.event_.usesslforimapfinished_;
+ }
+ break;
+ }
case EVENT_NOT_SET: {
break;
}
@@ -10321,6 +10378,14 @@ const char* MailSettingsEvent::_InternalParse(const char* ptr, ::_pbi::ParseCont
} else
goto handle_unusual;
continue;
+ // .grpc.UseSslForImapFinishedEvent useSslForImapFinished = 4;
+ case 4:
+ if (PROTOBUF_PREDICT_TRUE(static_cast(tag) == 34)) {
+ ptr = ctx->ParseMessage(_internal_mutable_usesslforimapfinished(), ptr);
+ CHK_(ptr);
+ } else
+ goto handle_unusual;
+ continue;
default:
goto handle_unusual;
} // switch
@@ -10371,6 +10436,13 @@ uint8_t* MailSettingsEvent::_InternalSerialize(
_Internal::changeportsfinished(this).GetCachedSize(), target, stream);
}
+ // .grpc.UseSslForImapFinishedEvent useSslForImapFinished = 4;
+ if (_internal_has_usesslforimapfinished()) {
+ target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
+ InternalWriteMessage(4, _Internal::usesslforimapfinished(this),
+ _Internal::usesslforimapfinished(this).GetCachedSize(), target, stream);
+ }
+
if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
_internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
@@ -10409,6 +10481,13 @@ size_t MailSettingsEvent::ByteSizeLong() const {
*_impl_.event_.changeportsfinished_);
break;
}
+ // .grpc.UseSslForImapFinishedEvent useSslForImapFinished = 4;
+ case kUseSslForImapFinished: {
+ total_size += 1 +
+ ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
+ *_impl_.event_.usesslforimapfinished_);
+ break;
+ }
case EVENT_NOT_SET: {
break;
}
@@ -10447,6 +10526,11 @@ void MailSettingsEvent::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, cons
from._internal_changeportsfinished());
break;
}
+ case kUseSslForImapFinished: {
+ _this->_internal_mutable_usesslforimapfinished()->::grpc::UseSslForImapFinishedEvent::MergeFrom(
+ from._internal_usesslforimapfinished());
+ break;
+ }
case EVENT_NOT_SET: {
break;
}
@@ -10701,6 +10785,46 @@ const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*UseSslForSmtpFinishedEvent::Ge
// ===================================================================
+class UseSslForImapFinishedEvent::_Internal {
+ public:
+};
+
+UseSslForImapFinishedEvent::UseSslForImapFinishedEvent(::PROTOBUF_NAMESPACE_ID::Arena* arena,
+ bool is_message_owned)
+ : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase(arena, is_message_owned) {
+ // @@protoc_insertion_point(arena_constructor:grpc.UseSslForImapFinishedEvent)
+}
+UseSslForImapFinishedEvent::UseSslForImapFinishedEvent(const UseSslForImapFinishedEvent& from)
+ : ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase() {
+ UseSslForImapFinishedEvent* const _this = this; (void)_this;
+ _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
+ // @@protoc_insertion_point(copy_constructor:grpc.UseSslForImapFinishedEvent)
+}
+
+
+
+
+
+const ::PROTOBUF_NAMESPACE_ID::Message::ClassData UseSslForImapFinishedEvent::_class_data_ = {
+ ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl,
+ ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl,
+};
+const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*UseSslForImapFinishedEvent::GetClassData() const { return &_class_data_; }
+
+
+
+
+
+
+
+::PROTOBUF_NAMESPACE_ID::Metadata UseSslForImapFinishedEvent::GetMetadata() const {
+ return ::_pbi::AssignDescriptors(
+ &descriptor_table_bridge_2eproto_getter, &descriptor_table_bridge_2eproto_once,
+ file_level_metadata_bridge_2eproto[43]);
+}
+
+// ===================================================================
+
class ChangePortsFinishedEvent::_Internal {
public:
};
@@ -10736,7 +10860,7 @@ const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ChangePortsFinishedEvent::GetC
::PROTOBUF_NAMESPACE_ID::Metadata ChangePortsFinishedEvent::GetMetadata() const {
return ::_pbi::AssignDescriptors(
&descriptor_table_bridge_2eproto_getter, &descriptor_table_bridge_2eproto_once,
- file_level_metadata_bridge_2eproto[43]);
+ file_level_metadata_bridge_2eproto[44]);
}
// ===================================================================
@@ -11099,7 +11223,7 @@ void KeychainEvent::InternalSwap(KeychainEvent* other) {
::PROTOBUF_NAMESPACE_ID::Metadata KeychainEvent::GetMetadata() const {
return ::_pbi::AssignDescriptors(
&descriptor_table_bridge_2eproto_getter, &descriptor_table_bridge_2eproto_once,
- file_level_metadata_bridge_2eproto[44]);
+ file_level_metadata_bridge_2eproto[45]);
}
// ===================================================================
@@ -11139,7 +11263,7 @@ const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ChangeKeychainFinishedEvent::G
::PROTOBUF_NAMESPACE_ID::Metadata ChangeKeychainFinishedEvent::GetMetadata() const {
return ::_pbi::AssignDescriptors(
&descriptor_table_bridge_2eproto_getter, &descriptor_table_bridge_2eproto_once,
- file_level_metadata_bridge_2eproto[45]);
+ file_level_metadata_bridge_2eproto[46]);
}
// ===================================================================
@@ -11179,7 +11303,7 @@ const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*HasNoKeychainEvent::GetClassDa
::PROTOBUF_NAMESPACE_ID::Metadata HasNoKeychainEvent::GetMetadata() const {
return ::_pbi::AssignDescriptors(
&descriptor_table_bridge_2eproto_getter, &descriptor_table_bridge_2eproto_once,
- file_level_metadata_bridge_2eproto[46]);
+ file_level_metadata_bridge_2eproto[47]);
}
// ===================================================================
@@ -11219,7 +11343,7 @@ const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*RebuildKeychainEvent::GetClass
::PROTOBUF_NAMESPACE_ID::Metadata RebuildKeychainEvent::GetMetadata() const {
return ::_pbi::AssignDescriptors(
&descriptor_table_bridge_2eproto_getter, &descriptor_table_bridge_2eproto_once,
- file_level_metadata_bridge_2eproto[47]);
+ file_level_metadata_bridge_2eproto[48]);
}
// ===================================================================
@@ -11640,7 +11764,7 @@ void MailEvent::InternalSwap(MailEvent* other) {
::PROTOBUF_NAMESPACE_ID::Metadata MailEvent::GetMetadata() const {
return ::_pbi::AssignDescriptors(
&descriptor_table_bridge_2eproto_getter, &descriptor_table_bridge_2eproto_once,
- file_level_metadata_bridge_2eproto[48]);
+ file_level_metadata_bridge_2eproto[49]);
}
// ===================================================================
@@ -11843,7 +11967,7 @@ void NoActiveKeyForRecipientEvent::InternalSwap(NoActiveKeyForRecipientEvent* ot
::PROTOBUF_NAMESPACE_ID::Metadata NoActiveKeyForRecipientEvent::GetMetadata() const {
return ::_pbi::AssignDescriptors(
&descriptor_table_bridge_2eproto_getter, &descriptor_table_bridge_2eproto_once,
- file_level_metadata_bridge_2eproto[49]);
+ file_level_metadata_bridge_2eproto[50]);
}
// ===================================================================
@@ -12046,7 +12170,7 @@ void AddressChangedEvent::InternalSwap(AddressChangedEvent* other) {
::PROTOBUF_NAMESPACE_ID::Metadata AddressChangedEvent::GetMetadata() const {
return ::_pbi::AssignDescriptors(
&descriptor_table_bridge_2eproto_getter, &descriptor_table_bridge_2eproto_once,
- file_level_metadata_bridge_2eproto[50]);
+ file_level_metadata_bridge_2eproto[51]);
}
// ===================================================================
@@ -12249,7 +12373,7 @@ void AddressChangedLogoutEvent::InternalSwap(AddressChangedLogoutEvent* other) {
::PROTOBUF_NAMESPACE_ID::Metadata AddressChangedLogoutEvent::GetMetadata() const {
return ::_pbi::AssignDescriptors(
&descriptor_table_bridge_2eproto_getter, &descriptor_table_bridge_2eproto_once,
- file_level_metadata_bridge_2eproto[51]);
+ file_level_metadata_bridge_2eproto[52]);
}
// ===================================================================
@@ -12289,7 +12413,7 @@ const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ApiCertIssueEvent::GetClassDat
::PROTOBUF_NAMESPACE_ID::Metadata ApiCertIssueEvent::GetMetadata() const {
return ::_pbi::AssignDescriptors(
&descriptor_table_bridge_2eproto_getter, &descriptor_table_bridge_2eproto_once,
- file_level_metadata_bridge_2eproto[52]);
+ file_level_metadata_bridge_2eproto[53]);
}
// ===================================================================
@@ -12652,7 +12776,7 @@ void UserEvent::InternalSwap(UserEvent* other) {
::PROTOBUF_NAMESPACE_ID::Metadata UserEvent::GetMetadata() const {
return ::_pbi::AssignDescriptors(
&descriptor_table_bridge_2eproto_getter, &descriptor_table_bridge_2eproto_once,
- file_level_metadata_bridge_2eproto[53]);
+ file_level_metadata_bridge_2eproto[54]);
}
// ===================================================================
@@ -12855,7 +12979,7 @@ void ToggleSplitModeFinishedEvent::InternalSwap(ToggleSplitModeFinishedEvent* ot
::PROTOBUF_NAMESPACE_ID::Metadata ToggleSplitModeFinishedEvent::GetMetadata() const {
return ::_pbi::AssignDescriptors(
&descriptor_table_bridge_2eproto_getter, &descriptor_table_bridge_2eproto_once,
- file_level_metadata_bridge_2eproto[54]);
+ file_level_metadata_bridge_2eproto[55]);
}
// ===================================================================
@@ -13058,7 +13182,7 @@ void UserDisconnectedEvent::InternalSwap(UserDisconnectedEvent* other) {
::PROTOBUF_NAMESPACE_ID::Metadata UserDisconnectedEvent::GetMetadata() const {
return ::_pbi::AssignDescriptors(
&descriptor_table_bridge_2eproto_getter, &descriptor_table_bridge_2eproto_once,
- file_level_metadata_bridge_2eproto[55]);
+ file_level_metadata_bridge_2eproto[56]);
}
// ===================================================================
@@ -13261,7 +13385,7 @@ void UserChangedEvent::InternalSwap(UserChangedEvent* other) {
::PROTOBUF_NAMESPACE_ID::Metadata UserChangedEvent::GetMetadata() const {
return ::_pbi::AssignDescriptors(
&descriptor_table_bridge_2eproto_getter, &descriptor_table_bridge_2eproto_once,
- file_level_metadata_bridge_2eproto[56]);
+ file_level_metadata_bridge_2eproto[57]);
}
// @@protoc_insertion_point(namespace_scope)
@@ -13439,6 +13563,10 @@ template<> PROTOBUF_NOINLINE ::grpc::UseSslForSmtpFinishedEvent*
Arena::CreateMaybeMessage< ::grpc::UseSslForSmtpFinishedEvent >(Arena* arena) {
return Arena::CreateMessageInternal< ::grpc::UseSslForSmtpFinishedEvent >(arena);
}
+template<> PROTOBUF_NOINLINE ::grpc::UseSslForImapFinishedEvent*
+Arena::CreateMaybeMessage< ::grpc::UseSslForImapFinishedEvent >(Arena* arena) {
+ return Arena::CreateMessageInternal< ::grpc::UseSslForImapFinishedEvent >(arena);
+}
template<> PROTOBUF_NOINLINE ::grpc::ChangePortsFinishedEvent*
Arena::CreateMaybeMessage< ::grpc::ChangePortsFinishedEvent >(Arena* arena) {
return Arena::CreateMessageInternal< ::grpc::ChangePortsFinishedEvent >(arena);
diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.pb.h b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.pb.h
index 15bd03dd..3d741d4b 100644
--- a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.pb.h
+++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/bridge.pb.h
@@ -199,6 +199,9 @@ extern UpdateSilentRestartNeededDefaultTypeInternal _UpdateSilentRestartNeeded_d
class UpdateVersionChanged;
struct UpdateVersionChangedDefaultTypeInternal;
extern UpdateVersionChangedDefaultTypeInternal _UpdateVersionChanged_default_instance_;
+class UseSslForImapFinishedEvent;
+struct UseSslForImapFinishedEventDefaultTypeInternal;
+extern UseSslForImapFinishedEventDefaultTypeInternal _UseSslForImapFinishedEvent_default_instance_;
class UseSslForSmtpFinishedEvent;
struct UseSslForSmtpFinishedEventDefaultTypeInternal;
extern UseSslForSmtpFinishedEventDefaultTypeInternal _UseSslForSmtpFinishedEvent_default_instance_;
@@ -272,6 +275,7 @@ template<> ::grpc::UpdateManualReadyEvent* Arena::CreateMaybeMessage<::grpc::Upd
template<> ::grpc::UpdateManualRestartNeededEvent* Arena::CreateMaybeMessage<::grpc::UpdateManualRestartNeededEvent>(Arena*);
template<> ::grpc::UpdateSilentRestartNeeded* Arena::CreateMaybeMessage<::grpc::UpdateSilentRestartNeeded>(Arena*);
template<> ::grpc::UpdateVersionChanged* Arena::CreateMaybeMessage<::grpc::UpdateVersionChanged>(Arena*);
+template<> ::grpc::UseSslForImapFinishedEvent* Arena::CreateMaybeMessage<::grpc::UseSslForImapFinishedEvent>(Arena*);
template<> ::grpc::UseSslForSmtpFinishedEvent* Arena::CreateMaybeMessage<::grpc::UseSslForSmtpFinishedEvent>(Arena*);
template<> ::grpc::User* Arena::CreateMaybeMessage<::grpc::User>(Arena*);
template<> ::grpc::UserChangedEvent* Arena::CreateMaybeMessage<::grpc::UserChangedEvent>(Arena*);
@@ -7117,6 +7121,7 @@ class MailSettingsEvent final :
kError = 1,
kUseSslForSmtpFinished = 2,
kChangePortsFinished = 3,
+ kUseSslForImapFinished = 4,
EVENT_NOT_SET = 0,
};
@@ -7201,6 +7206,7 @@ class MailSettingsEvent final :
kErrorFieldNumber = 1,
kUseSslForSmtpFinishedFieldNumber = 2,
kChangePortsFinishedFieldNumber = 3,
+ kUseSslForImapFinishedFieldNumber = 4,
};
// .grpc.MailSettingsErrorEvent error = 1;
bool has_error() const;
@@ -7256,6 +7262,24 @@ class MailSettingsEvent final :
::grpc::ChangePortsFinishedEvent* changeportsfinished);
::grpc::ChangePortsFinishedEvent* unsafe_arena_release_changeportsfinished();
+ // .grpc.UseSslForImapFinishedEvent useSslForImapFinished = 4;
+ bool has_usesslforimapfinished() const;
+ private:
+ bool _internal_has_usesslforimapfinished() const;
+ public:
+ void clear_usesslforimapfinished();
+ const ::grpc::UseSslForImapFinishedEvent& usesslforimapfinished() const;
+ PROTOBUF_NODISCARD ::grpc::UseSslForImapFinishedEvent* release_usesslforimapfinished();
+ ::grpc::UseSslForImapFinishedEvent* mutable_usesslforimapfinished();
+ void set_allocated_usesslforimapfinished(::grpc::UseSslForImapFinishedEvent* usesslforimapfinished);
+ private:
+ const ::grpc::UseSslForImapFinishedEvent& _internal_usesslforimapfinished() const;
+ ::grpc::UseSslForImapFinishedEvent* _internal_mutable_usesslforimapfinished();
+ public:
+ void unsafe_arena_set_allocated_usesslforimapfinished(
+ ::grpc::UseSslForImapFinishedEvent* usesslforimapfinished);
+ ::grpc::UseSslForImapFinishedEvent* unsafe_arena_release_usesslforimapfinished();
+
void clear_event();
EventCase event_case() const;
// @@protoc_insertion_point(class_scope:grpc.MailSettingsEvent)
@@ -7264,6 +7288,7 @@ class MailSettingsEvent final :
void set_has_error();
void set_has_usesslforsmtpfinished();
void set_has_changeportsfinished();
+ void set_has_usesslforimapfinished();
inline bool has_event() const;
inline void clear_has_event();
@@ -7278,6 +7303,7 @@ class MailSettingsEvent final :
::grpc::MailSettingsErrorEvent* error_;
::grpc::UseSslForSmtpFinishedEvent* usesslforsmtpfinished_;
::grpc::ChangePortsFinishedEvent* changeportsfinished_;
+ ::grpc::UseSslForImapFinishedEvent* usesslforimapfinished_;
} event_;
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
uint32_t _oneof_case_[1];
@@ -7554,6 +7580,124 @@ class UseSslForSmtpFinishedEvent final :
};
// -------------------------------------------------------------------
+class UseSslForImapFinishedEvent final :
+ public ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:grpc.UseSslForImapFinishedEvent) */ {
+ public:
+ inline UseSslForImapFinishedEvent() : UseSslForImapFinishedEvent(nullptr) {}
+ explicit PROTOBUF_CONSTEXPR UseSslForImapFinishedEvent(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
+
+ UseSslForImapFinishedEvent(const UseSslForImapFinishedEvent& from);
+ UseSslForImapFinishedEvent(UseSslForImapFinishedEvent&& from) noexcept
+ : UseSslForImapFinishedEvent() {
+ *this = ::std::move(from);
+ }
+
+ inline UseSslForImapFinishedEvent& operator=(const UseSslForImapFinishedEvent& from) {
+ CopyFrom(from);
+ return *this;
+ }
+ inline UseSslForImapFinishedEvent& operator=(UseSslForImapFinishedEvent&& from) noexcept {
+ if (this == &from) return *this;
+ if (GetOwningArena() == from.GetOwningArena()
+ #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
+ && GetOwningArena() != nullptr
+ #endif // !PROTOBUF_FORCE_COPY_IN_MOVE
+ ) {
+ InternalSwap(&from);
+ } else {
+ CopyFrom(from);
+ }
+ return *this;
+ }
+
+ static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
+ return GetDescriptor();
+ }
+ static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
+ return default_instance().GetMetadata().descriptor;
+ }
+ static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
+ return default_instance().GetMetadata().reflection;
+ }
+ static const UseSslForImapFinishedEvent& default_instance() {
+ return *internal_default_instance();
+ }
+ static inline const UseSslForImapFinishedEvent* internal_default_instance() {
+ return reinterpret_cast(
+ &_UseSslForImapFinishedEvent_default_instance_);
+ }
+ static constexpr int kIndexInFileMessages =
+ 43;
+
+ friend void swap(UseSslForImapFinishedEvent& a, UseSslForImapFinishedEvent& b) {
+ a.Swap(&b);
+ }
+ inline void Swap(UseSslForImapFinishedEvent* other) {
+ if (other == this) return;
+ #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
+ if (GetOwningArena() != nullptr &&
+ GetOwningArena() == other->GetOwningArena()) {
+ #else // PROTOBUF_FORCE_COPY_IN_SWAP
+ if (GetOwningArena() == other->GetOwningArena()) {
+ #endif // !PROTOBUF_FORCE_COPY_IN_SWAP
+ InternalSwap(other);
+ } else {
+ ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
+ }
+ }
+ void UnsafeArenaSwap(UseSslForImapFinishedEvent* other) {
+ if (other == this) return;
+ GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
+ InternalSwap(other);
+ }
+
+ // implements Message ----------------------------------------------
+
+ UseSslForImapFinishedEvent* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
+ return CreateMaybeMessage(arena);
+ }
+ using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyFrom;
+ inline void CopyFrom(const UseSslForImapFinishedEvent& from) {
+ ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl(*this, from);
+ }
+ using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeFrom;
+ void MergeFrom(const UseSslForImapFinishedEvent& from) {
+ ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl(*this, from);
+ }
+ public:
+
+ private:
+ friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
+ static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
+ return "grpc.UseSslForImapFinishedEvent";
+ }
+ protected:
+ explicit UseSslForImapFinishedEvent(::PROTOBUF_NAMESPACE_ID::Arena* arena,
+ bool is_message_owned = false);
+ public:
+
+ static const ClassData _class_data_;
+ const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
+
+ ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
+
+ // nested types ----------------------------------------------------
+
+ // accessors -------------------------------------------------------
+
+ // @@protoc_insertion_point(class_scope:grpc.UseSslForImapFinishedEvent)
+ private:
+ class _Internal;
+
+ template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
+ typedef void InternalArenaConstructable_;
+ typedef void DestructorSkippable_;
+ struct Impl_ {
+ };
+ friend struct ::TableStruct_bridge_2eproto;
+};
+// -------------------------------------------------------------------
+
class ChangePortsFinishedEvent final :
public ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:grpc.ChangePortsFinishedEvent) */ {
public:
@@ -7601,7 +7745,7 @@ class ChangePortsFinishedEvent final :
&_ChangePortsFinishedEvent_default_instance_);
}
static constexpr int kIndexInFileMessages =
- 43;
+ 44;
friend void swap(ChangePortsFinishedEvent& a, ChangePortsFinishedEvent& b) {
a.Swap(&b);
@@ -7727,7 +7871,7 @@ class KeychainEvent final :
&_KeychainEvent_default_instance_);
}
static constexpr int kIndexInFileMessages =
- 44;
+ 45;
friend void swap(KeychainEvent& a, KeychainEvent& b) {
a.Swap(&b);
@@ -7937,7 +8081,7 @@ class ChangeKeychainFinishedEvent final :
&_ChangeKeychainFinishedEvent_default_instance_);
}
static constexpr int kIndexInFileMessages =
- 45;
+ 46;
friend void swap(ChangeKeychainFinishedEvent& a, ChangeKeychainFinishedEvent& b) {
a.Swap(&b);
@@ -8055,7 +8199,7 @@ class HasNoKeychainEvent final :
&_HasNoKeychainEvent_default_instance_);
}
static constexpr int kIndexInFileMessages =
- 46;
+ 47;
friend void swap(HasNoKeychainEvent& a, HasNoKeychainEvent& b) {
a.Swap(&b);
@@ -8173,7 +8317,7 @@ class RebuildKeychainEvent final :
&_RebuildKeychainEvent_default_instance_);
}
static constexpr int kIndexInFileMessages =
- 47;
+ 48;
friend void swap(RebuildKeychainEvent& a, RebuildKeychainEvent& b) {
a.Swap(&b);
@@ -8300,7 +8444,7 @@ class MailEvent final :
&_MailEvent_default_instance_);
}
static constexpr int kIndexInFileMessages =
- 48;
+ 49;
friend void swap(MailEvent& a, MailEvent& b) {
a.Swap(&b);
@@ -8532,7 +8676,7 @@ class NoActiveKeyForRecipientEvent final :
&_NoActiveKeyForRecipientEvent_default_instance_);
}
static constexpr int kIndexInFileMessages =
- 49;
+ 50;
friend void swap(NoActiveKeyForRecipientEvent& a, NoActiveKeyForRecipientEvent& b) {
a.Swap(&b);
@@ -8685,7 +8829,7 @@ class AddressChangedEvent final :
&_AddressChangedEvent_default_instance_);
}
static constexpr int kIndexInFileMessages =
- 50;
+ 51;
friend void swap(AddressChangedEvent& a, AddressChangedEvent& b) {
a.Swap(&b);
@@ -8838,7 +8982,7 @@ class AddressChangedLogoutEvent final :
&_AddressChangedLogoutEvent_default_instance_);
}
static constexpr int kIndexInFileMessages =
- 51;
+ 52;
friend void swap(AddressChangedLogoutEvent& a, AddressChangedLogoutEvent& b) {
a.Swap(&b);
@@ -8990,7 +9134,7 @@ class ApiCertIssueEvent final :
&_ApiCertIssueEvent_default_instance_);
}
static constexpr int kIndexInFileMessages =
- 52;
+ 53;
friend void swap(ApiCertIssueEvent& a, ApiCertIssueEvent& b) {
a.Swap(&b);
@@ -9116,7 +9260,7 @@ class UserEvent final :
&_UserEvent_default_instance_);
}
static constexpr int kIndexInFileMessages =
- 53;
+ 54;
friend void swap(UserEvent& a, UserEvent& b) {
a.Swap(&b);
@@ -9327,7 +9471,7 @@ class ToggleSplitModeFinishedEvent final :
&_ToggleSplitModeFinishedEvent_default_instance_);
}
static constexpr int kIndexInFileMessages =
- 54;
+ 55;
friend void swap(ToggleSplitModeFinishedEvent& a, ToggleSplitModeFinishedEvent& b) {
a.Swap(&b);
@@ -9480,7 +9624,7 @@ class UserDisconnectedEvent final :
&_UserDisconnectedEvent_default_instance_);
}
static constexpr int kIndexInFileMessages =
- 55;
+ 56;
friend void swap(UserDisconnectedEvent& a, UserDisconnectedEvent& b) {
a.Swap(&b);
@@ -9633,7 +9777,7 @@ class UserChangedEvent final :
&_UserChangedEvent_default_instance_);
}
static constexpr int kIndexInFileMessages =
- 56;
+ 57;
friend void swap(UserChangedEvent& a, UserChangedEvent& b) {
a.Swap(&b);
@@ -14282,6 +14426,80 @@ inline ::grpc::ChangePortsFinishedEvent* MailSettingsEvent::mutable_changeportsf
return _msg;
}
+// .grpc.UseSslForImapFinishedEvent useSslForImapFinished = 4;
+inline bool MailSettingsEvent::_internal_has_usesslforimapfinished() const {
+ return event_case() == kUseSslForImapFinished;
+}
+inline bool MailSettingsEvent::has_usesslforimapfinished() const {
+ return _internal_has_usesslforimapfinished();
+}
+inline void MailSettingsEvent::set_has_usesslforimapfinished() {
+ _impl_._oneof_case_[0] = kUseSslForImapFinished;
+}
+inline void MailSettingsEvent::clear_usesslforimapfinished() {
+ if (_internal_has_usesslforimapfinished()) {
+ if (GetArenaForAllocation() == nullptr) {
+ delete _impl_.event_.usesslforimapfinished_;
+ }
+ clear_has_event();
+ }
+}
+inline ::grpc::UseSslForImapFinishedEvent* MailSettingsEvent::release_usesslforimapfinished() {
+ // @@protoc_insertion_point(field_release:grpc.MailSettingsEvent.useSslForImapFinished)
+ if (_internal_has_usesslforimapfinished()) {
+ clear_has_event();
+ ::grpc::UseSslForImapFinishedEvent* temp = _impl_.event_.usesslforimapfinished_;
+ if (GetArenaForAllocation() != nullptr) {
+ temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
+ }
+ _impl_.event_.usesslforimapfinished_ = nullptr;
+ return temp;
+ } else {
+ return nullptr;
+ }
+}
+inline const ::grpc::UseSslForImapFinishedEvent& MailSettingsEvent::_internal_usesslforimapfinished() const {
+ return _internal_has_usesslforimapfinished()
+ ? *_impl_.event_.usesslforimapfinished_
+ : reinterpret_cast< ::grpc::UseSslForImapFinishedEvent&>(::grpc::_UseSslForImapFinishedEvent_default_instance_);
+}
+inline const ::grpc::UseSslForImapFinishedEvent& MailSettingsEvent::usesslforimapfinished() const {
+ // @@protoc_insertion_point(field_get:grpc.MailSettingsEvent.useSslForImapFinished)
+ return _internal_usesslforimapfinished();
+}
+inline ::grpc::UseSslForImapFinishedEvent* MailSettingsEvent::unsafe_arena_release_usesslforimapfinished() {
+ // @@protoc_insertion_point(field_unsafe_arena_release:grpc.MailSettingsEvent.useSslForImapFinished)
+ if (_internal_has_usesslforimapfinished()) {
+ clear_has_event();
+ ::grpc::UseSslForImapFinishedEvent* temp = _impl_.event_.usesslforimapfinished_;
+ _impl_.event_.usesslforimapfinished_ = nullptr;
+ return temp;
+ } else {
+ return nullptr;
+ }
+}
+inline void MailSettingsEvent::unsafe_arena_set_allocated_usesslforimapfinished(::grpc::UseSslForImapFinishedEvent* usesslforimapfinished) {
+ clear_event();
+ if (usesslforimapfinished) {
+ set_has_usesslforimapfinished();
+ _impl_.event_.usesslforimapfinished_ = usesslforimapfinished;
+ }
+ // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.MailSettingsEvent.useSslForImapFinished)
+}
+inline ::grpc::UseSslForImapFinishedEvent* MailSettingsEvent::_internal_mutable_usesslforimapfinished() {
+ if (!_internal_has_usesslforimapfinished()) {
+ clear_event();
+ set_has_usesslforimapfinished();
+ _impl_.event_.usesslforimapfinished_ = CreateMaybeMessage< ::grpc::UseSslForImapFinishedEvent >(GetArenaForAllocation());
+ }
+ return _impl_.event_.usesslforimapfinished_;
+}
+inline ::grpc::UseSslForImapFinishedEvent* MailSettingsEvent::mutable_usesslforimapfinished() {
+ ::grpc::UseSslForImapFinishedEvent* _msg = _internal_mutable_usesslforimapfinished();
+ // @@protoc_insertion_point(field_mutable:grpc.MailSettingsEvent.useSslForImapFinished)
+ return _msg;
+}
+
inline bool MailSettingsEvent::has_event() const {
return event_case() != EVENT_NOT_SET;
}
@@ -14321,6 +14539,10 @@ inline void MailSettingsErrorEvent::set_type(::grpc::MailSettingsErrorType value
// -------------------------------------------------------------------
+// UseSslForImapFinishedEvent
+
+// -------------------------------------------------------------------
+
// ChangePortsFinishedEvent
// -------------------------------------------------------------------
@@ -15557,6 +15779,8 @@ inline void UserChangedEvent::set_allocated_userid(std::string* userid) {
// -------------------------------------------------------------------
+// -------------------------------------------------------------------
+
// @@protoc_insertion_point(namespace_scope)
diff --git a/internal/frontend/grpc/bridge.pb.go b/internal/frontend/grpc/bridge.pb.go
index fcfdcd1b..675196cc 100644
--- a/internal/frontend/grpc/bridge.pb.go
+++ b/internal/frontend/grpc/bridge.pb.go
@@ -17,8 +17,8 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.28.0
-// protoc v3.21.7
+// protoc-gen-go v1.28.1
+// protoc v3.19.4
// source: bridge.proto
package grpc
@@ -39,9 +39,9 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
-//**********************************************************
+// **********************************************************
// Log related message
-//**********************************************************
+// **********************************************************
// Note: the enum values are prefixed with 'LOG_' to avoid a clash in C++ on Windows with the ERROR macro defined in wingdi.h
type LogLevel int32
@@ -372,9 +372,11 @@ func (x *AddLogEntryRequest) GetMessage() string {
return ""
}
-//**********************************************************
-// Bug reporting related messages.
-//**********************************************************
+// **********************************************************
+//
+// Bug reporting related messages.
+//
+// **********************************************************
type ReportBugRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -564,9 +566,9 @@ func (x *LoginAbortRequest) GetUsername() string {
return ""
}
-//**********************************************************
+// **********************************************************
// Cache on disk related message
-//**********************************************************
+// **********************************************************
type ChangeLocalCacheRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -614,9 +616,9 @@ func (x *ChangeLocalCacheRequest) GetDiskCachePath() string {
return ""
}
-//**********************************************************
+// **********************************************************
// Port related message
-//**********************************************************
+// **********************************************************
type ChangePortsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -672,9 +674,9 @@ func (x *ChangePortsRequest) GetSmtpPort() int32 {
return 0
}
-//**********************************************************
+// **********************************************************
// Keychain related message
-//**********************************************************
+// **********************************************************
type AvailableKeychainsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -722,9 +724,9 @@ func (x *AvailableKeychainsResponse) GetKeychains() []string {
return nil
}
-//**********************************************************
+// **********************************************************
// Cache on disk related messages
-//**********************************************************
+// **********************************************************
type User struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -1054,6 +1056,7 @@ type StreamEvent struct {
unknownFields protoimpl.UnknownFields
// Types that are assignable to Event:
+ //
// *StreamEvent_App
// *StreamEvent_Login
// *StreamEvent_Update
@@ -1212,15 +1215,16 @@ 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_ToggleAutostartFinished
// *AppEvent_ResetFinished
@@ -1640,15 +1644,16 @@ func (*ShowMainWindowEvent) Descriptor() ([]byte, []int) {
return file_bridge_proto_rawDescGZIP(), []int{20}
}
-//**********************************************************
+// **********************************************************
// 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
@@ -1952,15 +1957,16 @@ func (x *LoginFinishedEvent) GetUserID() string {
return ""
}
-//**********************************************************
+// **********************************************************
// 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
@@ -2450,15 +2456,16 @@ func (*UpdateVersionChanged) Descriptor() ([]byte, []int) {
return file_bridge_proto_rawDescGZIP(), []int{34}
}
-//**********************************************************
+// **********************************************************
// 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
@@ -2740,18 +2747,20 @@ func (x *DiskCachePathChanged) GetPath() string {
return ""
}
-//**********************************************************
+// **********************************************************
// 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
+ // *MailSettingsEvent_UseSslForImapFinished
Event isMailSettingsEvent_Event `protobuf_oneof:"event"`
}
@@ -2815,6 +2824,13 @@ func (x *MailSettingsEvent) GetChangePortsFinished() *ChangePortsFinishedEvent {
return nil
}
+func (x *MailSettingsEvent) GetUseSslForImapFinished() *UseSslForImapFinishedEvent {
+ if x, ok := x.GetEvent().(*MailSettingsEvent_UseSslForImapFinished); ok {
+ return x.UseSslForImapFinished
+ }
+ return nil
+}
+
type isMailSettingsEvent_Event interface {
isMailSettingsEvent_Event()
}
@@ -2831,12 +2847,18 @@ type MailSettingsEvent_ChangePortsFinished struct {
ChangePortsFinished *ChangePortsFinishedEvent `protobuf:"bytes,3,opt,name=changePortsFinished,proto3,oneof"`
}
+type MailSettingsEvent_UseSslForImapFinished struct {
+ UseSslForImapFinished *UseSslForImapFinishedEvent `protobuf:"bytes,4,opt,name=useSslForImapFinished,proto3,oneof"`
+}
+
func (*MailSettingsEvent_Error) isMailSettingsEvent_Event() {}
func (*MailSettingsEvent_UseSslForSmtpFinished) isMailSettingsEvent_Event() {}
func (*MailSettingsEvent_ChangePortsFinished) isMailSettingsEvent_Event() {}
+func (*MailSettingsEvent_UseSslForImapFinished) isMailSettingsEvent_Event() {}
+
type MailSettingsErrorEvent struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -2922,6 +2944,44 @@ func (*UseSslForSmtpFinishedEvent) Descriptor() ([]byte, []int) {
return file_bridge_proto_rawDescGZIP(), []int{42}
}
+type UseSslForImapFinishedEvent struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *UseSslForImapFinishedEvent) Reset() {
+ *x = UseSslForImapFinishedEvent{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_bridge_proto_msgTypes[43]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *UseSslForImapFinishedEvent) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*UseSslForImapFinishedEvent) ProtoMessage() {}
+
+func (x *UseSslForImapFinishedEvent) ProtoReflect() protoreflect.Message {
+ mi := &file_bridge_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 UseSslForImapFinishedEvent.ProtoReflect.Descriptor instead.
+func (*UseSslForImapFinishedEvent) Descriptor() ([]byte, []int) {
+ return file_bridge_proto_rawDescGZIP(), []int{43}
+}
+
type ChangePortsFinishedEvent struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -2931,7 +2991,7 @@ type ChangePortsFinishedEvent struct {
func (x *ChangePortsFinishedEvent) Reset() {
*x = ChangePortsFinishedEvent{}
if protoimpl.UnsafeEnabled {
- mi := &file_bridge_proto_msgTypes[43]
+ mi := &file_bridge_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2944,7 +3004,7 @@ func (x *ChangePortsFinishedEvent) String() string {
func (*ChangePortsFinishedEvent) ProtoMessage() {}
func (x *ChangePortsFinishedEvent) ProtoReflect() protoreflect.Message {
- mi := &file_bridge_proto_msgTypes[43]
+ mi := &file_bridge_proto_msgTypes[44]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2957,18 +3017,19 @@ func (x *ChangePortsFinishedEvent) ProtoReflect() protoreflect.Message {
// Deprecated: Use ChangePortsFinishedEvent.ProtoReflect.Descriptor instead.
func (*ChangePortsFinishedEvent) Descriptor() ([]byte, []int) {
- return file_bridge_proto_rawDescGZIP(), []int{43}
+ return file_bridge_proto_rawDescGZIP(), []int{44}
}
-//**********************************************************
+// **********************************************************
// 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
@@ -2978,7 +3039,7 @@ type KeychainEvent struct {
func (x *KeychainEvent) Reset() {
*x = KeychainEvent{}
if protoimpl.UnsafeEnabled {
- mi := &file_bridge_proto_msgTypes[44]
+ mi := &file_bridge_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2991,7 +3052,7 @@ func (x *KeychainEvent) String() string {
func (*KeychainEvent) ProtoMessage() {}
func (x *KeychainEvent) ProtoReflect() protoreflect.Message {
- mi := &file_bridge_proto_msgTypes[44]
+ mi := &file_bridge_proto_msgTypes[45]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3004,7 +3065,7 @@ func (x *KeychainEvent) ProtoReflect() protoreflect.Message {
// Deprecated: Use KeychainEvent.ProtoReflect.Descriptor instead.
func (*KeychainEvent) Descriptor() ([]byte, []int) {
- return file_bridge_proto_rawDescGZIP(), []int{44}
+ return file_bridge_proto_rawDescGZIP(), []int{45}
}
func (m *KeychainEvent) GetEvent() isKeychainEvent_Event {
@@ -3066,7 +3127,7 @@ type ChangeKeychainFinishedEvent struct {
func (x *ChangeKeychainFinishedEvent) Reset() {
*x = ChangeKeychainFinishedEvent{}
if protoimpl.UnsafeEnabled {
- mi := &file_bridge_proto_msgTypes[45]
+ mi := &file_bridge_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3079,7 +3140,7 @@ func (x *ChangeKeychainFinishedEvent) String() string {
func (*ChangeKeychainFinishedEvent) ProtoMessage() {}
func (x *ChangeKeychainFinishedEvent) ProtoReflect() protoreflect.Message {
- mi := &file_bridge_proto_msgTypes[45]
+ mi := &file_bridge_proto_msgTypes[46]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3092,7 +3153,7 @@ func (x *ChangeKeychainFinishedEvent) ProtoReflect() protoreflect.Message {
// Deprecated: Use ChangeKeychainFinishedEvent.ProtoReflect.Descriptor instead.
func (*ChangeKeychainFinishedEvent) Descriptor() ([]byte, []int) {
- return file_bridge_proto_rawDescGZIP(), []int{45}
+ return file_bridge_proto_rawDescGZIP(), []int{46}
}
type HasNoKeychainEvent struct {
@@ -3104,7 +3165,7 @@ type HasNoKeychainEvent struct {
func (x *HasNoKeychainEvent) Reset() {
*x = HasNoKeychainEvent{}
if protoimpl.UnsafeEnabled {
- mi := &file_bridge_proto_msgTypes[46]
+ mi := &file_bridge_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3117,7 +3178,7 @@ func (x *HasNoKeychainEvent) String() string {
func (*HasNoKeychainEvent) ProtoMessage() {}
func (x *HasNoKeychainEvent) ProtoReflect() protoreflect.Message {
- mi := &file_bridge_proto_msgTypes[46]
+ mi := &file_bridge_proto_msgTypes[47]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3130,7 +3191,7 @@ func (x *HasNoKeychainEvent) ProtoReflect() protoreflect.Message {
// Deprecated: Use HasNoKeychainEvent.ProtoReflect.Descriptor instead.
func (*HasNoKeychainEvent) Descriptor() ([]byte, []int) {
- return file_bridge_proto_rawDescGZIP(), []int{46}
+ return file_bridge_proto_rawDescGZIP(), []int{47}
}
type RebuildKeychainEvent struct {
@@ -3142,7 +3203,7 @@ type RebuildKeychainEvent struct {
func (x *RebuildKeychainEvent) Reset() {
*x = RebuildKeychainEvent{}
if protoimpl.UnsafeEnabled {
- mi := &file_bridge_proto_msgTypes[47]
+ mi := &file_bridge_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3155,7 +3216,7 @@ func (x *RebuildKeychainEvent) String() string {
func (*RebuildKeychainEvent) ProtoMessage() {}
func (x *RebuildKeychainEvent) ProtoReflect() protoreflect.Message {
- mi := &file_bridge_proto_msgTypes[47]
+ mi := &file_bridge_proto_msgTypes[48]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3168,18 +3229,19 @@ func (x *RebuildKeychainEvent) ProtoReflect() protoreflect.Message {
// Deprecated: Use RebuildKeychainEvent.ProtoReflect.Descriptor instead.
func (*RebuildKeychainEvent) Descriptor() ([]byte, []int) {
- return file_bridge_proto_rawDescGZIP(), []int{47}
+ return file_bridge_proto_rawDescGZIP(), []int{48}
}
-//**********************************************************
+// **********************************************************
// 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
@@ -3190,7 +3252,7 @@ type MailEvent struct {
func (x *MailEvent) Reset() {
*x = MailEvent{}
if protoimpl.UnsafeEnabled {
- mi := &file_bridge_proto_msgTypes[48]
+ mi := &file_bridge_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3203,7 +3265,7 @@ func (x *MailEvent) String() string {
func (*MailEvent) ProtoMessage() {}
func (x *MailEvent) ProtoReflect() protoreflect.Message {
- mi := &file_bridge_proto_msgTypes[48]
+ mi := &file_bridge_proto_msgTypes[49]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3216,7 +3278,7 @@ func (x *MailEvent) ProtoReflect() protoreflect.Message {
// Deprecated: Use MailEvent.ProtoReflect.Descriptor instead.
func (*MailEvent) Descriptor() ([]byte, []int) {
- return file_bridge_proto_rawDescGZIP(), []int{48}
+ return file_bridge_proto_rawDescGZIP(), []int{49}
}
func (m *MailEvent) GetEvent() isMailEvent_Event {
@@ -3293,7 +3355,7 @@ type NoActiveKeyForRecipientEvent struct {
func (x *NoActiveKeyForRecipientEvent) Reset() {
*x = NoActiveKeyForRecipientEvent{}
if protoimpl.UnsafeEnabled {
- mi := &file_bridge_proto_msgTypes[49]
+ mi := &file_bridge_proto_msgTypes[50]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3306,7 +3368,7 @@ func (x *NoActiveKeyForRecipientEvent) String() string {
func (*NoActiveKeyForRecipientEvent) ProtoMessage() {}
func (x *NoActiveKeyForRecipientEvent) ProtoReflect() protoreflect.Message {
- mi := &file_bridge_proto_msgTypes[49]
+ mi := &file_bridge_proto_msgTypes[50]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3319,7 +3381,7 @@ func (x *NoActiveKeyForRecipientEvent) ProtoReflect() protoreflect.Message {
// Deprecated: Use NoActiveKeyForRecipientEvent.ProtoReflect.Descriptor instead.
func (*NoActiveKeyForRecipientEvent) Descriptor() ([]byte, []int) {
- return file_bridge_proto_rawDescGZIP(), []int{49}
+ return file_bridge_proto_rawDescGZIP(), []int{50}
}
func (x *NoActiveKeyForRecipientEvent) GetEmail() string {
@@ -3340,7 +3402,7 @@ type AddressChangedEvent struct {
func (x *AddressChangedEvent) Reset() {
*x = AddressChangedEvent{}
if protoimpl.UnsafeEnabled {
- mi := &file_bridge_proto_msgTypes[50]
+ mi := &file_bridge_proto_msgTypes[51]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3353,7 +3415,7 @@ func (x *AddressChangedEvent) String() string {
func (*AddressChangedEvent) ProtoMessage() {}
func (x *AddressChangedEvent) ProtoReflect() protoreflect.Message {
- mi := &file_bridge_proto_msgTypes[50]
+ mi := &file_bridge_proto_msgTypes[51]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3366,7 +3428,7 @@ func (x *AddressChangedEvent) ProtoReflect() protoreflect.Message {
// Deprecated: Use AddressChangedEvent.ProtoReflect.Descriptor instead.
func (*AddressChangedEvent) Descriptor() ([]byte, []int) {
- return file_bridge_proto_rawDescGZIP(), []int{50}
+ return file_bridge_proto_rawDescGZIP(), []int{51}
}
func (x *AddressChangedEvent) GetAddress() string {
@@ -3387,7 +3449,7 @@ type AddressChangedLogoutEvent struct {
func (x *AddressChangedLogoutEvent) Reset() {
*x = AddressChangedLogoutEvent{}
if protoimpl.UnsafeEnabled {
- mi := &file_bridge_proto_msgTypes[51]
+ mi := &file_bridge_proto_msgTypes[52]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3400,7 +3462,7 @@ func (x *AddressChangedLogoutEvent) String() string {
func (*AddressChangedLogoutEvent) ProtoMessage() {}
func (x *AddressChangedLogoutEvent) ProtoReflect() protoreflect.Message {
- mi := &file_bridge_proto_msgTypes[51]
+ mi := &file_bridge_proto_msgTypes[52]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3413,7 +3475,7 @@ func (x *AddressChangedLogoutEvent) ProtoReflect() protoreflect.Message {
// Deprecated: Use AddressChangedLogoutEvent.ProtoReflect.Descriptor instead.
func (*AddressChangedLogoutEvent) Descriptor() ([]byte, []int) {
- return file_bridge_proto_rawDescGZIP(), []int{51}
+ return file_bridge_proto_rawDescGZIP(), []int{52}
}
func (x *AddressChangedLogoutEvent) GetAddress() string {
@@ -3432,7 +3494,7 @@ type ApiCertIssueEvent struct {
func (x *ApiCertIssueEvent) Reset() {
*x = ApiCertIssueEvent{}
if protoimpl.UnsafeEnabled {
- mi := &file_bridge_proto_msgTypes[52]
+ mi := &file_bridge_proto_msgTypes[53]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3445,7 +3507,7 @@ func (x *ApiCertIssueEvent) String() string {
func (*ApiCertIssueEvent) ProtoMessage() {}
func (x *ApiCertIssueEvent) ProtoReflect() protoreflect.Message {
- mi := &file_bridge_proto_msgTypes[52]
+ mi := &file_bridge_proto_msgTypes[53]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3458,7 +3520,7 @@ func (x *ApiCertIssueEvent) ProtoReflect() protoreflect.Message {
// Deprecated: Use ApiCertIssueEvent.ProtoReflect.Descriptor instead.
func (*ApiCertIssueEvent) Descriptor() ([]byte, []int) {
- return file_bridge_proto_rawDescGZIP(), []int{52}
+ return file_bridge_proto_rawDescGZIP(), []int{53}
}
type UserEvent struct {
@@ -3467,6 +3529,7 @@ type UserEvent struct {
unknownFields protoimpl.UnknownFields
// Types that are assignable to Event:
+ //
// *UserEvent_ToggleSplitModeFinished
// *UserEvent_UserDisconnected
// *UserEvent_UserChanged
@@ -3476,7 +3539,7 @@ type UserEvent struct {
func (x *UserEvent) Reset() {
*x = UserEvent{}
if protoimpl.UnsafeEnabled {
- mi := &file_bridge_proto_msgTypes[53]
+ mi := &file_bridge_proto_msgTypes[54]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3489,7 +3552,7 @@ func (x *UserEvent) String() string {
func (*UserEvent) ProtoMessage() {}
func (x *UserEvent) ProtoReflect() protoreflect.Message {
- mi := &file_bridge_proto_msgTypes[53]
+ mi := &file_bridge_proto_msgTypes[54]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3502,7 +3565,7 @@ func (x *UserEvent) ProtoReflect() protoreflect.Message {
// Deprecated: Use UserEvent.ProtoReflect.Descriptor instead.
func (*UserEvent) Descriptor() ([]byte, []int) {
- return file_bridge_proto_rawDescGZIP(), []int{53}
+ return file_bridge_proto_rawDescGZIP(), []int{54}
}
func (m *UserEvent) GetEvent() isUserEvent_Event {
@@ -3566,7 +3629,7 @@ type ToggleSplitModeFinishedEvent struct {
func (x *ToggleSplitModeFinishedEvent) Reset() {
*x = ToggleSplitModeFinishedEvent{}
if protoimpl.UnsafeEnabled {
- mi := &file_bridge_proto_msgTypes[54]
+ mi := &file_bridge_proto_msgTypes[55]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3579,7 +3642,7 @@ func (x *ToggleSplitModeFinishedEvent) String() string {
func (*ToggleSplitModeFinishedEvent) ProtoMessage() {}
func (x *ToggleSplitModeFinishedEvent) ProtoReflect() protoreflect.Message {
- mi := &file_bridge_proto_msgTypes[54]
+ mi := &file_bridge_proto_msgTypes[55]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3592,7 +3655,7 @@ func (x *ToggleSplitModeFinishedEvent) ProtoReflect() protoreflect.Message {
// Deprecated: Use ToggleSplitModeFinishedEvent.ProtoReflect.Descriptor instead.
func (*ToggleSplitModeFinishedEvent) Descriptor() ([]byte, []int) {
- return file_bridge_proto_rawDescGZIP(), []int{54}
+ return file_bridge_proto_rawDescGZIP(), []int{55}
}
func (x *ToggleSplitModeFinishedEvent) GetUserID() string {
@@ -3613,7 +3676,7 @@ type UserDisconnectedEvent struct {
func (x *UserDisconnectedEvent) Reset() {
*x = UserDisconnectedEvent{}
if protoimpl.UnsafeEnabled {
- mi := &file_bridge_proto_msgTypes[55]
+ mi := &file_bridge_proto_msgTypes[56]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3626,7 +3689,7 @@ func (x *UserDisconnectedEvent) String() string {
func (*UserDisconnectedEvent) ProtoMessage() {}
func (x *UserDisconnectedEvent) ProtoReflect() protoreflect.Message {
- mi := &file_bridge_proto_msgTypes[55]
+ mi := &file_bridge_proto_msgTypes[56]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3639,7 +3702,7 @@ func (x *UserDisconnectedEvent) ProtoReflect() protoreflect.Message {
// Deprecated: Use UserDisconnectedEvent.ProtoReflect.Descriptor instead.
func (*UserDisconnectedEvent) Descriptor() ([]byte, []int) {
- return file_bridge_proto_rawDescGZIP(), []int{55}
+ return file_bridge_proto_rawDescGZIP(), []int{56}
}
func (x *UserDisconnectedEvent) GetUsername() string {
@@ -3660,7 +3723,7 @@ type UserChangedEvent struct {
func (x *UserChangedEvent) Reset() {
*x = UserChangedEvent{}
if protoimpl.UnsafeEnabled {
- mi := &file_bridge_proto_msgTypes[56]
+ mi := &file_bridge_proto_msgTypes[57]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3673,7 +3736,7 @@ func (x *UserChangedEvent) String() string {
func (*UserChangedEvent) ProtoMessage() {}
func (x *UserChangedEvent) ProtoReflect() protoreflect.Message {
- mi := &file_bridge_proto_msgTypes[56]
+ mi := &file_bridge_proto_msgTypes[57]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3686,7 +3749,7 @@ func (x *UserChangedEvent) ProtoReflect() protoreflect.Message {
// Deprecated: Use UserChangedEvent.ProtoReflect.Descriptor instead.
func (*UserChangedEvent) Descriptor() ([]byte, []int) {
- return file_bridge_proto_rawDescGZIP(), []int{56}
+ return file_bridge_proto_rawDescGZIP(), []int{57}
}
func (x *UserChangedEvent) GetUserID() string {
@@ -3975,7 +4038,7 @@ var file_bridge_proto_rawDesc = []byte{
0x0b, 0x77, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x22, 0x2a, 0x0a, 0x14,
0x44, 0x69, 0x73, 0x6b, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x61, 0x74, 0x68, 0x43, 0x68, 0x61,
0x6e, 0x67, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x80, 0x02, 0x0a, 0x11, 0x4d, 0x61, 0x69,
+ 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0xda, 0x02, 0x0a, 0x11, 0x4d, 0x61, 0x69,
0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x34,
0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
0x67, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x69, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
@@ -3991,382 +4054,398 @@ var file_bridge_proto_rawDesc = []byte{
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, 0x49, 0x0a, 0x16, 0x4d,
+ 0x65, 0x64, 0x12, 0x58, 0x0a, 0x15, 0x75, 0x73, 0x65, 0x53, 0x73, 0x6c, 0x46, 0x6f, 0x72, 0x49,
+ 0x6d, 0x61, 0x70, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x73, 0x65, 0x53, 0x73, 0x6c, 0x46,
+ 0x6f, 0x72, 0x49, 0x6d, 0x61, 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,
+ 0x49, 0x6d, 0x61, 0x70, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05,
+ 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x49, 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,
+ 0x2f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e,
+ 0x67, 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, 0x1c,
+ 0x0a, 0x1a, 0x55, 0x73, 0x65, 0x53, 0x73, 0x6c, 0x46, 0x6f, 0x72, 0x49, 0x6d, 0x61, 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, 0xff, 0x01, 0x0a, 0x0d, 0x4b, 0x65, 0x79,
+ 0x63, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x5b, 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, 0x21, 0x2e, 0x67, 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, 0x40, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x4e, 0x6f,
+ 0x4b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18,
+ 0x2e, 0x67, 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, 0x46, 0x0a, 0x0f, 0x72, 0x65, 0x62,
+ 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 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, 0xd9, 0x02, 0x0a, 0x09, 0x4d, 0x61, 0x69, 0x6c,
+ 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x68, 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, 0x22, 0x2e, 0x67, 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,
+ 0x43, 0x0a, 0x0e, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 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, 0x55, 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, 0x1f, 0x2e, 0x67, 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, 0x3d, 0x0a, 0x0c, 0x61,
+ 0x70, 0x69, 0x43, 0x65, 0x72, 0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x17, 0x2e, 0x67, 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, 0xfb, 0x01, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x45,
+ 0x76, 0x65, 0x6e, 0x74, 0x12, 0x5e, 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, 0x22, 0x2e, 0x67, 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, 0x49, 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, 0x1b,
+ 0x2e, 0x67, 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,
+ 0x3a, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 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, 0x2a, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 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, 0x2a, 0x71, 0x0a,
+ 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x4f, 0x47,
+ 0x5f, 0x50, 0x41, 0x4e, 0x49, 0x43, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x4f, 0x47, 0x5f,
+ 0x46, 0x41, 0x54, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x4f, 0x47, 0x5f, 0x45,
+ 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x4f, 0x47, 0x5f, 0x57, 0x41,
+ 0x52, 0x4e, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x4f, 0x47, 0x5f, 0x49, 0x4e, 0x46, 0x4f,
+ 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x4f, 0x47, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10,
+ 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x4f, 0x47, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x06,
+ 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,
- 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x67, 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, 0xff, 0x01, 0x0a, 0x0d, 0x4b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x76, 0x65,
- 0x6e, 0x74, 0x12, 0x5b, 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, 0x21, 0x2e, 0x67, 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,
- 0x40, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x4e, 0x6f, 0x4b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 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, 0x46, 0x0a, 0x0f, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x63,
- 0x68, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 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,
- 0xd9, 0x02, 0x0a, 0x09, 0x4d, 0x61, 0x69, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x68, 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, 0x22, 0x2e, 0x67, 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, 0x43, 0x0a, 0x0e, 0x61, 0x64, 0x64, 0x72, 0x65,
- 0x73, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x19, 0x2e, 0x67, 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, 0x55, 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, 0x1f, 0x2e, 0x67, 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, 0x3d, 0x0a, 0x0c, 0x61, 0x70, 0x69, 0x43, 0x65, 0x72, 0x74, 0x49, 0x73,
- 0x73, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 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, 0xfb,
- 0x01, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x5e, 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, 0x22, 0x2e,
- 0x67, 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, 0x49, 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, 0x1b, 0x2e, 0x67, 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, 0x3a, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x43,
- 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67,
- 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, 0x2a, 0x0a, 0x10, 0x55, 0x73, 0x65,
- 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 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, 0x2a, 0x71, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65,
- 0x6c, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x4f, 0x47, 0x5f, 0x50, 0x41, 0x4e, 0x49, 0x43, 0x10, 0x00,
- 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x4f, 0x47, 0x5f, 0x46, 0x41, 0x54, 0x41, 0x4c, 0x10, 0x01, 0x12,
- 0x0d, 0x0a, 0x09, 0x4c, 0x4f, 0x47, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x0c,
- 0x0a, 0x08, 0x4c, 0x4f, 0x47, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08,
- 0x4c, 0x4f, 0x47, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x4f,
- 0x47, 0x5f, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x4f, 0x47,
- 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x06, 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, 0x9b, 0x1f, 0x0a, 0x06, 0x42, 0x72, 0x69, 0x64, 0x67,
- 0x65, 0x12, 0x49, 0x0a, 0x0b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73,
- 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, 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, 0x0b,
- 0x41, 0x64, 0x64, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x18, 0x2e, 0x67, 0x72,
- 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 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, 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,
+ 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, 0xa8,
+ 0x20, 0x0a, 0x06, 0x42, 0x72, 0x69, 0x64, 0x67, 0x65, 0x12, 0x49, 0x0a, 0x0b, 0x43, 0x68, 0x65,
+ 0x63, 0x6b, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 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, 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, 0x0b, 0x41, 0x64, 0x64, 0x4c, 0x6f, 0x67, 0x45, 0x6e,
+ 0x74, 0x72, 0x79, 0x12, 0x18, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x4c, 0x6f,
+ 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 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, 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, 0x39, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x16, 0x2e, 0x67,
+ 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, 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,
+ 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, 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, 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, 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, 0x49, 0x0a, 0x13, 0x53, 0x65,
- 0x74, 0x49, 0x73, 0x41, 0x6c, 0x6c, 0x4d, 0x61, 0x69, 0x6c, 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, 0x46, 0x0a, 0x10, 0x49, 0x73, 0x41, 0x6c, 0x6c, 0x4d, 0x61,
- 0x69, 0x6c, 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, 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, 0x40, 0x0a, 0x08,
- 0x4c, 0x6f, 0x67, 0x73, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 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,
- 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,
+ 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, 0x49, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x49, 0x73, 0x41, 0x6c, 0x6c, 0x4d, 0x61,
+ 0x69, 0x6c, 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, 0x46, 0x0a,
+ 0x10, 0x49, 0x73, 0x41, 0x6c, 0x6c, 0x4d, 0x61, 0x69, 0x6c, 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, 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, 0x4c, 0x0a, 0x14, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4e, 0x6f,
- 0x74, 0x65, 0x73, 0x50, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x16, 0x2e, 0x67, 0x6f,
+ 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, 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, 0x16, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x4c,
- 0x69, 0x63, 0x65, 0x6e, 0x73, 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,
+ 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, 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,
+ 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, 0x08, 0x4c, 0x6f, 0x67, 0x73, 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, 0x4c, 0x0a, 0x14, 0x52,
+ 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x73, 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, 0x4e, 0x0a, 0x16, 0x44, 0x65, 0x70,
+ 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 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, 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, 0x3b, 0x0a, 0x09, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x75, 0x67,
+ 0x12, 0x16, 0x2e, 0x67, 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, 0x45, 0x0a, 0x0d, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 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, 0x49, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x4d, 0x61,
+ 0x69, 0x6e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 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, 0x33, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x12, 0x2e, 0x67, 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, 0x36, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x69, 0x6e,
+ 0x32, 0x46, 0x41, 0x12, 0x12, 0x2e, 0x67, 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,
+ 0x3d, 0x0a, 0x0f, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x32, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72,
+ 0x64, 0x73, 0x12, 0x12, 0x2e, 0x67, 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, 0x3d,
+ 0x0a, 0x0a, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x17, 0x2e, 0x67,
+ 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, 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, 0x49, 0x0a,
+ 0x10, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x61, 0x63, 0x68,
+ 0x65, 0x12, 0x1d, 0x2e, 0x67, 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, 0x46, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x55, 0x73, 0x65, 0x53, 0x73, 0x6c, 0x46, 0x6f, 0x72,
+ 0x49, 0x6d, 0x61, 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, 0x49, 0x6d, 0x61, 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,
- 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, 0x3b, 0x0a, 0x09, 0x52,
- 0x65, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x75, 0x67, 0x12, 0x16, 0x2e, 0x67, 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, 0x45, 0x0a, 0x0d, 0x46, 0x6f, 0x72, 0x63,
- 0x65, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 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,
- 0x49, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74,
- 0x61, 0x62, 0x6c, 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, 0x33, 0x0a, 0x05, 0x4c, 0x6f,
- 0x67, 0x69, 0x6e, 0x12, 0x12, 0x2e, 0x67, 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,
- 0x36, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x32, 0x46, 0x41, 0x12, 0x12, 0x2e, 0x67, 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, 0x3d, 0x0a, 0x0f, 0x4c, 0x6f, 0x67, 0x69, 0x6e,
- 0x32, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x12, 0x2e, 0x67, 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, 0x3d, 0x0a, 0x0a, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x41,
- 0x62, 0x6f, 0x72, 0x74, 0x12, 0x17, 0x2e, 0x67, 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,
+ 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, 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, 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,
+ 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, 0x3f, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x73,
+ 0x12, 0x18, 0x2e, 0x67, 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, 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, 0x45,
- 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x6b, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12,
+ 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, 0x4e, 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, 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, 0x49, 0x0a, 0x10, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c,
- 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x1d, 0x2e, 0x67, 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,
+ 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x20, 0x2e, 0x67, 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,
- 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,
+ 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, 0x3d,
+ 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, 0x16, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x73, 0x65,
+ 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a,
+ 0x07, 0x47, 0x65, 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, 0x0a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x73,
+ 0x65, 0x72, 0x12, 0x46, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x70, 0x6c,
+ 0x69, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x2e, 0x67, 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, 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, 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, 0x3f, 0x0a, 0x0b,
- 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x18, 0x2e, 0x67, 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, 0x4e, 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,
+ 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, 0x1a, 0x20, 0x2e, 0x67, 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, 0x3d, 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, 0x16, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x47, 0x65, 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, 0x0a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x12, 0x46, 0x0a,
- 0x10, 0x53, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x4d, 0x6f, 0x64,
- 0x65, 0x12, 0x1a, 0x2e, 0x67, 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,
+ 0x74, 0x79, 0x12, 0x51, 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, 0x1f, 0x2e, 0x67,
+ 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, 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, 0x51, 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, 0x1f, 0x2e, 0x67, 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, 0x3f, 0x0a, 0x0e, 0x52, 0x75, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65,
- 0x61, 0x6d, 0x12, 0x18, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53,
- 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x67,
- 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x30,
- 0x01, 0x12, 0x41, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74,
- 0x72, 0x65, 0x61, 0x6d, 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, 0x42, 0x36, 0x5a, 0x34, 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, 0x76, 0x32, 0x2f, 0x69,
- 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x33,
+ 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3f, 0x0a, 0x0e, 0x52, 0x75, 0x6e, 0x45, 0x76, 0x65, 0x6e,
+ 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x18, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x45,
+ 0x76, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x11, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45,
+ 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x12, 0x41, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x70, 0x45, 0x76,
+ 0x65, 0x6e, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 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, 0x42, 0x36, 0x5a, 0x34, 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, 0x76, 0x32, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x72, 0x70,
+ 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -4382,7 +4461,7 @@ func file_bridge_proto_rawDescGZIP() []byte {
}
var file_bridge_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
-var file_bridge_proto_msgTypes = make([]protoimpl.MessageInfo, 57)
+var file_bridge_proto_msgTypes = make([]protoimpl.MessageInfo, 58)
var file_bridge_proto_goTypes = []interface{}{
(LogLevel)(0), // 0: grpc.LogLevel
(LoginErrorType)(0), // 1: grpc.LoginErrorType
@@ -4432,24 +4511,25 @@ var file_bridge_proto_goTypes = []interface{}{
(*MailSettingsEvent)(nil), // 45: grpc.MailSettingsEvent
(*MailSettingsErrorEvent)(nil), // 46: grpc.MailSettingsErrorEvent
(*UseSslForSmtpFinishedEvent)(nil), // 47: grpc.UseSslForSmtpFinishedEvent
- (*ChangePortsFinishedEvent)(nil), // 48: grpc.ChangePortsFinishedEvent
- (*KeychainEvent)(nil), // 49: grpc.KeychainEvent
- (*ChangeKeychainFinishedEvent)(nil), // 50: grpc.ChangeKeychainFinishedEvent
- (*HasNoKeychainEvent)(nil), // 51: grpc.HasNoKeychainEvent
- (*RebuildKeychainEvent)(nil), // 52: grpc.RebuildKeychainEvent
- (*MailEvent)(nil), // 53: grpc.MailEvent
- (*NoActiveKeyForRecipientEvent)(nil), // 54: grpc.NoActiveKeyForRecipientEvent
- (*AddressChangedEvent)(nil), // 55: grpc.AddressChangedEvent
- (*AddressChangedLogoutEvent)(nil), // 56: grpc.AddressChangedLogoutEvent
- (*ApiCertIssueEvent)(nil), // 57: grpc.ApiCertIssueEvent
- (*UserEvent)(nil), // 58: grpc.UserEvent
- (*ToggleSplitModeFinishedEvent)(nil), // 59: grpc.ToggleSplitModeFinishedEvent
- (*UserDisconnectedEvent)(nil), // 60: grpc.UserDisconnectedEvent
- (*UserChangedEvent)(nil), // 61: grpc.UserChangedEvent
- (*wrapperspb.StringValue)(nil), // 62: google.protobuf.StringValue
- (*emptypb.Empty)(nil), // 63: google.protobuf.Empty
- (*wrapperspb.BoolValue)(nil), // 64: google.protobuf.BoolValue
- (*wrapperspb.Int32Value)(nil), // 65: google.protobuf.Int32Value
+ (*UseSslForImapFinishedEvent)(nil), // 48: grpc.UseSslForImapFinishedEvent
+ (*ChangePortsFinishedEvent)(nil), // 49: grpc.ChangePortsFinishedEvent
+ (*KeychainEvent)(nil), // 50: grpc.KeychainEvent
+ (*ChangeKeychainFinishedEvent)(nil), // 51: grpc.ChangeKeychainFinishedEvent
+ (*HasNoKeychainEvent)(nil), // 52: grpc.HasNoKeychainEvent
+ (*RebuildKeychainEvent)(nil), // 53: grpc.RebuildKeychainEvent
+ (*MailEvent)(nil), // 54: grpc.MailEvent
+ (*NoActiveKeyForRecipientEvent)(nil), // 55: grpc.NoActiveKeyForRecipientEvent
+ (*AddressChangedEvent)(nil), // 56: grpc.AddressChangedEvent
+ (*AddressChangedLogoutEvent)(nil), // 57: grpc.AddressChangedLogoutEvent
+ (*ApiCertIssueEvent)(nil), // 58: grpc.ApiCertIssueEvent
+ (*UserEvent)(nil), // 59: grpc.UserEvent
+ (*ToggleSplitModeFinishedEvent)(nil), // 60: grpc.ToggleSplitModeFinishedEvent
+ (*UserDisconnectedEvent)(nil), // 61: grpc.UserDisconnectedEvent
+ (*UserChangedEvent)(nil), // 62: grpc.UserChangedEvent
+ (*wrapperspb.StringValue)(nil), // 63: google.protobuf.StringValue
+ (*emptypb.Empty)(nil), // 64: google.protobuf.Empty
+ (*wrapperspb.BoolValue)(nil), // 65: google.protobuf.BoolValue
+ (*wrapperspb.Int32Value)(nil), // 66: google.protobuf.Int32Value
}
var file_bridge_proto_depIdxs = []int32{
0, // 0: grpc.AddLogEntryRequest.level:type_name -> grpc.LogLevel
@@ -4459,9 +4539,9 @@ var file_bridge_proto_depIdxs = []int32{
31, // 4: grpc.StreamEvent.update:type_name -> grpc.UpdateEvent
40, // 5: grpc.StreamEvent.cache:type_name -> grpc.CacheEvent
45, // 6: grpc.StreamEvent.mailSettings:type_name -> grpc.MailSettingsEvent
- 49, // 7: grpc.StreamEvent.keychain:type_name -> grpc.KeychainEvent
- 53, // 8: grpc.StreamEvent.mail:type_name -> grpc.MailEvent
- 58, // 9: grpc.StreamEvent.user:type_name -> grpc.UserEvent
+ 50, // 7: grpc.StreamEvent.keychain:type_name -> grpc.KeychainEvent
+ 54, // 8: grpc.StreamEvent.mail:type_name -> grpc.MailEvent
+ 59, // 9: grpc.StreamEvent.user:type_name -> grpc.UserEvent
19, // 10: grpc.AppEvent.internetStatus:type_name -> grpc.InternetStatusEvent
20, // 11: grpc.AppEvent.toggleAutostartFinished:type_name -> grpc.ToggleAutostartFinishedEvent
21, // 12: grpc.AppEvent.resetFinished:type_name -> grpc.ResetFinishedEvent
@@ -4491,139 +4571,144 @@ var file_bridge_proto_depIdxs = []int32{
3, // 36: grpc.CacheErrorEvent.type:type_name -> grpc.CacheErrorType
46, // 37: grpc.MailSettingsEvent.error:type_name -> grpc.MailSettingsErrorEvent
47, // 38: grpc.MailSettingsEvent.useSslForSmtpFinished:type_name -> grpc.UseSslForSmtpFinishedEvent
- 48, // 39: grpc.MailSettingsEvent.changePortsFinished:type_name -> grpc.ChangePortsFinishedEvent
- 4, // 40: grpc.MailSettingsErrorEvent.type:type_name -> grpc.MailSettingsErrorType
- 50, // 41: grpc.KeychainEvent.changeKeychainFinished:type_name -> grpc.ChangeKeychainFinishedEvent
- 51, // 42: grpc.KeychainEvent.hasNoKeychain:type_name -> grpc.HasNoKeychainEvent
- 52, // 43: grpc.KeychainEvent.rebuildKeychain:type_name -> grpc.RebuildKeychainEvent
- 54, // 44: grpc.MailEvent.noActiveKeyForRecipientEvent:type_name -> grpc.NoActiveKeyForRecipientEvent
- 55, // 45: grpc.MailEvent.addressChanged:type_name -> grpc.AddressChangedEvent
- 56, // 46: grpc.MailEvent.addressChangedLogout:type_name -> grpc.AddressChangedLogoutEvent
- 57, // 47: grpc.MailEvent.apiCertIssue:type_name -> grpc.ApiCertIssueEvent
- 59, // 48: grpc.UserEvent.toggleSplitModeFinished:type_name -> grpc.ToggleSplitModeFinishedEvent
- 60, // 49: grpc.UserEvent.userDisconnected:type_name -> grpc.UserDisconnectedEvent
- 61, // 50: grpc.UserEvent.userChanged:type_name -> grpc.UserChangedEvent
- 62, // 51: grpc.Bridge.CheckTokens:input_type -> google.protobuf.StringValue
- 5, // 52: grpc.Bridge.AddLogEntry:input_type -> grpc.AddLogEntryRequest
- 63, // 53: grpc.Bridge.GuiReady:input_type -> google.protobuf.Empty
- 63, // 54: grpc.Bridge.Quit:input_type -> google.protobuf.Empty
- 63, // 55: grpc.Bridge.Restart:input_type -> google.protobuf.Empty
- 63, // 56: grpc.Bridge.ShowOnStartup:input_type -> google.protobuf.Empty
- 63, // 57: grpc.Bridge.ShowSplashScreen:input_type -> google.protobuf.Empty
- 63, // 58: grpc.Bridge.IsFirstGuiStart:input_type -> google.protobuf.Empty
- 64, // 59: grpc.Bridge.SetIsAutostartOn:input_type -> google.protobuf.BoolValue
- 63, // 60: grpc.Bridge.IsAutostartOn:input_type -> google.protobuf.Empty
- 64, // 61: grpc.Bridge.SetIsBetaEnabled:input_type -> google.protobuf.BoolValue
- 63, // 62: grpc.Bridge.IsBetaEnabled:input_type -> google.protobuf.Empty
- 64, // 63: grpc.Bridge.SetIsAllMailVisible:input_type -> google.protobuf.BoolValue
- 63, // 64: grpc.Bridge.IsAllMailVisible:input_type -> google.protobuf.Empty
- 63, // 65: grpc.Bridge.GoOs:input_type -> google.protobuf.Empty
- 63, // 66: grpc.Bridge.TriggerReset:input_type -> google.protobuf.Empty
- 63, // 67: grpc.Bridge.Version:input_type -> google.protobuf.Empty
- 63, // 68: grpc.Bridge.LogsPath:input_type -> google.protobuf.Empty
- 63, // 69: grpc.Bridge.LicensePath:input_type -> google.protobuf.Empty
- 63, // 70: grpc.Bridge.ReleaseNotesPageLink:input_type -> google.protobuf.Empty
- 63, // 71: grpc.Bridge.DependencyLicensesLink:input_type -> google.protobuf.Empty
- 63, // 72: grpc.Bridge.LandingPageLink:input_type -> google.protobuf.Empty
- 62, // 73: grpc.Bridge.SetColorSchemeName:input_type -> google.protobuf.StringValue
- 63, // 74: grpc.Bridge.ColorSchemeName:input_type -> google.protobuf.Empty
- 63, // 75: grpc.Bridge.CurrentEmailClient:input_type -> google.protobuf.Empty
- 6, // 76: grpc.Bridge.ReportBug:input_type -> grpc.ReportBugRequest
- 62, // 77: grpc.Bridge.ForceLauncher:input_type -> google.protobuf.StringValue
- 62, // 78: grpc.Bridge.SetMainExecutable:input_type -> google.protobuf.StringValue
- 7, // 79: grpc.Bridge.Login:input_type -> grpc.LoginRequest
- 7, // 80: grpc.Bridge.Login2FA:input_type -> grpc.LoginRequest
- 7, // 81: grpc.Bridge.Login2Passwords:input_type -> grpc.LoginRequest
- 8, // 82: grpc.Bridge.LoginAbort:input_type -> grpc.LoginAbortRequest
- 63, // 83: grpc.Bridge.CheckUpdate:input_type -> google.protobuf.Empty
- 63, // 84: grpc.Bridge.InstallUpdate:input_type -> google.protobuf.Empty
- 64, // 85: grpc.Bridge.SetIsAutomaticUpdateOn:input_type -> google.protobuf.BoolValue
- 63, // 86: grpc.Bridge.IsAutomaticUpdateOn:input_type -> google.protobuf.Empty
- 63, // 87: grpc.Bridge.DiskCachePath:input_type -> google.protobuf.Empty
- 9, // 88: grpc.Bridge.ChangeLocalCache:input_type -> grpc.ChangeLocalCacheRequest
- 64, // 89: grpc.Bridge.SetIsDoHEnabled:input_type -> google.protobuf.BoolValue
- 63, // 90: grpc.Bridge.IsDoHEnabled:input_type -> google.protobuf.Empty
- 64, // 91: grpc.Bridge.SetUseSslForSmtp:input_type -> google.protobuf.BoolValue
- 63, // 92: grpc.Bridge.UseSslForSmtp:input_type -> google.protobuf.Empty
- 63, // 93: grpc.Bridge.Hostname:input_type -> google.protobuf.Empty
- 63, // 94: grpc.Bridge.ImapPort:input_type -> google.protobuf.Empty
- 63, // 95: grpc.Bridge.SmtpPort:input_type -> google.protobuf.Empty
- 10, // 96: grpc.Bridge.ChangePorts:input_type -> grpc.ChangePortsRequest
- 65, // 97: grpc.Bridge.IsPortFree:input_type -> google.protobuf.Int32Value
- 63, // 98: grpc.Bridge.AvailableKeychains:input_type -> google.protobuf.Empty
- 62, // 99: grpc.Bridge.SetCurrentKeychain:input_type -> google.protobuf.StringValue
- 63, // 100: grpc.Bridge.CurrentKeychain:input_type -> google.protobuf.Empty
- 63, // 101: grpc.Bridge.GetUserList:input_type -> google.protobuf.Empty
- 62, // 102: grpc.Bridge.GetUser:input_type -> google.protobuf.StringValue
- 13, // 103: grpc.Bridge.SetUserSplitMode:input_type -> grpc.UserSplitModeRequest
- 62, // 104: grpc.Bridge.LogoutUser:input_type -> google.protobuf.StringValue
- 62, // 105: grpc.Bridge.RemoveUser:input_type -> google.protobuf.StringValue
- 15, // 106: grpc.Bridge.ConfigureUserAppleMail:input_type -> grpc.ConfigureAppleMailRequest
- 16, // 107: grpc.Bridge.RunEventStream:input_type -> grpc.EventStreamRequest
- 63, // 108: grpc.Bridge.StopEventStream:input_type -> google.protobuf.Empty
- 62, // 109: grpc.Bridge.CheckTokens:output_type -> google.protobuf.StringValue
- 63, // 110: grpc.Bridge.AddLogEntry:output_type -> google.protobuf.Empty
- 63, // 111: grpc.Bridge.GuiReady:output_type -> google.protobuf.Empty
- 63, // 112: grpc.Bridge.Quit:output_type -> google.protobuf.Empty
- 63, // 113: grpc.Bridge.Restart:output_type -> google.protobuf.Empty
- 64, // 114: grpc.Bridge.ShowOnStartup:output_type -> google.protobuf.BoolValue
- 64, // 115: grpc.Bridge.ShowSplashScreen:output_type -> google.protobuf.BoolValue
- 64, // 116: grpc.Bridge.IsFirstGuiStart:output_type -> google.protobuf.BoolValue
- 63, // 117: grpc.Bridge.SetIsAutostartOn:output_type -> google.protobuf.Empty
- 64, // 118: grpc.Bridge.IsAutostartOn:output_type -> google.protobuf.BoolValue
- 63, // 119: grpc.Bridge.SetIsBetaEnabled:output_type -> google.protobuf.Empty
- 64, // 120: grpc.Bridge.IsBetaEnabled:output_type -> google.protobuf.BoolValue
- 63, // 121: grpc.Bridge.SetIsAllMailVisible:output_type -> google.protobuf.Empty
- 64, // 122: grpc.Bridge.IsAllMailVisible:output_type -> google.protobuf.BoolValue
- 62, // 123: grpc.Bridge.GoOs:output_type -> google.protobuf.StringValue
- 63, // 124: grpc.Bridge.TriggerReset:output_type -> google.protobuf.Empty
- 62, // 125: grpc.Bridge.Version:output_type -> google.protobuf.StringValue
- 62, // 126: grpc.Bridge.LogsPath:output_type -> google.protobuf.StringValue
- 62, // 127: grpc.Bridge.LicensePath:output_type -> google.protobuf.StringValue
- 62, // 128: grpc.Bridge.ReleaseNotesPageLink:output_type -> google.protobuf.StringValue
- 62, // 129: grpc.Bridge.DependencyLicensesLink:output_type -> google.protobuf.StringValue
- 62, // 130: grpc.Bridge.LandingPageLink:output_type -> google.protobuf.StringValue
- 63, // 131: grpc.Bridge.SetColorSchemeName:output_type -> google.protobuf.Empty
- 62, // 132: grpc.Bridge.ColorSchemeName:output_type -> google.protobuf.StringValue
- 62, // 133: grpc.Bridge.CurrentEmailClient:output_type -> google.protobuf.StringValue
- 63, // 134: grpc.Bridge.ReportBug:output_type -> google.protobuf.Empty
- 63, // 135: grpc.Bridge.ForceLauncher:output_type -> google.protobuf.Empty
- 63, // 136: grpc.Bridge.SetMainExecutable:output_type -> google.protobuf.Empty
- 63, // 137: grpc.Bridge.Login:output_type -> google.protobuf.Empty
- 63, // 138: grpc.Bridge.Login2FA:output_type -> google.protobuf.Empty
- 63, // 139: grpc.Bridge.Login2Passwords:output_type -> google.protobuf.Empty
- 63, // 140: grpc.Bridge.LoginAbort:output_type -> google.protobuf.Empty
- 63, // 141: grpc.Bridge.CheckUpdate:output_type -> google.protobuf.Empty
- 63, // 142: grpc.Bridge.InstallUpdate:output_type -> google.protobuf.Empty
- 63, // 143: grpc.Bridge.SetIsAutomaticUpdateOn:output_type -> google.protobuf.Empty
- 64, // 144: grpc.Bridge.IsAutomaticUpdateOn:output_type -> google.protobuf.BoolValue
- 62, // 145: grpc.Bridge.DiskCachePath:output_type -> google.protobuf.StringValue
- 63, // 146: grpc.Bridge.ChangeLocalCache:output_type -> google.protobuf.Empty
- 63, // 147: grpc.Bridge.SetIsDoHEnabled:output_type -> google.protobuf.Empty
- 64, // 148: grpc.Bridge.IsDoHEnabled:output_type -> google.protobuf.BoolValue
- 63, // 149: grpc.Bridge.SetUseSslForSmtp:output_type -> google.protobuf.Empty
- 64, // 150: grpc.Bridge.UseSslForSmtp:output_type -> google.protobuf.BoolValue
- 62, // 151: grpc.Bridge.Hostname:output_type -> google.protobuf.StringValue
- 65, // 152: grpc.Bridge.ImapPort:output_type -> google.protobuf.Int32Value
- 65, // 153: grpc.Bridge.SmtpPort:output_type -> google.protobuf.Int32Value
- 63, // 154: grpc.Bridge.ChangePorts:output_type -> google.protobuf.Empty
- 64, // 155: grpc.Bridge.IsPortFree:output_type -> google.protobuf.BoolValue
- 11, // 156: grpc.Bridge.AvailableKeychains:output_type -> grpc.AvailableKeychainsResponse
- 63, // 157: grpc.Bridge.SetCurrentKeychain:output_type -> google.protobuf.Empty
- 62, // 158: grpc.Bridge.CurrentKeychain:output_type -> google.protobuf.StringValue
- 14, // 159: grpc.Bridge.GetUserList:output_type -> grpc.UserListResponse
- 12, // 160: grpc.Bridge.GetUser:output_type -> grpc.User
- 63, // 161: grpc.Bridge.SetUserSplitMode:output_type -> google.protobuf.Empty
- 63, // 162: grpc.Bridge.LogoutUser:output_type -> google.protobuf.Empty
- 63, // 163: grpc.Bridge.RemoveUser:output_type -> google.protobuf.Empty
- 63, // 164: grpc.Bridge.ConfigureUserAppleMail:output_type -> google.protobuf.Empty
- 17, // 165: grpc.Bridge.RunEventStream:output_type -> grpc.StreamEvent
- 63, // 166: grpc.Bridge.StopEventStream:output_type -> google.protobuf.Empty
- 109, // [109:167] is the sub-list for method output_type
- 51, // [51:109] is the sub-list for method input_type
- 51, // [51:51] is the sub-list for extension type_name
- 51, // [51:51] is the sub-list for extension extendee
- 0, // [0:51] is the sub-list for field type_name
+ 49, // 39: grpc.MailSettingsEvent.changePortsFinished:type_name -> grpc.ChangePortsFinishedEvent
+ 48, // 40: grpc.MailSettingsEvent.useSslForImapFinished:type_name -> grpc.UseSslForImapFinishedEvent
+ 4, // 41: grpc.MailSettingsErrorEvent.type:type_name -> grpc.MailSettingsErrorType
+ 51, // 42: grpc.KeychainEvent.changeKeychainFinished:type_name -> grpc.ChangeKeychainFinishedEvent
+ 52, // 43: grpc.KeychainEvent.hasNoKeychain:type_name -> grpc.HasNoKeychainEvent
+ 53, // 44: grpc.KeychainEvent.rebuildKeychain:type_name -> grpc.RebuildKeychainEvent
+ 55, // 45: grpc.MailEvent.noActiveKeyForRecipientEvent:type_name -> grpc.NoActiveKeyForRecipientEvent
+ 56, // 46: grpc.MailEvent.addressChanged:type_name -> grpc.AddressChangedEvent
+ 57, // 47: grpc.MailEvent.addressChangedLogout:type_name -> grpc.AddressChangedLogoutEvent
+ 58, // 48: grpc.MailEvent.apiCertIssue:type_name -> grpc.ApiCertIssueEvent
+ 60, // 49: grpc.UserEvent.toggleSplitModeFinished:type_name -> grpc.ToggleSplitModeFinishedEvent
+ 61, // 50: grpc.UserEvent.userDisconnected:type_name -> grpc.UserDisconnectedEvent
+ 62, // 51: grpc.UserEvent.userChanged:type_name -> grpc.UserChangedEvent
+ 63, // 52: grpc.Bridge.CheckTokens:input_type -> google.protobuf.StringValue
+ 5, // 53: grpc.Bridge.AddLogEntry:input_type -> grpc.AddLogEntryRequest
+ 64, // 54: grpc.Bridge.GuiReady:input_type -> google.protobuf.Empty
+ 64, // 55: grpc.Bridge.Quit:input_type -> google.protobuf.Empty
+ 64, // 56: grpc.Bridge.Restart:input_type -> google.protobuf.Empty
+ 64, // 57: grpc.Bridge.ShowOnStartup:input_type -> google.protobuf.Empty
+ 64, // 58: grpc.Bridge.ShowSplashScreen:input_type -> google.protobuf.Empty
+ 64, // 59: grpc.Bridge.IsFirstGuiStart:input_type -> google.protobuf.Empty
+ 65, // 60: grpc.Bridge.SetIsAutostartOn:input_type -> google.protobuf.BoolValue
+ 64, // 61: grpc.Bridge.IsAutostartOn:input_type -> google.protobuf.Empty
+ 65, // 62: grpc.Bridge.SetIsBetaEnabled:input_type -> google.protobuf.BoolValue
+ 64, // 63: grpc.Bridge.IsBetaEnabled:input_type -> google.protobuf.Empty
+ 65, // 64: grpc.Bridge.SetIsAllMailVisible:input_type -> google.protobuf.BoolValue
+ 64, // 65: grpc.Bridge.IsAllMailVisible:input_type -> google.protobuf.Empty
+ 64, // 66: grpc.Bridge.GoOs:input_type -> google.protobuf.Empty
+ 64, // 67: grpc.Bridge.TriggerReset:input_type -> google.protobuf.Empty
+ 64, // 68: grpc.Bridge.Version:input_type -> google.protobuf.Empty
+ 64, // 69: grpc.Bridge.LogsPath:input_type -> google.protobuf.Empty
+ 64, // 70: grpc.Bridge.LicensePath:input_type -> google.protobuf.Empty
+ 64, // 71: grpc.Bridge.ReleaseNotesPageLink:input_type -> google.protobuf.Empty
+ 64, // 72: grpc.Bridge.DependencyLicensesLink:input_type -> google.protobuf.Empty
+ 64, // 73: grpc.Bridge.LandingPageLink:input_type -> google.protobuf.Empty
+ 63, // 74: grpc.Bridge.SetColorSchemeName:input_type -> google.protobuf.StringValue
+ 64, // 75: grpc.Bridge.ColorSchemeName:input_type -> google.protobuf.Empty
+ 64, // 76: grpc.Bridge.CurrentEmailClient:input_type -> google.protobuf.Empty
+ 6, // 77: grpc.Bridge.ReportBug:input_type -> grpc.ReportBugRequest
+ 63, // 78: grpc.Bridge.ForceLauncher:input_type -> google.protobuf.StringValue
+ 63, // 79: grpc.Bridge.SetMainExecutable:input_type -> google.protobuf.StringValue
+ 7, // 80: grpc.Bridge.Login:input_type -> grpc.LoginRequest
+ 7, // 81: grpc.Bridge.Login2FA:input_type -> grpc.LoginRequest
+ 7, // 82: grpc.Bridge.Login2Passwords:input_type -> grpc.LoginRequest
+ 8, // 83: grpc.Bridge.LoginAbort:input_type -> grpc.LoginAbortRequest
+ 64, // 84: grpc.Bridge.CheckUpdate:input_type -> google.protobuf.Empty
+ 64, // 85: grpc.Bridge.InstallUpdate:input_type -> google.protobuf.Empty
+ 65, // 86: grpc.Bridge.SetIsAutomaticUpdateOn:input_type -> google.protobuf.BoolValue
+ 64, // 87: grpc.Bridge.IsAutomaticUpdateOn:input_type -> google.protobuf.Empty
+ 64, // 88: grpc.Bridge.DiskCachePath:input_type -> google.protobuf.Empty
+ 9, // 89: grpc.Bridge.ChangeLocalCache:input_type -> grpc.ChangeLocalCacheRequest
+ 65, // 90: grpc.Bridge.SetIsDoHEnabled:input_type -> google.protobuf.BoolValue
+ 64, // 91: grpc.Bridge.IsDoHEnabled:input_type -> google.protobuf.Empty
+ 65, // 92: grpc.Bridge.SetUseSslForSmtp:input_type -> google.protobuf.BoolValue
+ 64, // 93: grpc.Bridge.UseSslForSmtp:input_type -> google.protobuf.Empty
+ 65, // 94: grpc.Bridge.SetUseSslForImap:input_type -> google.protobuf.BoolValue
+ 64, // 95: grpc.Bridge.UseSslForImap:input_type -> google.protobuf.Empty
+ 64, // 96: grpc.Bridge.Hostname:input_type -> google.protobuf.Empty
+ 64, // 97: grpc.Bridge.ImapPort:input_type -> google.protobuf.Empty
+ 64, // 98: grpc.Bridge.SmtpPort:input_type -> google.protobuf.Empty
+ 10, // 99: grpc.Bridge.ChangePorts:input_type -> grpc.ChangePortsRequest
+ 66, // 100: grpc.Bridge.IsPortFree:input_type -> google.protobuf.Int32Value
+ 64, // 101: grpc.Bridge.AvailableKeychains:input_type -> google.protobuf.Empty
+ 63, // 102: grpc.Bridge.SetCurrentKeychain:input_type -> google.protobuf.StringValue
+ 64, // 103: grpc.Bridge.CurrentKeychain:input_type -> google.protobuf.Empty
+ 64, // 104: grpc.Bridge.GetUserList:input_type -> google.protobuf.Empty
+ 63, // 105: grpc.Bridge.GetUser:input_type -> google.protobuf.StringValue
+ 13, // 106: grpc.Bridge.SetUserSplitMode:input_type -> grpc.UserSplitModeRequest
+ 63, // 107: grpc.Bridge.LogoutUser:input_type -> google.protobuf.StringValue
+ 63, // 108: grpc.Bridge.RemoveUser:input_type -> google.protobuf.StringValue
+ 15, // 109: grpc.Bridge.ConfigureUserAppleMail:input_type -> grpc.ConfigureAppleMailRequest
+ 16, // 110: grpc.Bridge.RunEventStream:input_type -> grpc.EventStreamRequest
+ 64, // 111: grpc.Bridge.StopEventStream:input_type -> google.protobuf.Empty
+ 63, // 112: grpc.Bridge.CheckTokens:output_type -> google.protobuf.StringValue
+ 64, // 113: grpc.Bridge.AddLogEntry:output_type -> google.protobuf.Empty
+ 64, // 114: grpc.Bridge.GuiReady:output_type -> google.protobuf.Empty
+ 64, // 115: grpc.Bridge.Quit:output_type -> google.protobuf.Empty
+ 64, // 116: grpc.Bridge.Restart:output_type -> google.protobuf.Empty
+ 65, // 117: grpc.Bridge.ShowOnStartup:output_type -> google.protobuf.BoolValue
+ 65, // 118: grpc.Bridge.ShowSplashScreen:output_type -> google.protobuf.BoolValue
+ 65, // 119: grpc.Bridge.IsFirstGuiStart:output_type -> google.protobuf.BoolValue
+ 64, // 120: grpc.Bridge.SetIsAutostartOn:output_type -> google.protobuf.Empty
+ 65, // 121: grpc.Bridge.IsAutostartOn:output_type -> google.protobuf.BoolValue
+ 64, // 122: grpc.Bridge.SetIsBetaEnabled:output_type -> google.protobuf.Empty
+ 65, // 123: grpc.Bridge.IsBetaEnabled:output_type -> google.protobuf.BoolValue
+ 64, // 124: grpc.Bridge.SetIsAllMailVisible:output_type -> google.protobuf.Empty
+ 65, // 125: grpc.Bridge.IsAllMailVisible:output_type -> google.protobuf.BoolValue
+ 63, // 126: grpc.Bridge.GoOs:output_type -> google.protobuf.StringValue
+ 64, // 127: grpc.Bridge.TriggerReset:output_type -> google.protobuf.Empty
+ 63, // 128: grpc.Bridge.Version:output_type -> google.protobuf.StringValue
+ 63, // 129: grpc.Bridge.LogsPath:output_type -> google.protobuf.StringValue
+ 63, // 130: grpc.Bridge.LicensePath:output_type -> google.protobuf.StringValue
+ 63, // 131: grpc.Bridge.ReleaseNotesPageLink:output_type -> google.protobuf.StringValue
+ 63, // 132: grpc.Bridge.DependencyLicensesLink:output_type -> google.protobuf.StringValue
+ 63, // 133: grpc.Bridge.LandingPageLink:output_type -> google.protobuf.StringValue
+ 64, // 134: grpc.Bridge.SetColorSchemeName:output_type -> google.protobuf.Empty
+ 63, // 135: grpc.Bridge.ColorSchemeName:output_type -> google.protobuf.StringValue
+ 63, // 136: grpc.Bridge.CurrentEmailClient:output_type -> google.protobuf.StringValue
+ 64, // 137: grpc.Bridge.ReportBug:output_type -> google.protobuf.Empty
+ 64, // 138: grpc.Bridge.ForceLauncher:output_type -> google.protobuf.Empty
+ 64, // 139: grpc.Bridge.SetMainExecutable:output_type -> google.protobuf.Empty
+ 64, // 140: grpc.Bridge.Login:output_type -> google.protobuf.Empty
+ 64, // 141: grpc.Bridge.Login2FA:output_type -> google.protobuf.Empty
+ 64, // 142: grpc.Bridge.Login2Passwords:output_type -> google.protobuf.Empty
+ 64, // 143: grpc.Bridge.LoginAbort:output_type -> google.protobuf.Empty
+ 64, // 144: grpc.Bridge.CheckUpdate:output_type -> google.protobuf.Empty
+ 64, // 145: grpc.Bridge.InstallUpdate:output_type -> google.protobuf.Empty
+ 64, // 146: grpc.Bridge.SetIsAutomaticUpdateOn:output_type -> google.protobuf.Empty
+ 65, // 147: grpc.Bridge.IsAutomaticUpdateOn:output_type -> google.protobuf.BoolValue
+ 63, // 148: grpc.Bridge.DiskCachePath:output_type -> google.protobuf.StringValue
+ 64, // 149: grpc.Bridge.ChangeLocalCache:output_type -> google.protobuf.Empty
+ 64, // 150: grpc.Bridge.SetIsDoHEnabled:output_type -> google.protobuf.Empty
+ 65, // 151: grpc.Bridge.IsDoHEnabled:output_type -> google.protobuf.BoolValue
+ 64, // 152: grpc.Bridge.SetUseSslForSmtp:output_type -> google.protobuf.Empty
+ 65, // 153: grpc.Bridge.UseSslForSmtp:output_type -> google.protobuf.BoolValue
+ 64, // 154: grpc.Bridge.SetUseSslForImap:output_type -> google.protobuf.Empty
+ 65, // 155: grpc.Bridge.UseSslForImap:output_type -> google.protobuf.BoolValue
+ 63, // 156: grpc.Bridge.Hostname:output_type -> google.protobuf.StringValue
+ 66, // 157: grpc.Bridge.ImapPort:output_type -> google.protobuf.Int32Value
+ 66, // 158: grpc.Bridge.SmtpPort:output_type -> google.protobuf.Int32Value
+ 64, // 159: grpc.Bridge.ChangePorts:output_type -> google.protobuf.Empty
+ 65, // 160: grpc.Bridge.IsPortFree:output_type -> google.protobuf.BoolValue
+ 11, // 161: grpc.Bridge.AvailableKeychains:output_type -> grpc.AvailableKeychainsResponse
+ 64, // 162: grpc.Bridge.SetCurrentKeychain:output_type -> google.protobuf.Empty
+ 63, // 163: grpc.Bridge.CurrentKeychain:output_type -> google.protobuf.StringValue
+ 14, // 164: grpc.Bridge.GetUserList:output_type -> grpc.UserListResponse
+ 12, // 165: grpc.Bridge.GetUser:output_type -> grpc.User
+ 64, // 166: grpc.Bridge.SetUserSplitMode:output_type -> google.protobuf.Empty
+ 64, // 167: grpc.Bridge.LogoutUser:output_type -> google.protobuf.Empty
+ 64, // 168: grpc.Bridge.RemoveUser:output_type -> google.protobuf.Empty
+ 64, // 169: grpc.Bridge.ConfigureUserAppleMail:output_type -> google.protobuf.Empty
+ 17, // 170: grpc.Bridge.RunEventStream:output_type -> grpc.StreamEvent
+ 64, // 171: grpc.Bridge.StopEventStream:output_type -> google.protobuf.Empty
+ 112, // [112:172] is the sub-list for method output_type
+ 52, // [52:112] is the sub-list for method input_type
+ 52, // [52:52] is the sub-list for extension type_name
+ 52, // [52:52] is the sub-list for extension extendee
+ 0, // [0:52] is the sub-list for field type_name
}
func init() { file_bridge_proto_init() }
@@ -5149,7 +5234,7 @@ func file_bridge_proto_init() {
}
}
file_bridge_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ChangePortsFinishedEvent); i {
+ switch v := v.(*UseSslForImapFinishedEvent); i {
case 0:
return &v.state
case 1:
@@ -5161,7 +5246,7 @@ func file_bridge_proto_init() {
}
}
file_bridge_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*KeychainEvent); i {
+ switch v := v.(*ChangePortsFinishedEvent); i {
case 0:
return &v.state
case 1:
@@ -5173,7 +5258,7 @@ func file_bridge_proto_init() {
}
}
file_bridge_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ChangeKeychainFinishedEvent); i {
+ switch v := v.(*KeychainEvent); i {
case 0:
return &v.state
case 1:
@@ -5185,7 +5270,7 @@ func file_bridge_proto_init() {
}
}
file_bridge_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HasNoKeychainEvent); i {
+ switch v := v.(*ChangeKeychainFinishedEvent); i {
case 0:
return &v.state
case 1:
@@ -5197,7 +5282,7 @@ func file_bridge_proto_init() {
}
}
file_bridge_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RebuildKeychainEvent); i {
+ switch v := v.(*HasNoKeychainEvent); i {
case 0:
return &v.state
case 1:
@@ -5209,7 +5294,7 @@ func file_bridge_proto_init() {
}
}
file_bridge_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*MailEvent); i {
+ switch v := v.(*RebuildKeychainEvent); i {
case 0:
return &v.state
case 1:
@@ -5221,7 +5306,7 @@ func file_bridge_proto_init() {
}
}
file_bridge_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*NoActiveKeyForRecipientEvent); i {
+ switch v := v.(*MailEvent); i {
case 0:
return &v.state
case 1:
@@ -5233,7 +5318,7 @@ func file_bridge_proto_init() {
}
}
file_bridge_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*AddressChangedEvent); i {
+ switch v := v.(*NoActiveKeyForRecipientEvent); i {
case 0:
return &v.state
case 1:
@@ -5245,7 +5330,7 @@ func file_bridge_proto_init() {
}
}
file_bridge_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*AddressChangedLogoutEvent); i {
+ switch v := v.(*AddressChangedEvent); i {
case 0:
return &v.state
case 1:
@@ -5257,7 +5342,7 @@ func file_bridge_proto_init() {
}
}
file_bridge_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ApiCertIssueEvent); i {
+ switch v := v.(*AddressChangedLogoutEvent); i {
case 0:
return &v.state
case 1:
@@ -5269,7 +5354,7 @@ func file_bridge_proto_init() {
}
}
file_bridge_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*UserEvent); i {
+ switch v := v.(*ApiCertIssueEvent); i {
case 0:
return &v.state
case 1:
@@ -5281,7 +5366,7 @@ func file_bridge_proto_init() {
}
}
file_bridge_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ToggleSplitModeFinishedEvent); i {
+ switch v := v.(*UserEvent); i {
case 0:
return &v.state
case 1:
@@ -5293,7 +5378,7 @@ func file_bridge_proto_init() {
}
}
file_bridge_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*UserDisconnectedEvent); i {
+ switch v := v.(*ToggleSplitModeFinishedEvent); i {
case 0:
return &v.state
case 1:
@@ -5305,6 +5390,18 @@ func file_bridge_proto_init() {
}
}
file_bridge_proto_msgTypes[56].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_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UserChangedEvent); i {
case 0:
return &v.state
@@ -5363,19 +5460,20 @@ func file_bridge_proto_init() {
(*MailSettingsEvent_Error)(nil),
(*MailSettingsEvent_UseSslForSmtpFinished)(nil),
(*MailSettingsEvent_ChangePortsFinished)(nil),
+ (*MailSettingsEvent_UseSslForImapFinished)(nil),
}
- file_bridge_proto_msgTypes[44].OneofWrappers = []interface{}{
+ file_bridge_proto_msgTypes[45].OneofWrappers = []interface{}{
(*KeychainEvent_ChangeKeychainFinished)(nil),
(*KeychainEvent_HasNoKeychain)(nil),
(*KeychainEvent_RebuildKeychain)(nil),
}
- file_bridge_proto_msgTypes[48].OneofWrappers = []interface{}{
+ file_bridge_proto_msgTypes[49].OneofWrappers = []interface{}{
(*MailEvent_NoActiveKeyForRecipientEvent)(nil),
(*MailEvent_AddressChanged)(nil),
(*MailEvent_AddressChangedLogout)(nil),
(*MailEvent_ApiCertIssue)(nil),
}
- file_bridge_proto_msgTypes[53].OneofWrappers = []interface{}{
+ file_bridge_proto_msgTypes[54].OneofWrappers = []interface{}{
(*UserEvent_ToggleSplitModeFinished)(nil),
(*UserEvent_UserDisconnected)(nil),
(*UserEvent_UserChanged)(nil),
@@ -5386,7 +5484,7 @@ func file_bridge_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_bridge_proto_rawDesc,
NumEnums: 5,
- NumMessages: 57,
+ NumMessages: 58,
NumExtensions: 0,
NumServices: 1,
},
diff --git a/internal/frontend/grpc/bridge.proto b/internal/frontend/grpc/bridge.proto
index e84ebe74..16ecd810 100644
--- a/internal/frontend/grpc/bridge.proto
+++ b/internal/frontend/grpc/bridge.proto
@@ -80,6 +80,8 @@ service Bridge {
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 SetUseSslForImap(google.protobuf.BoolValue) returns (google.protobuf.Empty);
+ rpc UseSslForImap(google.protobuf.Empty) returns (google.protobuf.BoolValue);
rpc Hostname(google.protobuf.Empty) returns (google.protobuf.StringValue);
rpc ImapPort(google.protobuf.Empty) returns (google.protobuf.Int32Value);
rpc SmtpPort(google.protobuf.Empty) returns (google.protobuf.Int32Value);
@@ -377,6 +379,7 @@ message MailSettingsEvent {
MailSettingsErrorEvent error = 1;
UseSslForSmtpFinishedEvent useSslForSmtpFinished = 2;
ChangePortsFinishedEvent changePortsFinished = 3;
+ UseSslForImapFinishedEvent useSslForImapFinished = 4;
}
}
@@ -391,6 +394,8 @@ message MailSettingsErrorEvent {
message UseSslForSmtpFinishedEvent {}
+message UseSslForImapFinishedEvent {}
+
message ChangePortsFinishedEvent {}
//**********************************************************
diff --git a/internal/frontend/grpc/bridge_grpc.pb.go b/internal/frontend/grpc/bridge_grpc.pb.go
index 6e60a11f..03af65f2 100644
--- a/internal/frontend/grpc/bridge_grpc.pb.go
+++ b/internal/frontend/grpc/bridge_grpc.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
-// - protoc v3.21.7
+// - protoc v3.19.4
// source: bridge.proto
package grpc
@@ -71,6 +71,8 @@ type BridgeClient interface {
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)
+ SetUseSslForImap(ctx context.Context, in *wrapperspb.BoolValue, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ UseSslForImap(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)
ImapPort(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.Int32Value, error)
SmtpPort(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.Int32Value, error)
@@ -478,6 +480,24 @@ func (c *bridgeClient) UseSslForSmtp(ctx context.Context, in *emptypb.Empty, opt
return out, nil
}
+func (c *bridgeClient) SetUseSslForImap(ctx context.Context, in *wrapperspb.BoolValue, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/grpc.Bridge/SetUseSslForImap", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *bridgeClient) UseSslForImap(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.BoolValue, error) {
+ out := new(wrapperspb.BoolValue)
+ err := c.cc.Invoke(ctx, "/grpc.Bridge/UseSslForImap", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
func (c *bridgeClient) Hostname(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*wrapperspb.StringValue, error) {
out := new(wrapperspb.StringValue)
err := c.cc.Invoke(ctx, "/grpc.Bridge/Hostname", in, out, opts...)
@@ -696,6 +716,8 @@ type BridgeServer interface {
IsDoHEnabled(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error)
SetUseSslForSmtp(context.Context, *wrapperspb.BoolValue) (*emptypb.Empty, error)
UseSslForSmtp(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error)
+ SetUseSslForImap(context.Context, *wrapperspb.BoolValue) (*emptypb.Empty, error)
+ UseSslForImap(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error)
Hostname(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error)
ImapPort(context.Context, *emptypb.Empty) (*wrapperspb.Int32Value, error)
SmtpPort(context.Context, *emptypb.Empty) (*wrapperspb.Int32Value, error)
@@ -848,6 +870,12 @@ func (UnimplementedBridgeServer) SetUseSslForSmtp(context.Context, *wrapperspb.B
func (UnimplementedBridgeServer) UseSslForSmtp(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error) {
return nil, status.Errorf(codes.Unimplemented, "method UseSslForSmtp not implemented")
}
+func (UnimplementedBridgeServer) SetUseSslForImap(context.Context, *wrapperspb.BoolValue) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method SetUseSslForImap not implemented")
+}
+func (UnimplementedBridgeServer) UseSslForImap(context.Context, *emptypb.Empty) (*wrapperspb.BoolValue, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method UseSslForImap not implemented")
+}
func (UnimplementedBridgeServer) Hostname(context.Context, *emptypb.Empty) (*wrapperspb.StringValue, error) {
return nil, status.Errorf(codes.Unimplemented, "method Hostname not implemented")
}
@@ -1665,6 +1693,42 @@ func _Bridge_UseSslForSmtp_Handler(srv interface{}, ctx context.Context, dec fun
return interceptor(ctx, in, info, handler)
}
+func _Bridge_SetUseSslForImap_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.(BridgeServer).SetUseSslForImap(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/grpc.Bridge/SetUseSslForImap",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeServer).SetUseSslForImap(ctx, req.(*wrapperspb.BoolValue))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Bridge_UseSslForImap_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.(BridgeServer).UseSslForImap(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/grpc.Bridge/UseSslForImap",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(BridgeServer).UseSslForImap(ctx, req.(*emptypb.Empty))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
func _Bridge_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 {
@@ -2131,6 +2195,14 @@ var Bridge_ServiceDesc = grpc.ServiceDesc{
MethodName: "UseSslForSmtp",
Handler: _Bridge_UseSslForSmtp_Handler,
},
+ {
+ MethodName: "SetUseSslForImap",
+ Handler: _Bridge_SetUseSslForImap_Handler,
+ },
+ {
+ MethodName: "UseSslForImap",
+ Handler: _Bridge_UseSslForImap_Handler,
+ },
{
MethodName: "Hostname",
Handler: _Bridge_Hostname_Handler,
diff --git a/internal/frontend/grpc/event_factory.go b/internal/frontend/grpc/event_factory.go
index 202aec15..04d27b04 100644
--- a/internal/frontend/grpc/event_factory.go
+++ b/internal/frontend/grpc/event_factory.go
@@ -122,6 +122,10 @@ func NewMailSettingsUseSslForSmtpFinishedEvent() *StreamEvent { //nolint:revive,
return mailSettingsEvent(&MailSettingsEvent{Event: &MailSettingsEvent_UseSslForSmtpFinished{UseSslForSmtpFinished: &UseSslForSmtpFinishedEvent{}}})
}
+func NewMailSettingsUseSslForImapFinishedEvent() *StreamEvent { //nolint:revive,stylecheck
+ return mailSettingsEvent(&MailSettingsEvent{Event: &MailSettingsEvent_UseSslForImapFinished{UseSslForImapFinished: &UseSslForImapFinishedEvent{}}})
+}
+
func NewMailSettingsChangePortFinishedEvent() *StreamEvent {
return mailSettingsEvent(&MailSettingsEvent{Event: &MailSettingsEvent_ChangePortsFinished{ChangePortsFinished: &ChangePortsFinishedEvent{}}})
}
diff --git a/internal/frontend/grpc/service_methods.go b/internal/frontend/grpc/service_methods.go
index 5a987b16..9cde33db 100644
--- a/internal/frontend/grpc/service_methods.go
+++ b/internal/frontend/grpc/service_methods.go
@@ -601,6 +601,27 @@ func (s *Service) UseSslForSmtp(ctx context.Context, _ *emptypb.Empty) (*wrapper
return wrapperspb.Bool(s.bridge.GetSMTPSSL()), nil
}
+func (s *Service) SetUseSslForImap(ctx context.Context, useSsl *wrapperspb.BoolValue) (*emptypb.Empty, error) { //nolint:revive,stylecheck
+ s.log.WithField("useSsl", useSsl.Value).Debug("SetUseSslForImap")
+
+ if s.bridge.GetIMAPSSL() == useSsl.Value {
+ return &emptypb.Empty{}, nil
+ }
+
+ if err := s.bridge.SetIMAPSSL(useSsl.Value); err != nil {
+ s.log.WithError(err).Error("Failed to set IMAP SSL")
+ return nil, status.Errorf(codes.Internal, "failed to set IMAP SSL: %v", err)
+ }
+
+ return &emptypb.Empty{}, s.SendEvent(NewMailSettingsUseSslForImapFinishedEvent())
+}
+
+func (s *Service) UseSslForImap(ctx context.Context, _ *emptypb.Empty) (*wrapperspb.BoolValue, error) { //nolint:revive,stylecheck
+ s.log.Debug("UseSslForImap")
+
+ return wrapperspb.Bool(s.bridge.GetIMAPSSL()), nil
+}
+
func (s *Service) Hostname(ctx context.Context, _ *emptypb.Empty) (*wrapperspb.StringValue, error) {
s.log.Debug("Hostname")
diff --git a/internal/frontend/grpc/service_updates.go b/internal/frontend/grpc/service_updates.go
index 7b7575ab..e2e66d6a 100644
--- a/internal/frontend/grpc/service_updates.go
+++ b/internal/frontend/grpc/service_updates.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package grpc
/*
diff --git a/internal/logging/imap_logger.go b/internal/logging/imap_logger.go
index fcb4cfe5..4d1f840c 100644
--- a/internal/logging/imap_logger.go
+++ b/internal/logging/imap_logger.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package logging
import "github.com/sirupsen/logrus"
diff --git a/internal/logging/smtp_logger.go b/internal/logging/smtp_logger.go
index 02dd7a5e..c893d5d8 100644
--- a/internal/logging/smtp_logger.go
+++ b/internal/logging/smtp_logger.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package logging
import (
diff --git a/internal/safe/map.go b/internal/safe/map.go
index b5a9a801..1d9301f0 100644
--- a/internal/safe/map.go
+++ b/internal/safe/map.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package safe
import (
diff --git a/internal/safe/map_test.go b/internal/safe/map_test.go
index 2af2339d..96465baf 100644
--- a/internal/safe/map_test.go
+++ b/internal/safe/map_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package safe
import "testing"
diff --git a/internal/safe/slice.go b/internal/safe/slice.go
index a2f9e2a8..f6deaed9 100644
--- a/internal/safe/slice.go
+++ b/internal/safe/slice.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package safe
import (
diff --git a/internal/safe/slice_test.go b/internal/safe/slice_test.go
index ae4ef0d9..dc6c68c2 100644
--- a/internal/safe/slice_test.go
+++ b/internal/safe/slice_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package safe
import (
diff --git a/internal/safe/value.go b/internal/safe/value.go
index aa3ef73b..b072d46c 100644
--- a/internal/safe/value.go
+++ b/internal/safe/value.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package safe
import "sync"
diff --git a/internal/safe/value_test.go b/internal/safe/value_test.go
index 4ce4acaf..8a0c4b58 100644
--- a/internal/safe/value_test.go
+++ b/internal/safe/value_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package safe
import "testing"
diff --git a/internal/try/try.go b/internal/try/try.go
index 490cc5ee..82bed86c 100644
--- a/internal/try/try.go
+++ b/internal/try/try.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package try
import (
diff --git a/internal/try/try_test.go b/internal/try/try_test.go
index 6c55646a..06a6806c 100644
--- a/internal/try/try_test.go
+++ b/internal/try/try_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package try
import (
diff --git a/internal/updater/updater.go b/internal/updater/updater.go
index af4a2d3c..d7c41733 100644
--- a/internal/updater/updater.go
+++ b/internal/updater/updater.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package updater
import (
diff --git a/internal/user/errors.go b/internal/user/errors.go
index 0045bcc9..0b6db100 100644
--- a/internal/user/errors.go
+++ b/internal/user/errors.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package user
import "errors"
diff --git a/internal/user/events.go b/internal/user/events.go
index 03c4ca94..79b4e2d1 100644
--- a/internal/user/events.go
+++ b/internal/user/events.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package user
import (
diff --git a/internal/user/imap.go b/internal/user/imap.go
index 9f67608b..04e19c08 100644
--- a/internal/user/imap.go
+++ b/internal/user/imap.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package user
import (
diff --git a/internal/user/keys.go b/internal/user/keys.go
index 7bad30dd..695dcaa4 100644
--- a/internal/user/keys.go
+++ b/internal/user/keys.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package user
import (
diff --git a/internal/user/smtp.go b/internal/user/smtp.go
index 60dc5dfa..c2670946 100644
--- a/internal/user/smtp.go
+++ b/internal/user/smtp.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package user
import (
diff --git a/internal/user/smtp_packages.go b/internal/user/smtp_packages.go
index 7cee3b71..fedf5e1f 100644
--- a/internal/user/smtp_packages.go
+++ b/internal/user/smtp_packages.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package user
import (
diff --git a/internal/user/sync.go b/internal/user/sync.go
index 216eff98..c6549b8d 100644
--- a/internal/user/sync.go
+++ b/internal/user/sync.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package user
import (
diff --git a/internal/user/sync_build.go b/internal/user/sync_build.go
index d16e636f..7944b782 100644
--- a/internal/user/sync_build.go
+++ b/internal/user/sync_build.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package user
import (
diff --git a/internal/user/sync_flusher.go b/internal/user/sync_flusher.go
index 2d873bc3..d4b9e8e5 100644
--- a/internal/user/sync_flusher.go
+++ b/internal/user/sync_flusher.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package user
import (
diff --git a/internal/user/sync_reporter.go b/internal/user/sync_reporter.go
index 35859919..98cefe58 100644
--- a/internal/user/sync_reporter.go
+++ b/internal/user/sync_reporter.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package user
import (
diff --git a/internal/user/types.go b/internal/user/types.go
index fbef2336..3f7294df 100644
--- a/internal/user/types.go
+++ b/internal/user/types.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package user
import (
diff --git a/internal/user/types_test.go b/internal/user/types_test.go
index b9641862..0532cf4a 100644
--- a/internal/user/types_test.go
+++ b/internal/user/types_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package user
import (
diff --git a/internal/user/user.go b/internal/user/user.go
index 5618055a..355e65e2 100644
--- a/internal/user/user.go
+++ b/internal/user/user.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package user
import (
diff --git a/internal/user/user_test.go b/internal/user/user_test.go
index 76c1a9ce..f7b37c60 100644
--- a/internal/user/user_test.go
+++ b/internal/user/user_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package user_test
import (
diff --git a/internal/vault/certs.go b/internal/vault/certs.go
index 7c7b85c1..b1a10873 100644
--- a/internal/vault/certs.go
+++ b/internal/vault/certs.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package vault
func (vault *Vault) GetBridgeTLSCert() []byte {
diff --git a/internal/vault/certs_test.go b/internal/vault/certs_test.go
index 58794973..0ecd67c1 100644
--- a/internal/vault/certs_test.go
+++ b/internal/vault/certs_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package vault_test
import (
diff --git a/internal/vault/cookies.go b/internal/vault/cookies.go
index bf72238b..7b876bc3 100644
--- a/internal/vault/cookies.go
+++ b/internal/vault/cookies.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package vault
func (vault *Vault) GetCookies() ([]byte, error) {
diff --git a/internal/vault/cookies_test.go b/internal/vault/cookies_test.go
index bfc461ee..b57c1722 100644
--- a/internal/vault/cookies_test.go
+++ b/internal/vault/cookies_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package vault_test
import (
diff --git a/internal/vault/helper.go b/internal/vault/helper.go
index 6a9337ca..9ff5b4f4 100644
--- a/internal/vault/helper.go
+++ b/internal/vault/helper.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package vault
import (
diff --git a/internal/vault/settings.go b/internal/vault/settings.go
index 7fb84b87..239a9a16 100644
--- a/internal/vault/settings.go
+++ b/internal/vault/settings.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package vault
import (
diff --git a/internal/vault/settings_test.go b/internal/vault/settings_test.go
index 65297dea..6d64ae8d 100644
--- a/internal/vault/settings_test.go
+++ b/internal/vault/settings_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package vault_test
import (
diff --git a/internal/vault/token.go b/internal/vault/token.go
index df55e3e1..fe6de9ca 100644
--- a/internal/vault/token.go
+++ b/internal/vault/token.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package vault
import (
diff --git a/internal/vault/types.go b/internal/vault/types.go
index 4a7bba26..171ad189 100644
--- a/internal/vault/types.go
+++ b/internal/vault/types.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package vault
import (
diff --git a/internal/vault/user.go b/internal/vault/user.go
index def8271b..408f01c2 100644
--- a/internal/vault/user.go
+++ b/internal/vault/user.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package vault
import (
diff --git a/internal/vault/user_test.go b/internal/vault/user_test.go
index 9a1f77f5..619cb24e 100644
--- a/internal/vault/user_test.go
+++ b/internal/vault/user_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package vault_test
import (
diff --git a/internal/vault/vault.go b/internal/vault/vault.go
index 69cfbb65..f5020737 100644
--- a/internal/vault/vault.go
+++ b/internal/vault/vault.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package vault
import (
diff --git a/internal/vault/vault_test.go b/internal/vault/vault_test.go
index 54749fff..5f69d9c4 100644
--- a/internal/vault/vault_test.go
+++ b/internal/vault/vault_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package vault_test
import (
diff --git a/pkg/restarter/restarter.go b/pkg/restarter/restarter.go
index 841eecf9..70a4c55b 100644
--- a/pkg/restarter/restarter.go
+++ b/pkg/restarter/restarter.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package restarter
import (
diff --git a/pkg/restarter/start_default.go b/pkg/restarter/start_default.go
index 3aa14ee5..7c5ec37b 100644
--- a/pkg/restarter/start_default.go
+++ b/pkg/restarter/start_default.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package restarter
import "os/exec"
diff --git a/pkg/restarter/start_windows.go b/pkg/restarter/start_windows.go
index 781c72f0..cdaefc21 100644
--- a/pkg/restarter/start_windows.go
+++ b/pkg/restarter/start_windows.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package restarter
import "os/exec"
diff --git a/tests/api_test.go b/tests/api_test.go
index e6803a85..853caba7 100644
--- a/tests/api_test.go
+++ b/tests/api_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package tests
import (
diff --git a/tests/bridge_test.go b/tests/bridge_test.go
index 9ffc8cd4..21f4b77a 100644
--- a/tests/bridge_test.go
+++ b/tests/bridge_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package tests
import (
diff --git a/tests/ctx_bridge_test.go b/tests/ctx_bridge_test.go
index cbcd1064..75074398 100644
--- a/tests/ctx_bridge_test.go
+++ b/tests/ctx_bridge_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package tests
import (
diff --git a/tests/ctx_imap_test.go b/tests/ctx_imap_test.go
index 6c92489e..151c7b39 100644
--- a/tests/ctx_imap_test.go
+++ b/tests/ctx_imap_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package tests
import (
diff --git a/tests/ctx_smtp_test.go b/tests/ctx_smtp_test.go
index ece47e47..9aa95f09 100644
--- a/tests/ctx_smtp_test.go
+++ b/tests/ctx_smtp_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package tests
import (
diff --git a/tests/ctx_test.go b/tests/ctx_test.go
index a1295312..ee11c7e7 100644
--- a/tests/ctx_test.go
+++ b/tests/ctx_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package tests
import (
diff --git a/tests/diff.go b/tests/diff.go
index 985d231d..36dbdda4 100644
--- a/tests/diff.go
+++ b/tests/diff.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package tests
import (
diff --git a/tests/diff_test.go b/tests/diff_test.go
index afefafd0..86ff75d0 100644
--- a/tests/diff_test.go
+++ b/tests/diff_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package tests
import (
diff --git a/tests/environment_test.go b/tests/environment_test.go
index c5146aba..02d8f416 100644
--- a/tests/environment_test.go
+++ b/tests/environment_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package tests
import (
diff --git a/tests/fast.go b/tests/fast.go
index 73797794..39af5e21 100644
--- a/tests/fast.go
+++ b/tests/fast.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package tests
import (
diff --git a/tests/imap_test.go b/tests/imap_test.go
index 90117bc7..f189f7f1 100644
--- a/tests/imap_test.go
+++ b/tests/imap_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package tests
import (
diff --git a/tests/smtp_test.go b/tests/smtp_test.go
index 52644513..e4247fe6 100644
--- a/tests/smtp_test.go
+++ b/tests/smtp_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package tests
import (
diff --git a/tests/types_test.go b/tests/types_test.go
index db654d7e..b6d17d52 100644
--- a/tests/types_test.go
+++ b/tests/types_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package tests
import (
diff --git a/tests/user_test.go b/tests/user_test.go
index b5bcdfcb..0ac5cf96 100644
--- a/tests/user_test.go
+++ b/tests/user_test.go
@@ -1,3 +1,20 @@
+// Copyright (c) 2022 Proton AG
+//
+// This file is part of Proton Mail Bridge.
+//
+// Proton Mail Bridge is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Proton Mail Bridge is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Proton Mail Bridge. If not, see .
+
package tests
import (