cmvr_head/applications/erpc/proto/generated/c_head_service_server.cpp

82 lines
1.7 KiB
C++
Raw Normal View History

2025-12-24 18:28:20 +08:00
/*
2026-01-07 11:41:07 +08:00
* Generated by erpcgen 1.14.0 on Wed Dec 31 16:10:10 2025.
2025-12-24 18:28:20 +08:00
*
* AUTOGENERATED - DO NOT EDIT
*/
#include <new>
#include "c_head_service_server.h"
#include "head_service_server.hpp"
#include "erpc_manually_constructed.hpp"
using namespace erpc;
using namespace std;
using namespace erpcShim;
class demo_server: public demo_interface
{
public:
virtual ~demo_server() {};
int32_t add(int32_t a, int32_t b)
{
int32_t result;
result = ::add(a, b);
2026-01-07 11:41:07 +08:00
return result;
}
int64_t sum_i32(const list_int32_1_t * arr)
{
int64_t result;
result = ::sum_i32(arr);
2025-12-24 18:28:20 +08:00
return result;
}
};
ERPC_MANUALLY_CONSTRUCTED_STATIC(demo_service, s_demo_service);
ERPC_MANUALLY_CONSTRUCTED_STATIC(demo_server, s_demo_server);
erpc_service_t create_demo_service(void)
{
erpc_service_t service;
#if ERPC_ALLOCATION_POLICY == ERPC_ALLOCATION_POLICY_DYNAMIC
service = new (nothrow) demo_service(new (nothrow)demo_server());
#else
if (s_demo_service.isUsed())
{
service = NULL;
}
else
{
s_demo_server.construct();
s_demo_service.construct(s_demo_server.get());
service = s_demo_service.get();
}
#endif
return service;
}
void destroy_demo_service(erpc_service_t service)
{
#if ERPC_ALLOCATION_POLICY == ERPC_ALLOCATION_POLICY_DYNAMIC
if (service)
{
delete (demo_server *)(((demo_service *)service)->getHandler());
delete (demo_service *)service;
}
#else
(void)service;
erpc_assert(service == s_demo_service.get());
s_demo_service.destroy();
s_demo_server.destroy();
#endif
}