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 »


 
Returns a numeric instanceID that uniquely identifies the entity extent of a specified instance type in a specified edmModel. EdmModels have individual entity extents for all their defined instance types. Optionally, the returned aggregate of instanceIds may include all subtypes of the specified instance type.
Related functions: edmiRemoteGetEntityExtent, edmiGetEntityExtent, edmiGetEntityExtentBN
Header:
#include "sdai.h"
Prototype:
EdmiError edmiRemoteGetEntityExtentBN(SdaiServerContext serverContextId,
                                       SdaiString        remoteRepositoryName,
                                       SdaiString        remoteModelName,
                                       SdaiString        entityName,
                                       SdaiOptions       options,
                                       SdaiAggr          *aggrId,
                                       SdaiInteger       *instances,
                                       SdaiInteger       *subtypeInstances,
                                       SdaiInvocationId  *edmiInvocationId);
 
Arguments:

serverContextId

Context identification, from edmiDefineServerContext

remoteRepositoryName

Specifies the name of the repository in the remote _EDMdatabase_ that holds the model of interest. Repository names are case sensitive.

remoteModelName

Specifies the name of the remote model of interest. Model names are case sensitive. The combination of the <remoteRepositoryName> and <remoteModelName> arguments uniquely identifies a model in a remote _EDMdatabase{_}.

entityName

Specifies the name of the entity. Entity names are case insensitive.

options

See description of available options below.
Options may be joined by using the bitwise OR operator. Default behaviour is that no subtypes be included in the returned entity extent.

aggrId

A variable that will receive an aggregateId that contains all instances of the given instance type, and optionally all instances of its subtypes.

instances

A variable that will receive the number of instances that was returned in the parameter <aggrId>.

subtypeInstances

A variable that will receive the total number of instances in the entire population of the edmModel. This number includes all instance types.

edmiInvocationId

Currently not used.

Options: Descriptions:

SUBTYPES

Include all subtypes of the instance type specified by <entityName> in the returned aggregate of instanceIds.

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;
SdaiServerContext myContext;
SdaiPrimitiveType type;
SdaiInteger nModInst, nInst, nMethod;
SdaiAggr methodAggr;
SdaiInstance *methodBuff;
 
/* Define Remote Server Context */
rstat = edmiDefineServerContext("MyRemoteServerContext",
"Johnny", "Supervisor", "cf37ftr", 
"TCP", "9090", "MyServerHost", 
NULL, NULL, NULL, NULL, NULL, &myContext); 
 
/* Get all methods from the
ExpressDataManager model */ 
rstat = edmiRemoteGetEntityExtentBN(myContext, "SystemRepository",
"ExpressDataManager", "EDM_METHOD", 0,  
&methodAggr, &nMethod, &nModInst, NULL); 
 
rstat = edmiRemoteReadAggrElements(myContext, methodAggr,
0, 0, nMethod, &nMethod, &type, NULL,  
&methodBuff, NULL); 
 
for (i=0;i<nMethod;i++) {
SdaiString _methodType; 
SdaiString _methodName; 
SdaiString _schemaName; 
SdaiString _methodClass; 
SdaiInteger _nArgs; 
SdaiPrimitiveType _returnType; 
SdaiString *_argNames; 
SdaiPrimitiveType *_argTypes; 
SdaiString _methodDesc; 
 
rstat = edmiRemoteGetMethodSignature(myContext, methodBuff[i], 
&_methodType, &_methodName, &_schemaName,
&_methodClass, &_nArgs, &_returnType,  
&_argNames, &_argTypes, &_methodDesc, NULL); 
 
printf("\n%d : Method %s\n %s", i, _methodName, _methodDesc); 
}
. . .

  • No labels