chime-sdk-signaling-cpp/src/signaling/default_signaling_client_factory.cc (20 lines of code) (raw):
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
#include "audio_video/default_audio_frame_adapter.h"
#include "default_signaling_client.h"
#include "default_signaling_client_factory.h"
#include "transport/default_signaling_transport_factory.h"
#include "transport/signaling_transport_configuration.h"
#include "utils/logging.h"
namespace chime {
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;
}
} // namespace chime