* @brief Constructs the gRPC server singleton. */
| 308 | * @brief Constructs the gRPC server singleton. |
| 309 | */ |
| 310 | API::GRPC::GRPCServer::GRPCServer() |
| 311 | : m_enabled(false), m_clientCount(0), m_writerRunning(false), m_frameQueue(4096), m_rawQueue(4096) |
| 312 | { |
| 313 | auto& server = API::Server::instance(); |
| 314 | |
| 315 | connect(&server, &API::Server::enabledChanged, this, [this]() { |
| 316 | setEnabled(API::Server::instance().enabled()); |
| 317 | }); |
| 318 | |
| 319 | connect(&server, |
| 320 | &API::Server::externalConnectionsChanged, |
| 321 | this, |
| 322 | &GRPCServer::onExternalConnectionsChanged); |
| 323 | |
| 324 | QTimer::singleShot(0, this, [this]() { setEnabled(API::Server::instance().enabled()); }); |
| 325 | } |
| 326 | |
| 327 | /** |
| 328 | * @brief Destroys the gRPC server, stopping it if running. |