std::unique_ptr DefaultSignalingClientFactory::CreateSignalingClient()

in chime-sdk-signaling-cpp/src/signaling/default_signaling_client_factory.cc [12:27]


std::unique_ptr<SignalingClient> DefaultSignalingClientFactory::CreateSignalingClient(
    SignalingClientConfiguration configuration, DefaultSignalingDependencies dependencies) {
  CHIME_LOG(LogLevel::kInfo, "Creating DefaultSignalingClient")

  if (dependencies.signal_transport_factory == nullptr) {
    // Use default implementation
    dependencies.signal_transport_factory = DefaultSignalingTransportFactory::Create();
  }

  auto* client = new DefaultSignalingClient(std::move(configuration), std::move(dependencies));
  std::unique_ptr<AudioFrameAdapter> frame_adapter = std::make_unique<DefaultAudioFrameAdapter>(client);
  client->SetAudioFrameAdapter(std::move(frame_adapter));
  std::unique_ptr<SignalingClient> signaling_client = std::unique_ptr<DefaultSignalingClient>(client);

  return signaling_client;
}