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 Next »


 
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.
If this parameter is unset, the default behaviour is that the <containerId> parameter will receive the id of any lockable container in which the instance is located.

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); 
}
. . .

  • No labels