mirror of
https://github.com/gnif/LookingGlass.git
synced 2026-08-22 07:01:30 +00:00
[idd] recovery: restore fallback display
Add a protocol-independent recovery channel outside LGMP so clients can request a usable guest display even when transport versions differ. Synchronize recovery state with the helper across driver restarts and restore the configured topology without persisting temporary changes.
This commit is contained in:
@@ -26,6 +26,9 @@
|
||||
#include "transport/lgmp/CLGMPFrameTransport.h"
|
||||
#include "transport/lgmp/CLGMPHost.h"
|
||||
#include "transport/lgmp/CLGMPInputTransport.h"
|
||||
#include "transport/lgmp/CRecovery.h"
|
||||
|
||||
#include <atomic>
|
||||
|
||||
class CLGMPTransport final : public ITransport
|
||||
{
|
||||
@@ -37,6 +40,8 @@ private:
|
||||
CLGMPControl m_control;
|
||||
CLGMPFrameTransport m_frames;
|
||||
CLGMPInputTransport m_input;
|
||||
CRecovery m_recovery;
|
||||
std::atomic<bool> m_ready = false;
|
||||
|
||||
public:
|
||||
CLGMPTransport();
|
||||
@@ -49,6 +54,10 @@ public:
|
||||
bool Initialize() override;
|
||||
bool Setup(size_t alignment) override;
|
||||
void Process(ITransportEvents& events) override;
|
||||
void SyncRecovery() override;
|
||||
void RecoveryStatus(
|
||||
uint64_t session, uint32_t serial, bool active,
|
||||
Recovery state, uint32_t error) override;
|
||||
|
||||
FrameMemoryLimits GetMemoryLimits() const override;
|
||||
DirectFrameBufferMemory GetDirectMemory() const override;
|
||||
|
||||
Reference in New Issue
Block a user