82 lines
1.7 KiB
C++
82 lines
1.7 KiB
C++
/*
|
|
* Generated by erpcgen 1.14.0 on Wed Dec 31 16:10:10 2025.
|
|
*
|
|
* 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);
|
|
|
|
return result;
|
|
}
|
|
|
|
int64_t sum_i32(const list_int32_1_t * arr)
|
|
{
|
|
int64_t result;
|
|
result = ::sum_i32(arr);
|
|
|
|
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
|
|
}
|
|
|