//go:build !windows package rdp import "fmt" // FreeRDPBackend is a stub on non-Windows platforms. The real implementation // lives in freerdp_windows.go and loads FreeRDP3 DLLs via syscall at runtime. type FreeRDPBackend struct{} // NewFreeRDPBackend creates a stub backend that returns errors on all operations. func NewFreeRDPBackend() *FreeRDPBackend { return &FreeRDPBackend{} } func (f *FreeRDPBackend) Connect(config RDPConfig) error { return fmt.Errorf("FreeRDP backend is only available on Windows — use MockBackend for development") } func (f *FreeRDPBackend) Disconnect() error { return nil } func (f *FreeRDPBackend) SendMouseEvent(x, y int, flags uint32) error { return fmt.Errorf("FreeRDP backend is not available on this platform") } func (f *FreeRDPBackend) SendKeyEvent(scancode uint32, pressed bool) error { return fmt.Errorf("FreeRDP backend is not available on this platform") } func (f *FreeRDPBackend) SendClipboard(data string) error { return fmt.Errorf("FreeRDP backend is not available on this platform") } func (f *FreeRDPBackend) GetFrame() ([]byte, error) { return nil, fmt.Errorf("FreeRDP backend is not available on this platform") } func (f *FreeRDPBackend) IsConnected() bool { return false } // Ensure FreeRDPBackend satisfies the RDPBackend interface at compile time. var _ RDPBackend = (*FreeRDPBackend)(nil)