* Copyright (c) Huawei Technologies Co., Ltd. 2026. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
* Description: Provide functions for dlopen to call.
*/
#include "datasystem/worker/worker_api_c_wrapper.h"
void *GetWorkerService(void *obj)
{
return static_cast<datasystem::worker::Worker *>(obj)->GetWorkerService();
}
void *GetWorkerOCService(void *obj)
{
return static_cast<datasystem::worker::Worker *>(obj)->GetWorkerOCService();
}
Status WorkerRegisterClient(void *obj, const RegisterClientReqPb &req, RegisterClientRspPb &resp)
{
return static_cast<datasystem::worker::WorkerServiceImpl *>(obj)->RegisterClient(req, resp);
}
Status WorkerHeartbeat(void *obj, const HeartbeatReqPb &req, HeartbeatRspPb &resp)
{
return static_cast<datasystem::worker::WorkerServiceImpl *>(obj)->Heartbeat(req, resp);
}
Status WorkerDisconnectClient(void *obj, const DisconnectClientReqPb &req, DisconnectClientRspPb &resp)
{
return static_cast<datasystem::worker::WorkerServiceImpl *>(obj)->DisconnectClient(req, resp);
}
Status WorkerOCCreate(void *obj, const CreateReqPb &req, CreateRspPb &resp)
{
return static_cast<datasystem::object_cache::WorkerOCServiceImpl *>(obj)->Create(req, resp);
}
Status WorkerOCPublish(void *obj, const PublishReqPb &req, PublishRspPb &resp, std::vector<RpcMessage> payloads)
{
return static_cast<datasystem::object_cache::WorkerOCServiceImpl *>(obj)->Publish(req, resp, std::move(payloads));
}
Status WorkerOCGet(void *obj, std::shared_ptr<ServerUnaryWriterReader<GetRspPb, GetReqPb>> &serverApi)
{
return static_cast<datasystem::object_cache::WorkerOCServiceImpl *>(obj)->Get(serverApi);
}
Status WorkerOCMultiPublish(void *obj, const MultiPublishReqPb &req, MultiPublishRspPb &resp,
std::vector<RpcMessage> payloads)
{
return static_cast<datasystem::object_cache::WorkerOCServiceImpl *>(obj)->MultiPublish(req, resp,
std::move(payloads));
}
Status WorkerOCDecreaseReference(void *obj, const DecreaseReferenceRequest &req, DecreaseReferenceResponse &resp)
{
return static_cast<datasystem::object_cache::WorkerOCServiceImpl *>(obj)->DecreaseReference(req, resp);
}
Status WorkerOCReconcileShmRef(void *obj, const ReconcileShmRefReqPb &req, ReconcileShmRefRspPb &resp)
{
return static_cast<datasystem::object_cache::WorkerOCServiceImpl *>(obj)->ReconcileShmRef(req, resp);
}
Status WorkerOCInvalidateBuffer(void *obj, const InvalidateBufferReqPb &req, InvalidateBufferRspPb &resp)
{
return static_cast<datasystem::object_cache::WorkerOCServiceImpl *>(obj)->InvalidateBuffer(req, resp);
}
Status WorkerOCGIncreaseRef(void *obj, const GIncreaseReqPb &req, GIncreaseRspPb &resp)
{
return static_cast<datasystem::object_cache::WorkerOCServiceImpl *>(obj)->GIncreaseRef(req, resp);
}
Status WorkerOCReleaseGRefs(void *obj, const ReleaseGRefsReqPb &req, ReleaseGRefsRspPb &resp)
{
return static_cast<datasystem::object_cache::WorkerOCServiceImpl *>(obj)->ReleaseGRefs(req, resp);
}
Status WorkerOCGDecreaseRef(void *obj, const GDecreaseReqPb &req, GDecreaseRspPb &resp)
{
return static_cast<datasystem::object_cache::WorkerOCServiceImpl *>(obj)->GDecreaseRef(req, resp);
}
Status WorkerOCDeleteAllCopy(void *obj, const DeleteAllCopyReqPb &req, DeleteAllCopyRspPb &resp)
{
return static_cast<datasystem::object_cache::WorkerOCServiceImpl *>(obj)->DeleteAllCopy(req, resp);
}
Status WorkerOCQueryGlobalRefNum(void *obj, const QueryGlobalRefNumReqPb &req, QueryGlobalRefNumRspCollectionPb &resp)
{
return static_cast<datasystem::object_cache::WorkerOCServiceImpl *>(obj)->QueryGlobalRefNum(req, resp);
}
Status WorkerOCPublishDeviceObject(void *obj, const PublishDeviceObjectReqPb &req, PublishDeviceObjectRspPb &resp,
std::vector<RpcMessage> payloads)
{
return static_cast<datasystem::object_cache::WorkerOCServiceImpl *>(obj)->PublishDeviceObject(req, resp,
std::move(payloads));
}
Status WorkerOCPutP2PMeta(void *obj, const PutP2PMetaReqPb &req, PutP2PMetaRspPb &resp)
{
return static_cast<datasystem::object_cache::WorkerOCServiceImpl *>(obj)->PutP2PMeta(req, resp);
}
Status WorkerOCSendRootInfo(void *obj, const SendRootInfoReqPb &req, SendRootInfoRspPb &resp)
{
return static_cast<datasystem::object_cache::WorkerOCServiceImpl *>(obj)->SendRootInfo(req, resp);
}
Status WorkerOCAckRecvFinish(void *obj, const AckRecvFinishReqPb &req, AckRecvFinishRspPb &resp)
{
return static_cast<datasystem::object_cache::WorkerOCServiceImpl *>(obj)->AckRecvFinish(req, resp);
}
Status WorkerOCRemoveP2PLocation(void *obj, const RemoveP2PLocationReqPb &req, RemoveP2PLocationRspPb &resp)
{
return static_cast<datasystem::object_cache::WorkerOCServiceImpl *>(obj)->RemoveP2PLocation(req, resp);
}
Status WorkerOCGetObjMetaInfo(void *obj, const GetObjMetaInfoReqPb &req, GetObjMetaInfoRspPb &resp)
{
return static_cast<datasystem::object_cache::WorkerOCServiceImpl *>(obj)->GetObjMetaInfo(req, resp);
}
Status WorkerOCMultiCreate(void *obj, const MultiCreateReqPb &req, MultiCreateRspPb &resp)
{
return static_cast<datasystem::object_cache::WorkerOCServiceImpl *>(obj)->MultiCreate(req, resp);
}
Status WorkerOCQuerySize(void *obj, const QuerySizeReqPb &req, QuerySizeRspPb &resp)
{
return static_cast<datasystem::object_cache::WorkerOCServiceImpl *>(obj)->QuerySize(req, resp);
}
Status WorkerOCHealthCheck(void *obj, const HealthCheckRequestPb &req, HealthCheckReplyPb &resp)
{
return static_cast<datasystem::object_cache::WorkerOCServiceImpl *>(obj)->HealthCheck(req, resp);
}
Status WorkerOCExist(void *obj, const ExistReqPb &req, ExistRspPb &resp)
{
return static_cast<datasystem::object_cache::WorkerOCServiceImpl *>(obj)->Exist(req, resp);
}
Status WorkerOCExpire(void *obj, const ExpireReqPb &req, ExpireRspPb &resp)
{
return static_cast<datasystem::object_cache::WorkerOCServiceImpl *>(obj)->Expire(req, resp);
}
Status WorkerOCGetMetaInfo(void *obj, const GetMetaInfoReqPb &req, GetMetaInfoRspPb &resp)
{
return static_cast<datasystem::object_cache::WorkerOCServiceImpl *>(obj)->GetMetaInfo(req, resp);
}