From 72911235c5e05377fc9dacdb481eb0c0c3922e96 Mon Sep 17 00:00:00 2001 From: Xavier Michelon Date: Thu, 29 Jun 2023 16:52:33 +0200 Subject: [PATCH] feat(GODT-2748): log calls that cause main window to show, with reason. (cherry picked from commit a91d9762db9818b1b10acf4621feef56c1fc5c77) # Conflicts: # internal/frontend/bridge-gui/bridge-gui/QMLBackend.h --- internal/focus/client.go | 3 +- internal/focus/proto/focus.pb.go | 42 +++++++------ internal/focus/proto/focus.proto | 3 +- internal/focus/proto/focus_grpc.pb.go | 13 ++-- internal/focus/service.go | 5 +- .../bridge-gui/MacOS/SecondInstance.mm | 2 +- .../bridge-gui/bridge-gui/QMLBackend.cpp | 42 ++++++++++++- .../bridge-gui/bridge-gui/QMLBackend.h | 4 ++ .../bridge-gui/bridge-gui/TrayIcon.cpp | 28 +++++---- .../frontend/bridge-gui/bridge-gui/main.cpp | 2 +- .../bridgepp/FocusGRPC/FocusGRPCClient.cpp | 7 ++- .../bridgepp/FocusGRPC/FocusGRPCClient.h | 2 +- .../bridgepp/FocusGRPC/focus.grpc.pb.cc | 22 +++---- .../bridgepp/FocusGRPC/focus.grpc.pb.h | 60 +++++++++---------- .../bridgepp/bridgepp/FocusGRPC/focus.pb.cc | 21 +++---- .../bridgepp/bridgepp/FocusGRPC/focus.pb.h | 1 + 16 files changed, 160 insertions(+), 97 deletions(-) diff --git a/internal/focus/client.go b/internal/focus/client.go index 773c2e9e..bcac8dc2 100644 --- a/internal/focus/client.go +++ b/internal/focus/client.go @@ -30,6 +30,7 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" "google.golang.org/protobuf/types/known/emptypb" + "google.golang.org/protobuf/types/known/wrapperspb" ) // TryRaise tries to raise the application by dialing the focus service. @@ -38,7 +39,7 @@ func TryRaise(settingsPath string) bool { var raised bool if err := withClientConn(context.Background(), settingsPath, func(ctx context.Context, client proto.FocusClient) error { - if _, err := client.Raise(ctx, &emptypb.Empty{}); err != nil { + if _, err := client.Raise(ctx, &wrapperspb.StringValue{Value: "TryRaise"}); err != nil { return fmt.Errorf("failed to call client.Raise: %w", err) } diff --git a/internal/focus/proto/focus.pb.go b/internal/focus/proto/focus.pb.go index 23388cd8..caf407f7 100644 --- a/internal/focus/proto/focus.pb.go +++ b/internal/focus/proto/focus.pb.go @@ -27,6 +27,7 @@ import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" emptypb "google.golang.org/protobuf/types/known/emptypb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" reflect "reflect" sync "sync" ) @@ -91,22 +92,24 @@ var file_focus_proto_rawDesc = []byte{ 0x0a, 0x0b, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2b, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x7b, - 0x0a, 0x05, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x12, 0x37, 0x0a, 0x05, 0x52, 0x61, 0x69, 0x73, 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, 0x39, 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, 0x16, 0x2e, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x2e, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x3d, 0x5a, 0x3b, 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, 0x33, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x66, - 0x6f, 0x63, 0x75, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x81, + 0x01, 0x0a, 0x05, 0x46, 0x6f, 0x63, 0x75, 0x73, 0x12, 0x3d, 0x0a, 0x05, 0x52, 0x61, 0x69, 0x73, + 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, 0x39, 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, 0x16, 0x2e, 0x66, 0x6f, 0x63, + 0x75, 0x73, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x42, 0x3d, 0x5a, 0x3b, 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, 0x33, 0x2f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -123,13 +126,14 @@ func file_focus_proto_rawDescGZIP() []byte { var file_focus_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_focus_proto_goTypes = []interface{}{ - (*VersionResponse)(nil), // 0: focus.VersionResponse - (*emptypb.Empty)(nil), // 1: google.protobuf.Empty + (*VersionResponse)(nil), // 0: focus.VersionResponse + (*wrapperspb.StringValue)(nil), // 1: google.protobuf.StringValue + (*emptypb.Empty)(nil), // 2: google.protobuf.Empty } var file_focus_proto_depIdxs = []int32{ - 1, // 0: focus.Focus.Raise:input_type -> google.protobuf.Empty - 1, // 1: focus.Focus.Version:input_type -> google.protobuf.Empty - 1, // 2: focus.Focus.Raise:output_type -> google.protobuf.Empty + 1, // 0: focus.Focus.Raise:input_type -> google.protobuf.StringValue + 2, // 1: focus.Focus.Version:input_type -> google.protobuf.Empty + 2, // 2: focus.Focus.Raise:output_type -> google.protobuf.Empty 0, // 3: focus.Focus.Version:output_type -> focus.VersionResponse 2, // [2:4] is the sub-list for method output_type 0, // [0:2] is the sub-list for method input_type diff --git a/internal/focus/proto/focus.proto b/internal/focus/proto/focus.proto index 22fccf7c..89d3728a 100644 --- a/internal/focus/proto/focus.proto +++ b/internal/focus/proto/focus.proto @@ -18,6 +18,7 @@ syntax = "proto3"; import "google/protobuf/empty.proto"; +import "google/protobuf/wrappers.proto"; option go_package = "github.com/ProtonMail/proton-bridge/v3/internal/focus/proto"; @@ -27,7 +28,7 @@ package focus; // ignored by Go, used as namespace name in C++. // Service Declaration //**********************************************************************************************************************≠–– service Focus { - rpc Raise(google.protobuf.Empty) returns (google.protobuf.Empty); + rpc Raise(google.protobuf.StringValue) returns (google.protobuf.Empty); rpc Version(google.protobuf.Empty) returns (VersionResponse); } diff --git a/internal/focus/proto/focus_grpc.pb.go b/internal/focus/proto/focus_grpc.pb.go index 0ea4860c..7d1c0143 100644 --- a/internal/focus/proto/focus_grpc.pb.go +++ b/internal/focus/proto/focus_grpc.pb.go @@ -12,6 +12,7 @@ import ( codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" emptypb "google.golang.org/protobuf/types/known/emptypb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" ) // This is a compile-time assertion to ensure that this generated file @@ -23,7 +24,7 @@ const _ = grpc.SupportPackageIsVersion7 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type FocusClient interface { - Raise(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) + Raise(ctx context.Context, in *wrapperspb.StringValue, opts ...grpc.CallOption) (*emptypb.Empty, error) Version(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*VersionResponse, error) } @@ -35,7 +36,7 @@ func NewFocusClient(cc grpc.ClientConnInterface) FocusClient { return &focusClient{cc} } -func (c *focusClient) Raise(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error) { +func (c *focusClient) Raise(ctx context.Context, in *wrapperspb.StringValue, opts ...grpc.CallOption) (*emptypb.Empty, error) { out := new(emptypb.Empty) err := c.cc.Invoke(ctx, "/focus.Focus/Raise", in, out, opts...) if err != nil { @@ -57,7 +58,7 @@ func (c *focusClient) Version(ctx context.Context, in *emptypb.Empty, opts ...gr // All implementations must embed UnimplementedFocusServer // for forward compatibility type FocusServer interface { - Raise(context.Context, *emptypb.Empty) (*emptypb.Empty, error) + Raise(context.Context, *wrapperspb.StringValue) (*emptypb.Empty, error) Version(context.Context, *emptypb.Empty) (*VersionResponse, error) mustEmbedUnimplementedFocusServer() } @@ -66,7 +67,7 @@ type FocusServer interface { type UnimplementedFocusServer struct { } -func (UnimplementedFocusServer) Raise(context.Context, *emptypb.Empty) (*emptypb.Empty, error) { +func (UnimplementedFocusServer) Raise(context.Context, *wrapperspb.StringValue) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method Raise not implemented") } func (UnimplementedFocusServer) Version(context.Context, *emptypb.Empty) (*VersionResponse, error) { @@ -86,7 +87,7 @@ func RegisterFocusServer(s grpc.ServiceRegistrar, srv FocusServer) { } func _Focus_Raise_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(emptypb.Empty) + in := new(wrapperspb.StringValue) if err := dec(in); err != nil { return nil, err } @@ -98,7 +99,7 @@ func _Focus_Raise_Handler(srv interface{}, ctx context.Context, dec func(interfa FullMethod: "/focus.Focus/Raise", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(FocusServer).Raise(ctx, req.(*emptypb.Empty)) + return srv.(FocusServer).Raise(ctx, req.(*wrapperspb.StringValue)) } return interceptor(ctx, in, info, handler) } diff --git a/internal/focus/service.go b/internal/focus/service.go index 0f7eead1..a75f79c3 100644 --- a/internal/focus/service.go +++ b/internal/focus/service.go @@ -30,6 +30,7 @@ import ( "github.com/sirupsen/logrus" "google.golang.org/grpc" "google.golang.org/protobuf/types/known/emptypb" + "google.golang.org/protobuf/types/known/wrapperspb" ) const ( @@ -91,8 +92,8 @@ func NewService(locator service.Locator, version *semver.Version, panicHandler a } // Raise implements the gRPC FocusService interface; it raises the application. -func (service *Service) Raise(context.Context, *emptypb.Empty) (*emptypb.Empty, error) { - service.log.Debug("Raise") +func (service *Service) Raise(_ context.Context, reason *wrapperspb.StringValue) (*emptypb.Empty, error) { + service.log.WithField("Reason", reason.Value).Debug("Raise") service.raiseCh <- struct{}{} return &emptypb.Empty{}, nil } diff --git a/internal/frontend/bridge-gui/bridge-gui/MacOS/SecondInstance.mm b/internal/frontend/bridge-gui/bridge-gui/MacOS/SecondInstance.mm index 2d8449b8..39f57329 100644 --- a/internal/frontend/bridge-gui/bridge-gui/MacOS/SecondInstance.mm +++ b/internal/frontend/bridge-gui/bridge-gui/MacOS/SecondInstance.mm @@ -33,7 +33,7 @@ using namespace bridgepp; /// \brief handle notification of attempt to re-open the application. //**************************************************************************************************************************************************** void applicationShouldHandleReopen(id, SEL) { - app().backend().showMainWindow(); + app().backend().showMainWindow("macOS applicationShouldHandleReopen notification"); } diff --git a/internal/frontend/bridge-gui/bridge-gui/QMLBackend.cpp b/internal/frontend/bridge-gui/bridge-gui/QMLBackend.cpp index de22f7b7..cbc87d0e 100644 --- a/internal/frontend/bridge-gui/bridge-gui/QMLBackend.cpp +++ b/internal/frontend/bridge-gui/bridge-gui/QMLBackend.cpp @@ -110,6 +110,46 @@ UserList const &QMLBackend::users() const { } + +//**************************************************************************************************************************************************** +/// \param[in] reason The reason for the request. +//**************************************************************************************************************************************************** +void QMLBackend::showMainWindow(QString const&reason) { + app().log().debug(QString("main window show requested: %1").arg(reason)); + emit showMainWindow(); +} + + +//**************************************************************************************************************************************************** +/// \param[in] reason The reason for the request. +//**************************************************************************************************************************************************** +void QMLBackend::showHelp(QString const&reason) { + app().log().debug(QString("main window show requested (help page): %1").arg(reason)); + emit showHelp(); +} + +//**************************************************************************************************************************************************** +/// \param[in] reason The reason for the request. +//**************************************************************************************************************************************************** +void QMLBackend::showSettings(QString const&reason) { + app().log().debug(QString("main window show requested (settings page): %1").arg(reason)); + emit showSettings(); +} + + +//**************************************************************************************************************************************************** +/// \param[in] userID The userID. +/// \param[in] forceShowWindow Should the window be force to display. +/// \param[in] reason The reason for the request. +//**************************************************************************************************************************************************** +void QMLBackend::selectUser(QString const &userID, bool forceShowWindow, QString const &reason) { + if (forceShowWindow) { + app().log().debug(QString("main window show requested (user page): %1").arg(reason)); + } + emit selectUser(userID, forceShowWindow); +} + + //**************************************************************************************************************************************************** /// \return The build year as a string (e.g. 2023) //**************************************************************************************************************************************************** @@ -1118,7 +1158,7 @@ void QMLBackend::connectGrpcEvents() { connect(client, &GRPCClient::reportBugFinished, this, &QMLBackend::reportBugFinished); connect(client, &GRPCClient::reportBugSuccess, this, &QMLBackend::bugReportSendSuccess); connect(client, &GRPCClient::reportBugError, this, &QMLBackend::bugReportSendError); - connect(client, &GRPCClient::showMainWindow, this, &QMLBackend::showMainWindow); + connect(client, &GRPCClient::showMainWindow, [&]() { this->showMainWindow("gRPC showMainWindow event"); }); // cache events connect(client, &GRPCClient::diskCacheUnavailable, this, &QMLBackend::diskCacheUnavailable); diff --git a/internal/frontend/bridge-gui/bridge-gui/QMLBackend.h b/internal/frontend/bridge-gui/bridge-gui/QMLBackend.h index a6778712..43d29b11 100644 --- a/internal/frontend/bridge-gui/bridge-gui/QMLBackend.h +++ b/internal/frontend/bridge-gui/bridge-gui/QMLBackend.h @@ -45,6 +45,10 @@ public: // member functions. void init(GRPCConfig const &serviceConfig); ///< Initialize the backend. bool waitForEventStreamReaderToFinish(qint32 timeoutMs); ///< Wait for the event stream reader to finish. UserList const& users() const; ///< Return the list of users + void showMainWindow(QString const &reason); ///< Show the main window. + void showHelp(QString const &reason); ///< Show the help page. + void showSettings(QString const &reason); ///< Show the settings page. + void selectUser(QString const &userID, bool forceShowWindow, QString const &reason); ///< Select the user and display its account details (or login screen). // invokable methods can be called from QML. They generally return a value, which slots cannot do. Q_INVOKABLE static QString buildYear(); ///< Return the application build year. diff --git a/internal/frontend/bridge-gui/bridge-gui/TrayIcon.cpp b/internal/frontend/bridge-gui/bridge-gui/TrayIcon.cpp index 86ba6b0b..a9cb1d84 100644 --- a/internal/frontend/bridge-gui/bridge-gui/TrayIcon.cpp +++ b/internal/frontend/bridge-gui/bridge-gui/TrayIcon.cpp @@ -34,7 +34,7 @@ QColor const warnColor(255, 153, 0); ///< The warn state color. QColor const updateColor(35, 158, 206); ///< The warn state color. QColor const greyColor(112, 109, 107); ///< The grey color. qint64 const iconRefreshTimerIntervalMs = 1000; ///< The interval for the refresh timer when switching DPI / screen config, in milliseconds. -qint64 const iconRefreshDurationSecs = 10; ///< The total number of seconds during wich we periodically refresh the icon after a DPI change. +qint64 const iconRefreshDurationSecs = 10; ///< The total number of seconds during which we periodically refresh the icon after a DPI change. //**************************************************************************************************************************************************** @@ -184,10 +184,12 @@ TrayIcon::TrayIcon() this->setContextMenu(menu_.get()); connect(menu_.get(), &QMenu::aboutToShow, this, &TrayIcon::onMenuAboutToShow); - connect(this, &TrayIcon::selectUser, &app().backend(), &QMLBackend::selectUser); + connect(this, &TrayIcon::selectUser, &app().backend(), [](QString const& userID, bool forceShowWindow) { + app().backend().selectUser(userID, forceShowWindow); + }); connect(this, &TrayIcon::activated, this, &TrayIcon::onActivated); // some OSes/Desktop managers will automatically show main window when clicked, but not all, so we do it manually. - connect(this, &TrayIcon::messageClicked, &app().backend(), &QMLBackend::showMainWindow); + connect(this, &TrayIcon::messageClicked, []() { app().backend().showMainWindow("tray icon popup notification clicked"); }); this->show(); // TrayIcon does not expose its screen, so we connect relevant screen events to our DPI change handler. @@ -226,7 +228,7 @@ void TrayIcon::onUserClicked() { throw Exception("Could not retrieve context menu's selected user."); } - emit selectUser(userID, true); + app().backend().selectUser(userID, true, "tray menu user clicked"); } catch (Exception const &e) { app().log().error(e.qwhat()); } @@ -238,7 +240,7 @@ void TrayIcon::onUserClicked() { //**************************************************************************************************************************************************** void TrayIcon::onActivated(QSystemTrayIcon::ActivationReason reason) { if ((QSystemTrayIcon::Trigger == reason) && !onMacOS()) { - app().backend().showMainWindow(); + app().backend().showMainWindow("tray icon activated"); } } @@ -345,7 +347,7 @@ void TrayIcon::refreshContextMenu() { } menu_->clear(); - menu_->addAction(statusIcon_, stateString_, &app().backend(), &QMLBackend::showMainWindow); + menu_->addAction(statusIcon_, stateString_, []() {app().backend().showMainWindow("tray menu status clicked");}); menu_->addSeparator(); QKeySequence noShortcut; UserList const &users = app().backend().users(); @@ -367,11 +369,15 @@ void TrayIcon::refreshContextMenu() { menu_->addSeparator(); } - menu_->addAction(tr("&Open Bridge"), onMac ? QKeySequence("Ctrl+O") : noShortcut, &app().backend(), &QMLBackend::showMainWindow); - menu_->addAction(tr("&Help"), onMac ? QKeySequence("Ctrl+F1") : noShortcut, &app().backend(), &QMLBackend::showHelp); - menu_->addAction(tr("&Settings"), onMac ? QKeySequence("Ctrl+,") : noShortcut, &app().backend(), &QMLBackend::showSettings); + menu_->addAction(tr("&Open Bridge"), onMac ? QKeySequence("Ctrl+O") : noShortcut, []() { + app().backend().showMainWindow("tray menu 'open bridge' clicked"); + }); + menu_->addAction(tr("&Help"), onMac ? QKeySequence("Ctrl+F1") : noShortcut, []() { + app().backend().showHelp("tray menu 'Help' clicked"); + }); + menu_->addAction(tr("&Settings"), onMac ? QKeySequence("Ctrl+,") : noShortcut, []() { + app().backend().showHelp("tray menu 'Settings' clicked"); + }); menu_->addSeparator(); menu_->addAction(tr("&Quit Bridge"), onMac ? QKeySequence("Ctrl+Q") : noShortcut, &app().backend(), &QMLBackend::quit); } - - diff --git a/internal/frontend/bridge-gui/bridge-gui/main.cpp b/internal/frontend/bridge-gui/bridge-gui/main.cpp index 92afeb55..acc3cf36 100644 --- a/internal/frontend/bridge-gui/bridge-gui/main.cpp +++ b/internal/frontend/bridge-gui/bridge-gui/main.cpp @@ -213,7 +213,7 @@ void focusOtherInstance() { if (!client.connectToServer(5000, sc.port, &error)) { throw Exception("Could not connect to bridge focus service for a raise call.", error); } - if (!client.raise().ok()) { + if (!client.raise("focusOtherInstance").ok()) { throw Exception(QString("The raise call to the bridge focus service failed.")); } } diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/FocusGRPCClient.cpp b/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/FocusGRPCClient.cpp index e5524e0e..3d5df513 100644 --- a/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/FocusGRPCClient.cpp +++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/FocusGRPCClient.cpp @@ -113,12 +113,15 @@ bool FocusGRPCClient::connectToServer(qint64 timeoutMs, quint16 port, QString *o //**************************************************************************************************************************************************** +/// \param[in] reason The reason behind the raise call. /// \return The status for the call. //**************************************************************************************************************************************************** -grpc::Status FocusGRPCClient::raise() { +grpc::Status FocusGRPCClient::raise(QString const &reason) { log_.debug("FocusGRPCService::raise()"); ClientContext ctx; - return stub_->Raise(&ctx, empty, &empty); + StringValue s; + s.set_value(reason.toStdString()); + return stub_->Raise(&ctx, s, &empty); } diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/FocusGRPCClient.h b/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/FocusGRPCClient.h index 8304fe93..2ab306df 100644 --- a/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/FocusGRPCClient.h +++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/FocusGRPCClient.h @@ -45,7 +45,7 @@ public: // member functions. FocusGRPCClient &operator=(FocusGRPCClient &&) = delete; ///< Disabled move assignment operator. bool connectToServer(qint64 timeoutMs, quint16 port, QString *outError = nullptr); ///< Connect to the focus server - grpc::Status raise(); ///< Performs the 'raise' call. + grpc::Status raise(QString const &reason); ///< Performs the 'raise' call. grpc::Status version(QString &outVersion); ///< Performs the 'version' call. private: diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.grpc.pb.cc b/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.grpc.pb.cc index 68bc4e56..e7b0eb50 100644 --- a/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.grpc.pb.cc +++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.grpc.pb.cc @@ -37,23 +37,23 @@ Focus::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, con , rpcmethod_Version_(Focus_method_names[1], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) {} -::grpc::Status Focus::Stub::Raise(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) { - return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_Raise_, context, request, response); +::grpc::Status Focus::Stub::Raise(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) { + return ::grpc::internal::BlockingUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_Raise_, context, request, response); } -void Focus::Stub::async::Raise(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function f) { - ::grpc::internal::CallbackUnaryCall< ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Raise_, context, request, response, std::move(f)); +void Focus::Stub::async::Raise(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Raise_, context, request, response, std::move(f)); } -void Focus::Stub::async::Raise(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) { +void Focus::Stub::async::Raise(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) { ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Raise_, context, request, response, reactor); } -::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Focus::Stub::PrepareAsyncRaiseRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { - return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_Raise_, context, request); +::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Focus::Stub::PrepareAsyncRaiseRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::google::protobuf::StringValue, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_Raise_, context, request); } -::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Focus::Stub::AsyncRaiseRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { +::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* Focus::Stub::AsyncRaiseRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) { auto* result = this->PrepareAsyncRaiseRaw(context, request, cq); result->StartCall(); @@ -87,10 +87,10 @@ Focus::Service::Service() { AddMethod(new ::grpc::internal::RpcServiceMethod( Focus_method_names[0], ::grpc::internal::RpcMethod::NORMAL_RPC, - new ::grpc::internal::RpcMethodHandler< Focus::Service, ::google::protobuf::Empty, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + new ::grpc::internal::RpcMethodHandler< Focus::Service, ::google::protobuf::StringValue, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( [](Focus::Service* service, ::grpc::ServerContext* ctx, - const ::google::protobuf::Empty* req, + const ::google::protobuf::StringValue* req, ::google::protobuf::Empty* resp) { return service->Raise(ctx, req, resp); }, this))); @@ -109,7 +109,7 @@ Focus::Service::Service() { Focus::Service::~Service() { } -::grpc::Status Focus::Service::Raise(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response) { +::grpc::Status Focus::Service::Raise(::grpc::ServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response) { (void) context; (void) request; (void) response; diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.grpc.pb.h b/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.grpc.pb.h index bc59c52d..f37bfcab 100644 --- a/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.grpc.pb.h +++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.grpc.pb.h @@ -56,11 +56,11 @@ class Focus final { class StubInterface { public: virtual ~StubInterface() {} - virtual ::grpc::Status Raise(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) = 0; - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncRaise(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + virtual ::grpc::Status Raise(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncRaise(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncRaiseRaw(context, request, cq)); } - std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncRaise(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncRaise(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncRaiseRaw(context, request, cq)); } virtual ::grpc::Status Version(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::focus::VersionResponse* response) = 0; @@ -73,8 +73,8 @@ class Focus final { class async_interface { public: virtual ~async_interface() {} - virtual void Raise(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function) = 0; - virtual void Raise(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0; + virtual void Raise(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function) = 0; + virtual void Raise(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0; virtual void Version(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::focus::VersionResponse* response, std::function) = 0; virtual void Version(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::focus::VersionResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; }; @@ -82,19 +82,19 @@ class Focus final { virtual class async_interface* async() { return nullptr; } class async_interface* experimental_async() { return async(); } private: - virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncRaiseRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; - virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncRaiseRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncRaiseRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncRaiseRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::focus::VersionResponse>* AsyncVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::focus::VersionResponse>* PrepareAsyncVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) = 0; }; class Stub final : public StubInterface { public: Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions()); - ::grpc::Status Raise(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::google::protobuf::Empty* response) override; - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncRaise(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + ::grpc::Status Raise(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::google::protobuf::Empty* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncRaise(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncRaiseRaw(context, request, cq)); } - std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncRaise(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) { + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncRaise(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncRaiseRaw(context, request, cq)); } ::grpc::Status Version(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::focus::VersionResponse* response) override; @@ -107,8 +107,8 @@ class Focus final { class async final : public StubInterface::async_interface { public: - void Raise(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, std::function) override; - void Raise(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override; + void Raise(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, std::function) override; + void Raise(::grpc::ClientContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override; void Version(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::focus::VersionResponse* response, std::function) override; void Version(::grpc::ClientContext* context, const ::google::protobuf::Empty* request, ::focus::VersionResponse* response, ::grpc::ClientUnaryReactor* reactor) override; private: @@ -122,8 +122,8 @@ class Focus final { private: std::shared_ptr< ::grpc::ChannelInterface> channel_; class async async_stub_{this}; - ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncRaiseRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; - ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncRaiseRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncRaiseRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncRaiseRaw(::grpc::ClientContext* context, const ::google::protobuf::StringValue& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::focus::VersionResponse>* AsyncVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::focus::VersionResponse>* PrepareAsyncVersionRaw(::grpc::ClientContext* context, const ::google::protobuf::Empty& request, ::grpc::CompletionQueue* cq) override; const ::grpc::internal::RpcMethod rpcmethod_Raise_; @@ -135,7 +135,7 @@ class Focus final { public: Service(); virtual ~Service(); - virtual ::grpc::Status Raise(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response); + virtual ::grpc::Status Raise(::grpc::ServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response); virtual ::grpc::Status Version(::grpc::ServerContext* context, const ::google::protobuf::Empty* request, ::focus::VersionResponse* response); }; template @@ -150,11 +150,11 @@ class Focus final { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status Raise(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::google::protobuf::Empty* /*response*/) override { + ::grpc::Status Raise(::grpc::ServerContext* /*context*/, const ::google::protobuf::StringValue* /*request*/, ::google::protobuf::Empty* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } - void RequestRaise(::grpc::ServerContext* context, ::google::protobuf::Empty* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::Empty>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + void RequestRaise(::grpc::ServerContext* context, ::google::protobuf::StringValue* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::Empty>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag); } }; @@ -186,25 +186,25 @@ class Focus final { public: WithCallbackMethod_Raise() { ::grpc::Service::MarkMethodCallback(0, - new ::grpc::internal::CallbackUnaryHandler< ::google::protobuf::Empty, ::google::protobuf::Empty>( + new ::grpc::internal::CallbackUnaryHandler< ::google::protobuf::StringValue, ::google::protobuf::Empty>( [this]( - ::grpc::CallbackServerContext* context, const ::google::protobuf::Empty* request, ::google::protobuf::Empty* response) { return this->Raise(context, request, response); }));} + ::grpc::CallbackServerContext* context, const ::google::protobuf::StringValue* request, ::google::protobuf::Empty* response) { return this->Raise(context, request, response); }));} void SetMessageAllocatorFor_Raise( - ::grpc::MessageAllocator< ::google::protobuf::Empty, ::google::protobuf::Empty>* allocator) { + ::grpc::MessageAllocator< ::google::protobuf::StringValue, ::google::protobuf::Empty>* allocator) { ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(0); - static_cast<::grpc::internal::CallbackUnaryHandler< ::google::protobuf::Empty, ::google::protobuf::Empty>*>(handler) + static_cast<::grpc::internal::CallbackUnaryHandler< ::google::protobuf::StringValue, ::google::protobuf::Empty>*>(handler) ->SetMessageAllocator(allocator); } ~WithCallbackMethod_Raise() override { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status Raise(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::google::protobuf::Empty* /*response*/) override { + ::grpc::Status Raise(::grpc::ServerContext* /*context*/, const ::google::protobuf::StringValue* /*request*/, ::google::protobuf::Empty* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } virtual ::grpc::ServerUnaryReactor* Raise( - ::grpc::CallbackServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::google::protobuf::Empty* /*response*/) { return nullptr; } + ::grpc::CallbackServerContext* /*context*/, const ::google::protobuf::StringValue* /*request*/, ::google::protobuf::Empty* /*response*/) { return nullptr; } }; template class WithCallbackMethod_Version : public BaseClass { @@ -247,7 +247,7 @@ class Focus final { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status Raise(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::google::protobuf::Empty* /*response*/) override { + ::grpc::Status Raise(::grpc::ServerContext* /*context*/, const ::google::protobuf::StringValue* /*request*/, ::google::protobuf::Empty* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } @@ -281,7 +281,7 @@ class Focus final { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status Raise(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::google::protobuf::Empty* /*response*/) override { + ::grpc::Status Raise(::grpc::ServerContext* /*context*/, const ::google::protobuf::StringValue* /*request*/, ::google::protobuf::Empty* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } @@ -324,7 +324,7 @@ class Focus final { BaseClassMustBeDerivedFromService(this); } // disable synchronous version of this method - ::grpc::Status Raise(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::google::protobuf::Empty* /*response*/) override { + ::grpc::Status Raise(::grpc::ServerContext* /*context*/, const ::google::protobuf::StringValue* /*request*/, ::google::protobuf::Empty* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } @@ -361,10 +361,10 @@ class Focus final { WithStreamedUnaryMethod_Raise() { ::grpc::Service::MarkMethodStreamed(0, new ::grpc::internal::StreamedUnaryHandler< - ::google::protobuf::Empty, ::google::protobuf::Empty>( + ::google::protobuf::StringValue, ::google::protobuf::Empty>( [this](::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< - ::google::protobuf::Empty, ::google::protobuf::Empty>* streamer) { + ::google::protobuf::StringValue, ::google::protobuf::Empty>* streamer) { return this->StreamedRaise(context, streamer); })); @@ -373,12 +373,12 @@ class Focus final { BaseClassMustBeDerivedFromService(this); } // disable regular version of this method - ::grpc::Status Raise(::grpc::ServerContext* /*context*/, const ::google::protobuf::Empty* /*request*/, ::google::protobuf::Empty* /*response*/) override { + ::grpc::Status Raise(::grpc::ServerContext* /*context*/, const ::google::protobuf::StringValue* /*request*/, ::google::protobuf::Empty* /*response*/) override { abort(); return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } // replace default version of method with streamed unary - virtual ::grpc::Status StreamedRaise(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::google::protobuf::Empty,::google::protobuf::Empty>* server_unary_streamer) = 0; + virtual ::grpc::Status StreamedRaise(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::google::protobuf::StringValue,::google::protobuf::Empty>* server_unary_streamer) = 0; }; template class WithStreamedUnaryMethod_Version : public BaseClass { diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.pb.cc b/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.pb.cc index 44aa751a..e6afee8a 100644 --- a/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.pb.cc +++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.pb.cc @@ -58,22 +58,23 @@ static const ::_pb::Message* const file_default_instances[] = { const char descriptor_table_protodef_focus_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = "\n\013focus.proto\022\005focus\032\033google/protobuf/em" - "pty.proto\"\"\n\017VersionResponse\022\017\n\007version\030" - "\001 \001(\t2{\n\005Focus\0227\n\005Raise\022\026.google.protobu" - "f.Empty\032\026.google.protobuf.Empty\0229\n\007Versi" - "on\022\026.google.protobuf.Empty\032\026.focus.Versi" - "onResponseB=Z;github.com/ProtonMail/prot" - "on-bridge/v3/internal/focus/protob\006proto" - "3" + "pty.proto\032\036google/protobuf/wrappers.prot" + "o\"\"\n\017VersionResponse\022\017\n\007version\030\001 \001(\t2\201\001" + "\n\005Focus\022=\n\005Raise\022\034.google.protobuf.Strin" + "gValue\032\026.google.protobuf.Empty\0229\n\007Versio" + "n\022\026.google.protobuf.Empty\032\026.focus.Versio" + "nResponseB=Z;github.com/ProtonMail/proto" + "n-bridge/v3/internal/focus/protob\006proto3" ; -static const ::_pbi::DescriptorTable* const descriptor_table_focus_2eproto_deps[1] = { +static const ::_pbi::DescriptorTable* const descriptor_table_focus_2eproto_deps[2] = { &::descriptor_table_google_2fprotobuf_2fempty_2eproto, + &::descriptor_table_google_2fprotobuf_2fwrappers_2eproto, }; static ::_pbi::once_flag descriptor_table_focus_2eproto_once; const ::_pbi::DescriptorTable descriptor_table_focus_2eproto = { - false, false, 281, descriptor_table_protodef_focus_2eproto, + false, false, 320, descriptor_table_protodef_focus_2eproto, "focus.proto", - &descriptor_table_focus_2eproto_once, descriptor_table_focus_2eproto_deps, 1, 1, + &descriptor_table_focus_2eproto_once, descriptor_table_focus_2eproto_deps, 2, 1, schemas, file_default_instances, TableStruct_focus_2eproto::offsets, file_level_metadata_focus_2eproto, file_level_enum_descriptors_focus_2eproto, file_level_service_descriptors_focus_2eproto, diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.pb.h b/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.pb.h index cd281b7f..c57313d6 100644 --- a/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.pb.h +++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/FocusGRPC/focus.pb.h @@ -31,6 +31,7 @@ #include // IWYU pragma: export #include #include +#include // @@protoc_insertion_point(includes) #include #define PROTOBUF_INTERNAL_EXPORT_focus_2eproto