SaAisErrorT saAmfFinalize(SaAmfHandleT amfHandle) { ClRcT rc; rc = clCpmClientFinalize(amfHandle); rc = clASPFinalize(); return clClovisToSafError(rc); }
SaAisErrorT saCkptFinalize (const SaCkptHandleT ckptHandle) { ClRcT rc = CL_OK; SaAisErrorT safRc = SA_AIS_OK; rc = clCkptFinalize((ClCkptSvcHdlT)ckptHandle); /* * Translate the clovis error type to SAF error type. */ clErrorTxlate(rc, &safRc); if(CL_OK != clASPFinalize()) { clLogInfo("CKP", "FIN", "ASP finalize failed, rc[0x%X]", rc); return SA_AIS_ERR_LIBRARY; } return safRc; }
SaAisErrorT saClmFinalize ( const SaClmHandleT clmHandle ) { ClRcT rc = CL_OK; ClHandleT localHandle = CL_HANDLE_INVALID_VALUE; SaClmInstanceT *clmInstance = NULL; SA_GMS_CHECK_INIT_COUNT(); /* Handle checkout */ localHandle = (ClHandleT)clmHandle; rc = clHandleCheckout(databaseHandle, localHandle, (void**)&clmInstance); if (rc != CL_OK) { return _aspErrToAisErr(rc); } CL_ASSERT(clmInstance != NULL); /* Finalize with GMS */ rc = clGmsFinalize(localHandle); if (rc != CL_OK) { clLogError("CLM","FIN", "clGmsFinalize failed with rc 0x%x\n",rc); } /* Deregister with dispatch */ rc = clDispatchDeregister(clmInstance->dispatchHandle); if (rc != CL_OK) { clLogError(GMS_LOG_AREA_CLM,GMS_LOG_CTX_CLM_FINALISE, "clDispatchDeregister failed with rc 0x%x\n",rc); } /* Checkin the handle */ if ((clHandleCheckin(databaseHandle, localHandle)) != CL_OK) { clLogError(GMS_LOG_AREA_CLM,GMS_LOG_CTX_CLM_FINALISE, "clHandleCheckin failed"); } /* Destroy the handle */ if ((clHandleDestroy(databaseHandle, localHandle)) != CL_OK) { clLogError(GMS_LOG_AREA_CLM,GMS_LOG_CTX_CLM_FINALISE, "clHandleDestroy failed"); } SA_GMS_INIT_COUNT_DEC(); if (isLastFinalize() == CL_TRUE) { rc = clHandleDatabaseDestroy(databaseHandle); if (rc != CL_OK) { clLogError(GMS_LOG_AREA_CLM,GMS_LOG_CTX_CLM_DB, "clHandleDatabaseDestroy failed with rc 0x%x\n",rc); } } if(CL_OK != clASPFinalize()) { clLogInfo("CLM", "FIN", "ASP finalize failed, rc[0x%X]", rc); return SA_AIS_ERR_LIBRARY; } return _aspErrToAisErr(rc); }