#pragma once

#include <softbus_bus/Bus.h>
#include <softbus_transport/TcpUplinkServer.h>

namespace softbus::transport {

class TransportBusBridge {
public:
    void attach(softbus::bus::Bus* bus, TcpUplinkServer* server);

private:
    void onBusMessage(const softbus::bus::BusMessage& message);
    void onWireMessage(const WireMessage& message);

    softbus::bus::Bus* bus_{nullptr};
    TcpUplinkServer* server_{nullptr};
    softbus::bus::Bus::SubscriptionId cmdSub_{0};
};

} // namespace softbus::transport
