Returns a buffer with containerIds of all the instance containers of a given type in which a given instanceId is contained.
Related functions: edmiRemoteCreateInstanceContainer, edmiRemoteDeleteInstanceContainer, edmiRemoteDeleteInstanceContainerBN, edmiRemoteEmptyContainer, edmiRemoteEmptyContainerBN, edmiRemoteGetInstanceContainerId, edmiRemoteSetContainerCheckedout, edmiRemoteSetContainerCheckedoutBN, edmiRemoteUnsetContainerCheckedout, edmiRemoteUnsetContainerCheckedoutBN, edmiRemoteInstancesToContainer, edmiRemoteInstancesToContainerBN, edmiRemoteInstanceToContainer, edmiRemoteInstanceToContainerBN.
Header:
#include "sdai.h"
Prototype:
EdmiError edmiRemoteGetInstanceContainers(SdaiServerContext serverContextId,
SdaiAppInstance currInst,
SdaiOptions options,
SdaiContainer *containerId,
SdaiInteger *numberOfContainers,
SdaiContainer **containerIds,
SdaiInvocationId *edmiInvocationId);
Arguments:
serverContextId |
Context identification, from edmiDefineServerContext |
currInst |
A numeric instanceID that uniquely identifies the instance of interest in the _EDMdatabase{_}. |
options |
Specifies what type of instance containers to search for. The option value may be a bitwise OR of any combination of the options listed below. |
containerId |
Variable that will receive the the Id of the lockable container in which the instance Id is located. No instance may be contained by more than one lockable instance container at the same time. Hence, only a single container Id may result when searcing for lockable containers. If the instance is not located in any lockable containers, this parameter will be unset. |
numberOfContainers |
The total number of instance container ids returned in the <containerIds> buffer. |
containerIds |
Variable that will receive a pointer to a buffer of container ids in which the instance given in <currInst> is located. When searching for lockable containers, the id of the container will be returned in this buffer as well as in the parameter <containerId> |
edmiInvocationId |
currently not used |
Options: Descriptions:
CONTAINER |
Search for all plain instance containers. |
LOCK_CONTAINER |
Search for any lockable instance container. |
MODEL_CONTAINER |
Search for all plain instance model containers. |
MODEL_LOCK_CONTAINER |
Search for any lockable instance model container. |
ANY_CONTAINER |
Search for any type of container. |
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:
int i;
EdmiError rstat;
SdaiContainer lockContId, *pContainers;
SdaiServerContext myContext;
SdaiInstance instId;
SdaiInteger nCont;
. . .
/* Define Remote Server Context */
rstat = edmiDefineServerContext("MyRemoteServerContext",
"Johnny", "Supervisor", "cf37ftr",
"TCP", "9090", "MyServerHost",
NULL, NULL, NULL, NULL, NULL, &myContext);
/* Get all containers containing instId */
rstat = edmiRemoteGetInstanceContainers(myContext,
instId, ANY_CONTAINER, &lockContId,
&nCont, &pContainers, NULL);
/* Remove instId from all containers */
for (i=0; i<nCont; i++) {
rstat = edmiRemoteInstanceToContainer(myContext,
pContainers[i], 0, instId, NULL);
}
. . .