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