Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »


 
Removes all instances from an instance container identified by its name and the modelId. The removed instances will not be removed from the model. This function may not be used unless the container was assigned a name when it was created. I no name was assigned, use edmiRemoteEmptyContainer.
Related functions: edmiRemoteCreateInstanceContainer, edmiRemoteDeleteInstanceContainer, edmiRemoteDeleteInstanceContainerBN, edmiRemoteEmptyContainer, edmiRemoteGetInstanceContainerId, edmiRemoteGetInstanceContainers, edmiRemoteSetContainerCheckedout, edmiRemoteSetContainerCheckedoutBN, edmiRemoteUnsetContainerCheckedout, edmiRemoteUnsetContainerCheckedoutBN, edmiRemoteInstancesToContainer, edmiRemoteInstancesToContainerBN, edmiRemoteInstanceToContainer, edmiRemoteInstanceToContainerBN.
Header:
#include "sdai.h"
Prototype:
EdmiError edmiRemoteEmptyContainerBN(SdaiServerContext serverContextId,
                                      SdaiModel         modelId,
                                      SdaiString        containerName,
                                      SdaiInvocationId *edmiInvocationId);
 
Arguments:

serverContextId

Context identification, from edmiDefineServerContext

modelId

The modelId that uniquely identifies the edmModel in the remote EDMdatabase

containerName

The name that was assigned to the instance container when it was created.

edmiInvocationId

Currently not used.

Returns:
A completion code of datatype EdmiError is the returned function value. The completion code has the following values:
Completion code = 0 : Operation successfully performed.
Completion code != 0: Error in operation. Completion code is an _EDMinterface_ error code. Use edmiGetErrorText to get the error text corresponding to the error code.
Example:
EdmiError rstat;
SdaiModel modelId;
SdaiContainer contId;
SdaiServerContext myContext;
SdaiQueryResult queryResult;
SdaiInteger index = 0, nHits = 10000;
. . .
/* Define Remote Server Context */
rstat = edmiDefineServerContext("MyRemoteServerContext",
"Johnny", "Supervisor", "cf37ftr", 
"TCP", "9090", "MyServerHost", 
NULL, NULL, NULL, NULL, NULL, &myContext); 
 
/* Create a lock container */
rstat = edmiRemoteCreateInstanceContainer(myContext,
modelId, LOCK_CONTAINER, "FLOOR01", 
"Check out of first floor", &contId, NULL); 
 
/* Select instances to lock */
rstat = edmiRemoteSelectInstances(myContext,
"DataRepository", "GeneralHospital", 
"CONSTRUCTION_ELEMENT", "FLOOR = 1",  
SUBTYPES | ONLY_INSTANCE_IDS,  
NULL, NULL, NULL, &index, &nHits, &queryResult,  
NULL, NULL, NULL, NULL); 
 
/* Put first floor in the container */
rstat = edmiRemoteInstancesToContainerBN(myContext, modelId,
NULL, "FLOOR01", 0, queryResult->instanceIds, NULL); 
edmiFreeQueryResult(queryResult);
 
/* Check out the container */
rstat = edmiRemoteProtectInstance(myContext, contId,
(PUBLIC_READ | GROUP_READ | OWNER_WRITE), NULL); 
rstat = edmiRemoteSetContainerCheckedoutBN(myContext,
modelId, "FLOOR01", NULL); 
 
. . .
/* Manipulate data here */
. . .
 
/* Check in the container */
rstat = edmiRemoteUnsetContainerCheckedoutBN(myContext,
modelId, "FLOOR01", NULL); 
rstat = edmiRemoteProtectInstance(myContext, contId,
(PUBLIC_READ | GROUP_WRITE | OWNER_WRITE), NULL); 
 
/* Empty and delete the container */
rstat = edmiRemoteEmptyContainerBN(myContext, modelId, "FLOOR01", NULL);
rstat = edmiRemoteDeleteInstanceContainerBN(myContext, modelId,
"FLOOR01", NULL); 
. . .

  • No labels