int rsUserAdmin( rsComm_t *rsComm, userAdminInp_t *userAdminInp ) { rodsServerHost_t *rodsServerHost; int status; rodsLog( LOG_DEBUG, "userAdmin" ); status = getAndConnRcatHost( rsComm, MASTER_RCAT, (const char*)NULL, &rodsServerHost ); if ( status < 0 ) { return status; } if ( rodsServerHost->localFlag == LOCAL_HOST ) { #ifdef RODS_CAT status = _rsUserAdmin( rsComm, userAdminInp ); #else status = SYS_NO_RCAT_SERVER_ERR; #endif } else { status = rcUserAdmin( rodsServerHost->conn, userAdminInp ); } if ( status < 0 ) { rodsLog( LOG_NOTICE, "rsUserAdmin: rcUserAdmin failed" ); } return status; }
int rsUserAdmin( rsComm_t *rsComm, userAdminInp_t *userAdminInp ) { rodsServerHost_t *rodsServerHost; int status; rodsLog( LOG_DEBUG, "userAdmin" ); status = getAndConnRcatHost( rsComm, MASTER_RCAT, ( const char* )NULL, &rodsServerHost ); if ( status < 0 ) { return status; } if ( rodsServerHost->localFlag == LOCAL_HOST ) { std::string svc_role; irods::error ret = get_catalog_service_role(svc_role); if(!ret.ok()) { irods::log(PASS(ret)); return ret.code(); } if( irods::CFG_SERVICE_ROLE_PROVIDER == svc_role ) { status = _rsUserAdmin( rsComm, userAdminInp ); } else if( irods::CFG_SERVICE_ROLE_CONSUMER == svc_role ) { status = SYS_NO_RCAT_SERVER_ERR; } else { rodsLog( LOG_ERROR, "role not supported [%s]", svc_role.c_str() ); status = SYS_SERVICE_ROLE_NOT_SUPPORTED; } } else { status = rcUserAdmin( rodsServerHost->conn, userAdminInp ); } if ( status < 0 ) { rodsLog( LOG_NOTICE, "rsUserAdmin: rcUserAdmin failed" ); } return status; }