clang optimizations and improved error handling
This commit is contained in:
@@ -13,30 +13,29 @@ std::string CameraController::processCommand(const std::string& jsonCommand) {
|
||||
// Simple JSON parsing (basic implementation)
|
||||
// Format: {"command":"name","params":{...}}
|
||||
|
||||
size_t cmdPos = jsonCommand.find("\"command\"");
|
||||
const size_t cmdPos = jsonCommand.find("\"command\"");
|
||||
if (cmdPos == std::string::npos) {
|
||||
return createErrorResponse("Missing command field");
|
||||
}
|
||||
|
||||
size_t colonPos = jsonCommand.find(":", cmdPos);
|
||||
size_t quoteStart = jsonCommand.find("\"", colonPos);
|
||||
size_t quoteEnd = jsonCommand.find("\"", quoteStart + 1);
|
||||
const size_t colonPos = jsonCommand.find(":", cmdPos);
|
||||
const size_t quoteStart = jsonCommand.find("\"", colonPos);
|
||||
const size_t quoteEnd = jsonCommand.find("\"", quoteStart + 1);
|
||||
|
||||
if (quoteStart == std::string::npos || quoteEnd == std::string::npos) {
|
||||
return createErrorResponse("Invalid command format");
|
||||
}
|
||||
|
||||
std::string command = jsonCommand.substr(quoteStart + 1, quoteEnd - quoteStart - 1);
|
||||
const std::string command = jsonCommand.substr(quoteStart + 1, quoteEnd - quoteStart - 1);
|
||||
|
||||
// Helper lambda to extract parameter value
|
||||
auto getParam = [&jsonCommand](const std::string& paramName) -> std::string {
|
||||
size_t pos = jsonCommand.find("\"" + paramName + "\"");
|
||||
const size_t pos = jsonCommand.find("\"" + paramName + "\"");
|
||||
if (pos == std::string::npos) return "";
|
||||
|
||||
size_t colonPos = jsonCommand.find(":", pos);
|
||||
size_t valueStart = jsonCommand.find_first_not_of(" \t\n\r", colonPos + 1);
|
||||
const size_t colonPos = jsonCommand.find(":", pos);
|
||||
|
||||
if (jsonCommand[valueStart] == '\"') {
|
||||
if (size_t valueStart = jsonCommand.find_first_not_of(" \t\n\r", colonPos + 1); jsonCommand[valueStart] == '\"') {
|
||||
size_t valueEnd = jsonCommand.find("\"", valueStart + 1);
|
||||
return jsonCommand.substr(valueStart + 1, valueEnd - valueStart - 1);
|
||||
} else {
|
||||
@@ -126,8 +125,8 @@ std::string CameraController::handleGetFormats() {
|
||||
|
||||
std::string CameraController::handleSetExposure(const std::string& mode, const std::string& value) {
|
||||
try {
|
||||
int flag = (mode == "auto") ? 1 : 0;
|
||||
long expValue = value.empty() ? 0 : std::stol(value);
|
||||
const int flag = (mode == "auto") ? 1 : 0;
|
||||
const long expValue = value.empty() ? 0 : std::stol(value);
|
||||
|
||||
if (VxSetUVCImageProcessing(camera_, VX_UVC_IMAGE_PROPERTIES::UVC_IMAGE_EXPOSURE,
|
||||
expValue, flag) != 0) {
|
||||
@@ -142,8 +141,8 @@ std::string CameraController::handleSetExposure(const std::string& mode, const s
|
||||
|
||||
std::string CameraController::handleSetWhiteBalance(const std::string& mode, const std::string& temperature) {
|
||||
try {
|
||||
int flag = (mode == "auto") ? 1 : 0;
|
||||
long tempValue = temperature.empty() ? 0 : std::stol(temperature);
|
||||
const int flag = (mode == "auto") ? 1 : 0;
|
||||
const long tempValue = temperature.empty() ? 0 : std::stol(temperature);
|
||||
|
||||
if (VxSetUVCImageProcessing(camera_, VX_UVC_IMAGE_PROPERTIES::UVC_IMAGE_WHITEBALANCE,
|
||||
tempValue, flag) != 0) {
|
||||
@@ -158,7 +157,7 @@ std::string CameraController::handleSetWhiteBalance(const std::string& mode, con
|
||||
|
||||
std::string CameraController::handleSetBrightness(const std::string& value) {
|
||||
try {
|
||||
long val = std::stol(value);
|
||||
const long val = std::stol(value);
|
||||
if (VxSetUVCImageProcessing(camera_, VX_UVC_IMAGE_PROPERTIES::UVC_IMAGE_BRIGHTNESS,
|
||||
val, 0) != 0) {
|
||||
return createErrorResponse("Failed to set brightness");
|
||||
@@ -171,7 +170,7 @@ std::string CameraController::handleSetBrightness(const std::string& value) {
|
||||
|
||||
std::string CameraController::handleSetContrast(const std::string& value) {
|
||||
try {
|
||||
long val = std::stol(value);
|
||||
const long val = std::stol(value);
|
||||
if (VxSetUVCImageProcessing(camera_, VX_UVC_IMAGE_PROPERTIES::UVC_IMAGE_CONTRAST,
|
||||
val, 0) != 0) {
|
||||
return createErrorResponse("Failed to set contrast");
|
||||
@@ -184,7 +183,7 @@ std::string CameraController::handleSetContrast(const std::string& value) {
|
||||
|
||||
std::string CameraController::handleSetSaturation(const std::string& value) {
|
||||
try {
|
||||
long val = std::stol(value);
|
||||
const long val = std::stol(value);
|
||||
if (VxSetUVCImageProcessing(camera_, VX_UVC_IMAGE_PROPERTIES::UVC_IMAGE_SATURATION,
|
||||
val, 0) != 0) {
|
||||
return createErrorResponse("Failed to set saturation");
|
||||
@@ -197,7 +196,7 @@ std::string CameraController::handleSetSaturation(const std::string& value) {
|
||||
|
||||
std::string CameraController::handleSetSharpness(const std::string& value) {
|
||||
try {
|
||||
long val = std::stol(value);
|
||||
const long val = std::stol(value);
|
||||
if (VxSetUVCImageProcessing(camera_, VX_UVC_IMAGE_PROPERTIES::UVC_IMAGE_SHARPNESS,
|
||||
val, 0) != 0) {
|
||||
return createErrorResponse("Failed to set sharpness");
|
||||
@@ -210,7 +209,7 @@ std::string CameraController::handleSetSharpness(const std::string& value) {
|
||||
|
||||
std::string CameraController::handleSetGamma(const std::string& value) {
|
||||
try {
|
||||
long val = std::stol(value);
|
||||
const long val = std::stol(value);
|
||||
if (VxSetUVCImageProcessing(camera_, VX_UVC_IMAGE_PROPERTIES::UVC_IMAGE_GAMMA,
|
||||
val, 0) != 0) {
|
||||
return createErrorResponse("Failed to set gamma");
|
||||
@@ -223,7 +222,7 @@ std::string CameraController::handleSetGamma(const std::string& value) {
|
||||
|
||||
std::string CameraController::handleSetGain(const std::string& value) {
|
||||
try {
|
||||
long val = std::stol(value);
|
||||
const long val = std::stol(value);
|
||||
if (VxSetUVCImageProcessing(camera_, VX_UVC_IMAGE_PROPERTIES::UVC_IMAGE_GAIN,
|
||||
val, 0) != 0) {
|
||||
return createErrorResponse("Failed to set gain");
|
||||
|
||||
Reference in New Issue
Block a user