feat: Integrate unified gRPC server for enhanced service management
- Added `UnifiedGRPCServer` class to host both ImGuiTestHarness and ROM service, allowing simultaneous access to GUI automation and ROM manipulation. - Implemented necessary header and source files for the unified server, including initialization, start, and shutdown functionalities. - Updated CMake configurations to include new source files and link required gRPC libraries for the unified server. - Enhanced existing services with gRPC support, improving overall system capabilities and enabling real-time collaboration. - Added integration tests for AI-controlled tile placement, validating command parsing and execution via gRPC.
This commit is contained in:
@@ -17,9 +17,8 @@ set(
|
||||
)
|
||||
|
||||
if(YAZE_WITH_GRPC)
|
||||
# ROM service implementation ready but not compiled yet
|
||||
# Will be integrated with test harness proto build system
|
||||
# Files created: protos/rom_service.proto, app/net/rom_service_impl.{h,cc}
|
||||
# Add ROM service implementation
|
||||
list(APPEND YAZE_NET_SRC app/net/rom_service_impl.cc)
|
||||
endif()
|
||||
|
||||
add_library(yaze_net STATIC ${YAZE_NET_SRC})
|
||||
@@ -66,6 +65,19 @@ if(YAZE_WITH_JSON)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Add gRPC support for ROM service
|
||||
if(YAZE_WITH_GRPC)
|
||||
target_add_protobuf(yaze_net ${CMAKE_SOURCE_DIR}/protos/rom_service.proto)
|
||||
|
||||
target_link_libraries(yaze_net PUBLIC
|
||||
grpc++
|
||||
grpc++_reflection
|
||||
libprotobuf
|
||||
)
|
||||
|
||||
message(STATUS " - gRPC ROM service enabled")
|
||||
endif()
|
||||
|
||||
set_target_properties(yaze_net PROPERTIES
|
||||
POSITION_INDEPENDENT_CODE ON
|
||||
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
||||
|
||||
Reference in New Issue
Block a user