1.1 KiB
1.1 KiB
Services — index
External-facing logic: YouTube API, persistence. See
schema.md for the memory-map conventions.
| File | Purpose |
|---|---|
YouTubeAuthService.cs |
OAuth2 via Google: loopback callback (http://localhost:8765/oauth2/callback), token exchange, refresh, channel fetch. Constructor takes optional HttpClient + sessionChanged callback (test seam + save hook); session persists via Helpers/TokenStore (DPAPI) |
YouTubeStreamService.cs |
Broadcast/stream management via the v3 API (enableAutoStart/Stop). Not yet switched to the variable reusable stream |
YouTubeChatService.cs |
Polls liveChat/messages, raises MessageReceived; IDisposable |
LayoutStore.cs |
SQLite persistence (Microsoft.Data.Sqlite) at %APPDATA%\ytLlive\ytLlive.db; assets stored as BLOBs keyed by SHA-256 content hash; save/open layout files |
Related: constructed in ViewModels/MainViewModel.cs
(no DI container yet). Models in Models/index.md.
OAuth credentials live in Helpers/OAuthCredentials.cs.