add Unix Socket API

This commit is contained in:
Maik Jurischka
2025-12-12 10:46:49 +01:00
parent 2edffd5f76
commit fe0af4dc64
7 changed files with 1033 additions and 19 deletions

41
CameraController.h Normal file
View File

@@ -0,0 +1,41 @@
#pragma once
#include <vizionsdk/VizionSDK.h>
#include <memory>
#include <string>
#include <mutex>
class CameraController {
public:
explicit CameraController(std::shared_ptr<VxCamera> camera);
// Process JSON command and return JSON response
std::string processCommand(const std::string& jsonCommand);
private:
// Command handlers
std::string handleSetFormat(const std::string& width, const std::string& height,
const std::string& framerate, const std::string& format);
std::string handleGetFormats();
std::string handleSetExposure(const std::string& mode, const std::string& value);
std::string handleSetWhiteBalance(const std::string& mode, const std::string& temperature);
std::string handleSetBrightness(const std::string& value);
std::string handleSetContrast(const std::string& value);
std::string handleSetSaturation(const std::string& value);
std::string handleSetSharpness(const std::string& value);
std::string handleSetGamma(const std::string& value);
std::string handleSetGain(const std::string& value);
std::string handleGetStatus();
std::string handleStartStream();
std::string handleStopStream();
// Helper functions
VX_IMAGE_FORMAT stringToFormat(const std::string& format);
std::string formatToString(VX_IMAGE_FORMAT format);
std::string createErrorResponse(const std::string& error);
std::string createSuccessResponse(const std::string& message = "");
std::shared_ptr<VxCamera> camera_;
std::mutex mutex_;
bool streaming_;
};