Files
DisplayFlow/docs/API.md
2025-12-11 22:58:25 +08:00

1.7 KiB

DisplayFlow API 文档

本文档描述 DisplayFlow 的核心 API。

1. 核心 API

1.1 会话管理

class SessionManager {
public:
    std::shared_ptr<Session> CreateSession(RoleType role);
    void DestroySession(SessionId sessionId);
    std::shared_ptr<Session> GetSession(SessionId sessionId);
};

1.2 角色管理

class RoleManager {
public:
    bool RegisterRole(RoleType type, std::shared_ptr<IRole> role);
    bool SwitchRole(SessionId sessionId, RoleType newRole);
};

1.3 网络管理

class NetworkManager {
public:
    bool Initialize();
    std::vector<NetworkInterface> GetAvailableInterfaces();
    bool Connect(const NetworkInterface& interface);
    void Disconnect();
};

2. 平台 API

2.1 Android

class AndroidPlatformAdapter {
public:
    bool Initialize();
    bool StartScreenCapture();
    void StopScreenCapture();
    void SetFrameCallback(FrameCallback callback);
};

2.2 Windows

class WindowsPlatformAdapter {
public:
    bool Initialize();
    bool CreateVirtualDisplay(const Resolution& resolution);
    void DestroyVirtualDisplay();
    bool RenderFrame(const VideoFrame& frame);
};

3. 使用示例

3.1 创建 Host 会话

auto sessionManager = std::make_shared<SessionManager>();
auto session = sessionManager->CreateSession(RoleType::Host);
auto hostRole = std::make_shared<HostRole>();
hostRole->Start(session);

3.2 创建 Client 会话

auto sessionManager = std::make_shared<SessionManager>();
auto session = sessionManager->CreateSession(RoleType::Client);
auto clientRole = std::make_shared<ClientRole>();
clientRole->Start(session);