#pragma once #ifdef __cplusplus extern "C" { #endif // Непрозрачный тип для RPC клиента (обёртка над IpcPipeChannel) typedef struct RpcClient RpcClient; // Непрозрачный тип для маршаллера (обёртка над IpcMarshaller) typedef struct IpcMarshallerHandle IpcMarshallerHandle; // Создание RPC клиента // read_pipe - путь к FIFO для чтения ответов // write_pipe - путь к FIFO для отправки запросов // Возвращает указатель на клиент или NULL при ошибке RpcClient* rpc_client_create(const char* read_pipe, const char* write_pipe); // Уничтожение RPC клиента void rpc_client_destroy(RpcClient* client); // Создание маршаллера для конкретного объекта // client - RPC клиент // object_id - идентификатор удалённого объекта // Возвращает указатель на маршаллер или NULL при ошибке IpcMarshallerHandle* rpc_client_create_marshaller(RpcClient* client, int object_id); // Уничтожение маршаллера void rpc_marshaller_destroy(IpcMarshallerHandle* marshaller); #ifdef __cplusplus } #endif