server/src/display_helper_builder.cpp
Rama main · réplica de lectura del repositorio original.
/**
* @file src/display_helper_builder.cpp
*/
#include "display_helper_builder.h"
#include "rtsp.h"
namespace display_helper_integration {
DisplayApplyBuilder &DisplayApplyBuilder::set_session(rtsp_stream::launch_session_t &session) {
session_ = &session;
mutable_session_ = &session;
return *this;
}
DisplayApplyBuilder &DisplayApplyBuilder::set_session(const rtsp_stream::launch_session_t &session) {
session_ = &session;
mutable_session_ = nullptr;
return *this;
}
DisplayApplyBuilder &DisplayApplyBuilder::set_action(const DisplayApplyAction action) {
action_ = action;
return *this;
}
DisplayApplyBuilder &DisplayApplyBuilder::set_configuration(const display_device::SingleDisplayConfiguration &config) {
configuration_ = config;
return *this;
}
DisplayApplyBuilder &DisplayApplyBuilder::clear_configuration() {
configuration_.reset();
return *this;
}
DisplayApplyBuilder &DisplayApplyBuilder::set_virtual_display_watchdog(const bool enable) {
enable_virtual_display_watchdog_ = enable;
return *this;
}
DisplayApplyBuilder &DisplayApplyBuilder::set_hdr_toggle_flag(const bool enable) {
attach_hdr_toggle_flag_ = enable;
return *this;
}
DisplayApplyBuilder &DisplayApplyBuilder::set_topology(const DisplayTopologyDefinition &topology) {
topology_ = topology;
return *this;
}
DisplayTopologyDefinition &DisplayApplyBuilder::mutable_topology() {
return topology_;
}
ActiveSessionState &DisplayApplyBuilder::mutable_session_overrides() {
return session_overrides_;
}
DisplayApplyBuilder &DisplayApplyBuilder::set_virtual_display_arrangement(std::optional<VirtualDisplayArrangement> arrangement) {
virtual_display_arrangement_ = arrangement;
return *this;
}
DisplayApplyRequest DisplayApplyBuilder::build() const {
DisplayApplyRequest request;
request.action = action_;
request.configuration = configuration_;
request.session_overrides = session_overrides_;
request.enable_virtual_display_watchdog = enable_virtual_display_watchdog_;
request.attach_hdr_toggle_flag = attach_hdr_toggle_flag_;
request.topology = topology_;
request.session = session_;
request.mutable_session = mutable_session_;
request.virtual_display_arrangement = virtual_display_arrangement_;
return request;
}
} // namespace display_helper_integration