edmiRemoteDeleteUser
EdmiError edmiRemoteDeleteUser(SdaiServerContext serverContextId, SdaiUser userId, SdaiInvocationId *edmiInvocationId);
Deletes an EDMuser identified by its userId from a remote EDMdatabase. An EDMuser may not be deleted when it is connected to an EDMserver. Neither may it be deleted if it is the owner of data in the remote EDMdatabase. Only the superuser may use this function.
Arguments
Type | Name | Comment |
 SdaiServerContext | serverContextId | Context identification, from edmiDefineServerContext |
 SdaiUser | userId | The numeric userID that uniquely identifies the EDMuser to be deleted. |
 SdaiInvocationId | edmiInvocationId | Currently not used. |
Return Value
Error rendering macro 'excerpt-include' : User 'null' does not have permission to view the page 'US:_r_EDMInterface'.
Â
Options
 Â
Â
Example
Â
 /* Delete User 'Lucy' and Give all Lucys objects to Johnny. */ EdmiError rstat; SdaiServerContext suContext; SdaiUser lucyUserId, johnnyUserId; /* Define Remote Server Context for the superuser */ rstat = edmiDefineServerContext("SuperUserContext", "superuser", NULL, "xfx56kl9", "TCP", "9090", "MyServerHost", NULL, NULL, NULL, NULL, NULL, &suContext); /* Get the user Id for 'Lucy' */ rstat = edmiRemoteGetUser(suContext, "Lucy", &lucyUserId, NULL); /* Try to delete 'Lucy' */ rstat = edmiRemoteDeleteUser(suContext, lucyUserId, NULL); if (rstat == edmiE_USER_OWNS) { /* Lucy may not own objects when deleted. Must locate an object owned by Lucy. */ SdaiAggr _instAggr; SdaiModel _instId; SdaiInteger _index, _nInst, _nTot; /* Get all edm_models from the ExpressDataManager model */ rstat = edmiRemoteGetEntityExtentBN(suContext, "SystemRepository", "ExpressDataManager", "EDM_MODEL", 0, &_instAggr, &_nInst, &_nTot, NULL); _index = 0; _nInst = 1; _instId = 0; /* Look for models owned by 'Lucy' */ rstat = edmiRemoteFindAggrInstances(suContext, _instAggr, "OWNER = lucyUserId", 1, &_index, &_nInst, &_instId, NULL); if (!_instId) { /* Lucy owns no models. Get all edm_repositories from the ExpressDataManager model */ rstat = edmiRemoteGetEntityExtentBN(suContext, "SystemRepository", "ExpressDataManager", "EDM_REPOSITORY", 0, &_instAggr, &_nInst, &_nTot, NULL); _nInst = 1; /* Look for repositories owned by 'Lucy' */ rstat = edmiRemoteFindAggrInstances(suContext, _instAggr, "OWNER = lucyUserId", 1, &_index, &_nInst, &_instId, NULL); if (!_instId) { /* Lucy owns no protected objects. Something is wrong. There is nothing more to be owned by Lucy !! */ printf("ERROR: Can not find object owned by Lucy"); goto err; } } /* Get the 'Johnny' user Id */ rstat = edmiRemoteGetUser(suContext, "Johnny", &johnnyUserId, NULL); /* Give all objects owned by Lucy to Johnny */ rstat = edmiRemoteChangeInstanceOwner(suContext, _instId, johnnyUserId, FOR_ALL_OWNED_INSTANCES, NULL); /* Delete Lucy */ rstat = edmiRemoteDeleteUser(suContext, lucyUserId, NULL); printf("\nLucy was deleted. Johnny was given ownership \ to all Lucys objects"); } . . .
Â
See also
Filter by label
There are no items with the selected labels at this time.
Â