cmvr_head/packages/erpc-1.14.0/erpcgen/test/test_service_c.yml
2025-12-30 15:44:41 +08:00

52 lines
1.5 KiB
YAML

---
name: static
desc: dynamic annotation is not used.
idl: |
program test
interface ErrorTest{
oneway f()
}
c_test_server.h:
- erpc_service_t create_ErrorTest_service(void);
- void destroy_ErrorTest_service(erpc_service_t service);
c_test_server.cpp:
- ERPC_MANUALLY_CONSTRUCTED_STATIC(ErrorTest_service, s_ErrorTest_service);
- ERPC_MANUALLY_CONSTRUCTED_STATIC(ErrorTest_server, s_ErrorTest_server);
- erpc_service_t create_ErrorTest_service(void)
- "{"
- erpc_service_t service;
- "#if ERPC_ALLOCATION_POLICY == ERPC_ALLOCATION_POLICY_DYNAMIC"
- service = new (nothrow) ErrorTest_service(new (nothrow)ErrorTest_server());
- "#else"
- if (s_ErrorTest_service.isUsed())
- "{"
- service = NULL;
- "}"
- else
- "{"
- s_ErrorTest_server.construct();
- s_ErrorTest_service.construct(s_ErrorTest_server.get());
- service = s_ErrorTest_service.get();
- "}"
- "#endif"
- return service;
- "}"
- void destroy_ErrorTest_service(erpc_service_t service)
- "{"
- "#if ERPC_ALLOCATION_POLICY == ERPC_ALLOCATION_POLICY_DYNAMIC"
- if (service)
- "{"
- delete (ErrorTest_server *)(((ErrorTest_service *)service)->getHandler());
- delete (ErrorTest_service *)service;
- "}"
- "#else"
- (void)service;
- erpc_assert(service == s_ErrorTest_service.get());
- s_ErrorTest_service.destroy();
- s_ErrorTest_server.destroy();
- "#endif"
- "}"