Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagecpp
themeConfluence
EdmiError edmiRemoteInstancesToContainer(SdaiServerContext serverContextId,
                                          SdaiContainer     sourceContainerId,
                                          SdaiContainer     targetContainerId,
                                          SdaiAggr          instancesId,
                                          SdaiAppInstance   *instanceBuffer,
                                          SdaiInvocationId  *edmiInvocationId);

Adds/removes a selection of instances to/from an instance container identified by its containerId. This function may also move instances between containers. The behaviour is controlled by the values given in the source and target parameters <sourceContainerId> and <targetContainerId>. The table below illustrates this;

Behaviour

source

target

Behavior

Unset

Set

The instances will be inserted into the target container.

Set

Unset

The instances will be removed from the source container.

Set

Set

The instances will be moved from source to target. I.e removed from the source container and inserted into the target container.

...

Arguments

...

TypeNameComment
SdaiServerContext

serverContextId

Context identification, from edmiDefineServerContext

SdaiContainer

sourceContainerId

The containerId of the instance container from which to remove the instance(s). By default, the instance(s) will not be removed from any container.

SdaiContainer

targetContainerId

The containerId of the instance container in which to insert the instance(s). By default, the instance(s) will not be inserted into any container.

SdaiAggr

instancesId

A numeric aggregateID that identifies an aggregate containing all the instances to move to, from or between the containers. If this argument is zero, the <instanceBuffer> argument will be used instead.

SdaiAppInstance

instanceBuffer

A zero-terminated instance buffer containing all the instances to move to, from or between the containers. This argument is only used when the <instancesId> is not used.

SdaiInvocationId

edmiInvocationId

Currently not used.

...

Return Value

...

Insert excerpt
US:_r_EDMInterface
US:_r_EDMInterface
nopaneltrue

 

Options

...

  

 

Example

...

 

Code Block
languagecpp
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 = edmiRemoteInstancesToContainer(myContext, 0, contId,

...


 0, queryResult->instanceIds, NULL);

...

 
 edmiFreeQueryResult(queryResult);

...


  
 /* Check out the container */

...


 rstat = edmiRemoteProtectInstance(myContext, contId,

...


 (PUBLIC_READ | GROUP_READ | OWNER_WRITE), NULL);

...

 
 rstat = edmiRemoteSetContainerCheckedout(myContext, contId, NULL);

...


  
 . . .
 /* Manipulate data here */
 . . .
  
 /* Check in the container */
 rstat = edmiRemoteUnsetContainerCheckedout(myContext, contId, NULL);

...


 rstat = edmiRemoteProtectInstance(myContext, contId,

...


 (PUBLIC_READ | GROUP_WRITE | OWNER_WRITE), NULL);

...

 
  
 /* Empty and delete the container */

...


 rstat = edmiRemoteEmptyContainer(myContext, contId, NULL);

...


 rstat = edmiRemoteDeleteInstanceContainer(myContext, contId, NULL);

...


 . . .

 

See also

Filter by label (Content by label)
showLabelsfalse
showSpacefalse
cqllabel = "model" and parent = "6062220"