// Copyright (c) 2026 Storm Dragon // SPDX-License-Identifier: GPL-3.0-or-later package remote import ( "git.stormux.org/storm/cthulhu/internal/atspi" "git.stormux.org/storm/cthulhu/internal/wine" "github.com/godbus/dbus/v5" ) // Optional so legacy handlers and Orca exports retain their existing contract. type WineReviewHandler interface { RegisterProvider(string, dbus.ObjectPath, uint32) bool PresentFocus(string, wine.ReviewFocusNotice) bool } type WineReviewConnectionHandler interface{ BindWineReviewConnection(*dbus.Conn) } func (e *endpoint) RegisterWineReviewProvider(sender dbus.Sender, path dbus.ObjectPath, version uint32) (bool, *dbus.Error) { if err := e.begin(sender, "RegisterWineReviewProvider"); err != nil { return false, err } defer e.end() if handler, ok := e.handler.(WineReviewHandler); ok { return handler.RegisterProvider(string(sender), path, version), nil } return false, nil } func (e *endpoint) PresentWineReviewFocus(sender dbus.Sender, instance, window, focus string, revision uint64, title, role string, protected bool, bounds atspi.Rectangle) (bool, *dbus.Error) { if err := e.begin(sender, "PresentWineReviewFocus"); err != nil { return false, err } defer e.end() if handler, ok := e.handler.(WineReviewHandler); ok { return handler.PresentFocus(string(sender), wine.ReviewFocusNotice{Instance: instance, Window: window, Focus: focus, Revision: revision, Title: title, Role: role, Protected: protected, Bounds: bounds}), nil } return false, nil }