mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-20 23:54:26 +08:00
Introduce a new LanMountainDesktop.Shared.IPC project implementing a public IPC host and client (LanMountainDesktopIpcClient, PublicIpcHostService), IPC constants and routed notify IDs, DTOs and DI helpers for registering public services. Update Plugin SDK to allow plugins to contribute public IPC services and registrations, add related descriptors/records and extension helpers. Migrate Launcher/App to use the new public IPC for startup/loading notifications and wiring (including TryConnect helper), switch LoadingStateReporter to use the external notification publisher, and add host-side public services (app info, shell control, plugin catalog). Include integration tests and spec/checklist/docs for the external IPC public API.
670 B
670 B
External IPC Public API Checklist
- Host can expose strong-typed public IPC services.
- External .NET client can connect and call built-in services.
- Host publishes launcher startup and loading-state notifications through routed notify.
- Launcher consumes routed notify instead of the old primary custom named-pipe path.
- Plugin SDK exposes public IPC contribution primitives.
- Plugin runtime can discover and register plugin public IPC services.
- Public catalog includes built-in and plugin-contributed services.
catalog.changedis emitted when new services are added after startup.- Add example external client sample.