edmiRemoteDeleteAccessRights

EdmiError edmiRemoteDeleteAccessRights(SdaiServerContext serverContextId,
                                         SdaiAppInstance   currInst,
                                         SdaiInstance      userORgroupId,
                                         SdaiInvocationId  *edmiInvocationId);


Revokes individually set access rights for an EDMuser or an EDMgroup from a protected instance in a remote EDMdatabase. Owners and administrators can not have their access rights increased or reduced by individual access rights. Only owners, administrators and the superuser may use this function.

Arguments


TypeNameComment
 SdaiServerContext

serverContextId

Context identification, from edmiDefineServerContext

 SdaiAppInstance

currInst

A numeric instanceID that uniquely identifies a protected instance in the EDMdatabase for which individual access rights are to be revoked for an EDMuser or EDMgroup.

 SdaiInstance

userORgroupId

A numeric instanceID that uniquely identifies an EDMuser or EDMgroup instance in the EDMdatabase  for which all individually granted access rights to the protected instance given by argument <currInst> shall be revoked.

 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


 

 EdmiError rstat;
 SdaiServerContext myContext;
 SdaiRepository repId;
 SdaiModel modId;
 SdaiInteger protCode;
 SdaiInstance *pAdmin, owner, groupOwner, directorId;
 struct {
 SdaiInstance Id; 
 SdaiInteger Code; 
 } *pAccessFor;
  
 /* Define Remote Server Context */
 rstat = edmiDefineServerContext("MyRemoteServerContext",
 "Superuser", NULL, "cf37ftr", 
 "TCP", "9090", "MyServerHost", 
 NULL, NULL, NULL, NULL, NULL, &myContext); 
  
 /* Get Johnnys hour list model */
 rstat = edmiRemoteGetUser(myContext, "Director", &directorId, NULL);
 rstat = edmiRemoteGetRepository(myContext, "StaffRepository",
 &repId, NULL); 
 rstat = edmiRemoteGetModel(myContext, repId,
 "JohnnysHourList", &modId, NULL); 
  
 /* Get all protection info */
 rstat = edmiRemoteGetInstanceAccessRights(myContext, modId, 0,
 &owner, &groupOwner, &protCode,  
 &pAdmin, &pAccessFor, NULL); 
  
 /* Remove Directors individually set access */
 while(pAccessFor->Id) {
 if (pAccessFor->Id == directorId) { 
 rstat = edmiRemoteDeleteAccessRights(myContext,  
 modId, directorId, NULL); 
 break; 
 } 
 ++pAccessFor; 
 }
 . . .

 

See also

Filter by label

There are no items with the selected labels at this time.

Â