diff options
author | 2024-02-21 15:25:08 +0000 | |
---|---|---|
committer | 2024-02-21 15:25:08 +0000 | |
commit | b4debfc9e238b57dace7cae6ad0ad42ce42fbaf4 (patch) | |
tree | 4d25f910b859e9495195e5817cee62776f46f7b2 | |
parent | 85230b214629df627bc28ad24206dd5f37507c81 (diff) | |
parent | 14068fefb5e5f43fc0bfd3d99aa30fa13faf2146 (diff) |
Merge "Allow specifying bind address"HEADsalmon_18.90.0salmon/18.90.0ricefish_18.0.0ricefish/18.0.018.90.018.0.0master
-rw-r--r-- | src/main-grpc.cc | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/src/main-grpc.cc b/src/main-grpc.cc index 29e01f1..9b29adb 100644 --- a/src/main-grpc.cc +++ b/src/main-grpc.cc @@ -1,6 +1,6 @@ // SPDX-License-Identifier: Apache-2.0 /* - * Copyright (C) 2023 Konsulko Group + * Copyright (C) 2023,2024 Konsulko Group */ #include <thread> @@ -40,8 +40,30 @@ int main(int argc, char *argv[]) grpc::reflection::InitProtoReflectionServerBuilderPlugin(); ServerBuilder builder; + // Load settings from configuration file if it exists + std::string bind_address = "localhost"; + GKeyFile *conf_file = g_key_file_new(); + if(conf_file && + g_key_file_load_from_dirs(conf_file, + "AGL.conf", + (const gchar**) g_get_system_config_dirs(), + NULL, + G_KEY_FILE_KEEP_COMMENTS, + NULL) == TRUE) { + + // Set band plan if it is specified + gchar *value_str = g_key_file_get_string(conf_file, + "radio", + "bind", + NULL); + if(value_str) { + bind_address = value_str; + } + } + g_key_file_free(conf_file); + // Listen on the given address without any authentication mechanism (for now) - std::string server_address("localhost:50053"); + std::string server_address(bind_address + ":50053"); builder.AddListeningPort(server_address, grpc::InsecureServerCredentials()); // Register "service" as the instance through which we'll communicate with |