@@ -8,11 +8,8 @@ namespace module {
88namespace grpc_calls {
99
1010ControlServiceCalls::ControlServiceCalls (const std::shared_ptr<control_service::ControlService::Stub>& stub) :
11- stub (stub) {
11+ control_service_stub (stub) {
1212 this ->entity_address = common_types::CreateEntityAddress (std::vector<uint32_t >{1 });
13- this ->use_case = control_service::CreateUseCase (
14- control_service::UseCase_ActorType_Enum::UseCase_ActorType_Enum_ControllableSystem,
15- control_service::UseCase_NameType_Enum::UseCase_NameType_Enum_limitationOfPowerConsumption);
1613}
1714
1815void ControlServiceCalls::call_set_config (uint32_t port, std::string vendor_code, std::string device_brand,
@@ -25,47 +22,49 @@ void ControlServiceCalls::call_set_config(uint32_t port, std::string vendor_code
2522 control_service::DeviceType_Enum::DeviceType_Enum_CHARGING_STATION,
2623 std::vector<control_service::EntityType_Enum>{control_service::EntityType_Enum::EntityType_Enum_EVSE}, 4 );
2724 control_service::EmptyResponse response;
28- control_service::CallSetConfig (this ->stub , request, &response);
25+ control_service::CallSetConfig (this ->control_service_stub , request, &response);
2926}
3027
3128void ControlServiceCalls::call_start_setup () {
3229 control_service::EmptyResponse response;
33- control_service::CallStartSetup (this ->stub , control_service::EmptyRequest (), &response);
30+ control_service::CallStartSetup (this ->control_service_stub , control_service::EmptyRequest (), &response);
3431}
3532
3633void ControlServiceCalls::call_register_remote_ski (const std::string& remote_ski) {
3734 control_service::RegisterRemoteSkiRequest request;
3835 request = control_service::CreateRegisterRemoteSkiRequest (remote_ski);
3936 control_service::EmptyResponse response;
40- control_service::CallRegisterRemoteSki (this ->stub , request, &response);
37+ control_service::CallRegisterRemoteSki (this ->control_service_stub , request, &response);
4138}
4239
4340void ControlServiceCalls::call_start_service () {
4441 control_service::EmptyResponse response;
45- control_service::CallStartService (this ->stub , control_service::EmptyRequest (), &response);
42+ control_service::CallStartService (this ->control_service_stub , control_service::EmptyRequest (), &response);
4643}
4744
48- std::string ControlServiceCalls::call_add_use_case () {
45+ std::string ControlServiceCalls::call_add_use_case (control_service::UseCase* use_case ) {
4946 control_service::AddUseCaseRequest request =
50- control_service::CreateAddUseCaseRequest (&this ->entity_address , & this -> use_case );
47+ control_service::CreateAddUseCaseRequest (&this ->entity_address , use_case);
5148 control_service::AddUseCaseResponse response;
52- control_service::CallAddUseCase (this ->stub , request, &response);
49+ control_service::CallAddUseCase (this ->control_service_stub , request, &response);
5350
5451 std::ignore = request.release_entity_address ();
5552 std::ignore = request.release_use_case ();
5653
5754 return response.endpoint ();
5855}
5956
60- void ControlServiceCalls::subscribe_use_case_events (
61- module ::EEBUS* eebus_module, const std::shared_ptr<cs_lpc::ControllableSystemLPCControl::Stub>& cs_lpc_stub) {
62- control_service::SubscribeUseCaseEventsRequest request =
63- control_service::CreateSubscribeUseCaseEventsRequest (&this ->entity_address , &this ->use_case );
64- eebus_module->set_use_case_event_reader (
65- std::make_unique<UseCaseEventReader>(this ->stub , cs_lpc_stub, request, eebus_module));
66-
67- std::ignore = request.release_entity_address ();
68- std::ignore = request.release_use_case ();
57+ void ControlServiceCalls::subscribe_use_case_events (module ::EEBUS* eebus_module, use_case_stubs stub,
58+ control_service::UseCase* use_case) {
59+ if (std::holds_alternative<std::shared_ptr<cs_lpc::ControllableSystemLPCControl::Stub>>(stub)) {
60+ control_service::SubscribeUseCaseEventsRequest request =
61+ control_service::CreateSubscribeUseCaseEventsRequest (&this ->entity_address , use_case);
62+ this ->lpc_uc_reader = std::make_unique<UseCaseEventReader>(
63+ this ->control_service_stub , std::get<std::shared_ptr<cs_lpc::ControllableSystemLPCControl::Stub>>(stub),
64+ request, eebus_module);
65+ std::ignore = request.release_entity_address ();
66+ std::ignore = request.release_use_case ();
67+ }
6968}
7069
7170} // namespace grpc_calls
0 commit comments