Add always use virtual display option for clients
This commit is contained in:
@@ -869,6 +869,7 @@ namespace confighttp {
|
||||
std::string display_mode = input_tree.value("display_mode", "");
|
||||
bool enable_legacy_ordering = input_tree.value("enable_legacy_ordering", true);
|
||||
bool allow_client_commands = input_tree.value("allow_client_commands", true);
|
||||
bool always_use_virtual_display = input_tree.value("always_use_virtual_display", false);
|
||||
auto do_cmds = nvhttp::extract_command_entries(input_tree, "do");
|
||||
auto undo_cmds = nvhttp::extract_command_entries(input_tree, "undo");
|
||||
auto perm = static_cast<crypto::PERM>(input_tree.value("perm", static_cast<uint32_t>(crypto::PERM::_no)) & static_cast<uint32_t>(crypto::PERM::_all));
|
||||
@@ -880,7 +881,8 @@ namespace confighttp {
|
||||
undo_cmds,
|
||||
perm,
|
||||
enable_legacy_ordering,
|
||||
allow_client_commands
|
||||
allow_client_commands,
|
||||
always_use_virtual_display
|
||||
);
|
||||
send_response(response, output_tree);
|
||||
} catch (std::exception &e) {
|
||||
|
||||
@@ -106,6 +106,7 @@ namespace crypto {
|
||||
PERM perm;
|
||||
bool enable_legacy_ordering;
|
||||
bool allow_client_commands;
|
||||
bool always_use_virtual_display;
|
||||
};
|
||||
|
||||
using p_named_cert_t = std::shared_ptr<named_cert_t>;
|
||||
|
||||
@@ -250,7 +250,7 @@ namespace nvhttp {
|
||||
named_cert_node["perm"] = static_cast<uint32_t>(named_cert_p->perm);
|
||||
named_cert_node["enable_legacy_ordering"] = named_cert_p->enable_legacy_ordering;
|
||||
named_cert_node["allow_client_commands"] = named_cert_p->allow_client_commands;
|
||||
|
||||
named_cert_node["always_use_virtual_display"] = named_cert_p->always_use_virtual_display;
|
||||
|
||||
// Add "do" commands if available.
|
||||
if (!named_cert_p->do_cmds.empty()) {
|
||||
@@ -329,6 +329,7 @@ namespace nvhttp {
|
||||
named_cert_p->perm = PERM::_all;
|
||||
named_cert_p->enable_legacy_ordering = true;
|
||||
named_cert_p->allow_client_commands = true;
|
||||
named_cert_p->always_use_virtual_display = false;
|
||||
client.named_devices.emplace_back(named_cert_p);
|
||||
}
|
||||
}
|
||||
@@ -346,6 +347,7 @@ namespace nvhttp {
|
||||
named_cert_p->perm = (PERM)(util::get_non_string_json_value<uint32_t>(el, "perm", (uint32_t)PERM::_all)) & PERM::_all;
|
||||
named_cert_p->enable_legacy_ordering = el.value("enable_legacy_ordering", true);
|
||||
named_cert_p->allow_client_commands = el.value("allow_client_commands", true);
|
||||
named_cert_p->always_use_virtual_display = el.value("always_use_virtual_display", false);
|
||||
// Load command entries for "do" and "undo" keys.
|
||||
named_cert_p->do_cmds = extract_command_entries(el, "do");
|
||||
named_cert_p->undo_cmds = extract_command_entries(el, "undo");
|
||||
@@ -456,7 +458,7 @@ namespace nvhttp {
|
||||
launch_session->surround_params = (get_arg(args, "surroundParams", ""));
|
||||
launch_session->gcmap = util::from_view(get_arg(args, "gcmap", "0"));
|
||||
launch_session->enable_hdr = util::from_view(get_arg(args, "hdrMode", "0"));
|
||||
launch_session->virtual_display = util::from_view(get_arg(args, "virtualDisplay", "0"));
|
||||
launch_session->virtual_display = util::from_view(get_arg(args, "virtualDisplay", "0")) || named_cert_p->always_use_virtual_display;
|
||||
launch_session->scale_factor = util::from_view(get_arg(args, "scaleFactor", "100"));
|
||||
|
||||
launch_session->client_do_cmds = named_cert_p->do_cmds;
|
||||
@@ -631,6 +633,7 @@ namespace nvhttp {
|
||||
|
||||
named_cert_p->enable_legacy_ordering = true;
|
||||
named_cert_p->allow_client_commands = true;
|
||||
named_cert_p->always_use_virtual_display = false;
|
||||
|
||||
auto it = map_id_sess.find(client.uniqueID);
|
||||
map_id_sess.erase(it);
|
||||
@@ -1021,6 +1024,7 @@ namespace nvhttp {
|
||||
named_cert_node["perm"] = static_cast<uint32_t>(named_cert->perm);
|
||||
named_cert_node["enable_legacy_ordering"] = named_cert->enable_legacy_ordering;
|
||||
named_cert_node["allow_client_commands"] = named_cert->allow_client_commands;
|
||||
named_cert_node["always_use_virtual_display"] = named_cert->always_use_virtual_display;
|
||||
|
||||
// Add "do" commands if available
|
||||
if (!named_cert->do_cmds.empty()) {
|
||||
@@ -1809,7 +1813,8 @@ namespace nvhttp {
|
||||
const cmd_list_t& undo_cmds,
|
||||
const crypto::PERM newPerm,
|
||||
const bool enable_legacy_ordering,
|
||||
const bool allow_client_commands
|
||||
const bool allow_client_commands,
|
||||
const bool always_use_virtual_display
|
||||
) {
|
||||
find_and_udpate_session_info(uuid, name, newPerm);
|
||||
|
||||
@@ -1825,6 +1830,7 @@ namespace nvhttp {
|
||||
named_cert_p->undo_cmds = undo_cmds;
|
||||
named_cert_p->enable_legacy_ordering = enable_legacy_ordering;
|
||||
named_cert_p->allow_client_commands = allow_client_commands;
|
||||
named_cert_p->always_use_virtual_display = always_use_virtual_display;
|
||||
save_state();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -265,7 +265,10 @@ namespace nvhttp {
|
||||
* @param[in] do_cmds The do commands
|
||||
* @param[in] undo_cmds The undo commands
|
||||
* @param[in] newPerm New permission
|
||||
*
|
||||
* @param[in] enable_legacy_ordering Enable legacy ordering
|
||||
* @param[in] allow_client_commands Allow client commands
|
||||
* @param[in] always_use_virtual_display Always use virtual display
|
||||
*
|
||||
* @return Whether the update is successful
|
||||
*/
|
||||
bool update_device_info(
|
||||
@@ -276,6 +279,7 @@ namespace nvhttp {
|
||||
const cmd_list_t& undo_cmds,
|
||||
const crypto::PERM newPerm,
|
||||
const bool enable_legacy_ordering,
|
||||
const bool allow_client_commands
|
||||
const bool allow_client_commands,
|
||||
const bool always_use_virtual_display
|
||||
);
|
||||
} // namespace nvhttp
|
||||
|
||||
Reference in New Issue
Block a user