#include "mp_utils.h"
MP_STATUS
MP_DeregisterForObjectVisibilityChangesPlugin(MP_OBJECT_VISIBILITY_FN pClientFn,
MP_OBJECT_TYPE objectType)
{
log(LOG_INFO, "MP_DeregisterForObjectVisibilityChangesPlugin()",
" - enter");
if (NULL == pClientFn) {
log(LOG_INFO, "MP_DeregisterForObjectVisibilityChangesPlugin()",
" - pClientFn is NULL");
log(LOG_INFO, "MP_DeregisterForObjectVisibilityChangesPlugin()",
" - error exit");
return (MP_STATUS_INVALID_PARAMETER);
}
if (objectType > MP_OBJECT_TYPE_MAX) {
log(LOG_INFO, "MP_DeregisterForObjectVisibilityChangesPlugin()",
" - objectType is invalid");
log(LOG_INFO, "MP_DeregisterForObjectVisibilityChangesPlugin()",
" - error exit");
return (MP_STATUS_INVALID_PARAMETER);
}
if (objectType < 1) {
log(LOG_INFO, "MP_DeregisterForObjectVisibilityChangesPlugin()",
" - objectType is invalid");
log(LOG_INFO, "MP_DeregisterForObjectVisibilityChangesPlugin()",
" - error exit");
return (MP_STATUS_INVALID_PARAMETER);
}
(void) pthread_mutex_lock(&g_visa_mutex);
g_Visibility_Callback_List[objectType].pClientFn = NULL;
g_Visibility_Callback_List[objectType].pCallerData = NULL;
(void) pthread_mutex_unlock(&g_visa_mutex);
log(LOG_INFO, "MP_DeregisterForObjectVisibilityChangesPlugin()",
" - exit");
return (MP_STATUS_SUCCESS);
}