Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion client/include/client/config_manager.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ class ConfigManager {

std::string runtimeDir_;
std::map<std::string, std::string> configData_;
mutable std::mutex mutex_;
mutable std::recursive_mutex mutex_;

bool createDirectoryStructure();
bool testDirectoryWritable(const std::string& path);
Expand Down
18 changes: 9 additions & 9 deletions client/src/config_manager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ ConfigManager& ConfigManager::getInstance() {
}

bool ConfigManager::setRuntimeDirectory(const std::string& path) {
std::lock_guard<std::mutex> lock(mutex_);
std::lock_guard<std::recursive_mutex> lock(mutex_);

// Verify directory exists
if (!std::filesystem::exists(path)) {
Expand Down Expand Up @@ -46,25 +46,25 @@ bool ConfigManager::setRuntimeDirectory(const std::string& path) {
}

std::string ConfigManager::getRuntimeDirectory() const {
std::lock_guard<std::mutex> lock(mutex_);
std::lock_guard<std::recursive_mutex> lock(mutex_);
return runtimeDir_;
}

bool ConfigManager::hasRuntimeDirectory() const {
std::lock_guard<std::mutex> lock(mutex_);
std::lock_guard<std::recursive_mutex> lock(mutex_);
return !runtimeDir_.empty();
}

std::string ConfigManager::getDataLogPath() const {
std::lock_guard<std::mutex> lock(mutex_);
std::lock_guard<std::recursive_mutex> lock(mutex_);
if (runtimeDir_.empty()) {
return "";
}
return runtimeDir_ + "/data/tcp_data.jsonl";
}

std::string ConfigManager::getConfigPath() const {
std::lock_guard<std::mutex> lock(mutex_);
std::lock_guard<std::recursive_mutex> lock(mutex_);
if (runtimeDir_.empty()) {
return "";
}
Expand Down Expand Up @@ -201,14 +201,14 @@ bool ConfigManager::saveToJson() {
}

bool ConfigManager::saveConfig(const std::string& key, const std::string& value) {
std::lock_guard<std::mutex> lock(mutex_);
std::lock_guard<std::recursive_mutex> lock(mutex_);

configData_[key] = value;
return saveToJson();
}

std::string ConfigManager::getConfig(const std::string& key) {
std::lock_guard<std::mutex> lock(mutex_);
std::lock_guard<std::recursive_mutex> lock(mutex_);

auto it = configData_.find(key);
if (it != configData_.end()) {
Expand All @@ -218,7 +218,7 @@ std::string ConfigManager::getConfig(const std::string& key) {
}

bool ConfigManager::saveTcpSettings(const std::string& host, int port, bool autoReconnect, int reconnectDelay) {
std::lock_guard<std::mutex> lock(mutex_);
std::lock_guard<std::recursive_mutex> lock(mutex_);

configData_["tcp_host"] = host;
configData_["tcp_port"] = std::to_string(port);
Expand All @@ -229,7 +229,7 @@ bool ConfigManager::saveTcpSettings(const std::string& host, int port, bool auto
}

bool ConfigManager::getTcpSettings(std::string& host, int& port, bool& autoReconnect, int& reconnectDelay) {
std::lock_guard<std::mutex> lock(mutex_);
std::lock_guard<std::recursive_mutex> lock(mutex_);

auto hostIt = configData_.find("tcp_host");
auto portIt = configData_.find("tcp_port");
Expand Down
2 changes: 1 addition & 1 deletion client/src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ class PanoramaClient : public wxApp {
if (parser.isNoGuiMode()) {
cout << "Running in console mode (no GUI). Press Ctrl+C to exit.\n";
cout << "Listening for JSON stream...\n\n";

while (true) {
std::this_thread::sleep_for(std::chrono::seconds(1)); // Run forever in console
}
Expand Down