...
Code Block | ||||
---|---|---|---|---|
| ||||
EdmiError edmiRemoteGetAttrsBN(SdaiServerContext serverContextId,
SdaiInstance instance,
SdaiVersion version,
SdaiInteger numberAttr,
SdaiInvocationId *edmiInvocationId,
/* [SdaiString attributeName, SdaiPrimitiveType valueType, void *value] */
...);
|
Returns the value of the one or more specified attributes of an application instance. The instance is specified by its numeric instanceID that uniquely identifies it in the remote EDMdatabase
...
. The attributer are identified by their names.
...
Arguments
...
Type | Name | Comment |
SdaiServerContext | serverContextId | Context identification, from edmiDefineServerContext |
SdaiInstance | instance | A numeric instanceID that uniquely identifies the instance of interrest in the remote _EDMdatabase{_}.remote EDMdatabase |
SdaiVersion | version | The version of the edmModel to apply this function call on. The <version> parameter is a numeric sequence number counting from one by increments of one for each new model version that is created. A zero model version number means the current version. |
SdaiInteger | numberAttr | The number of attributes for which to to assign values. |
SdaiInvocationId | edmiInvocationId | Currently not used. |
value | For each attribute value to read the following three arguments must be specified:
|
...
Return Value
...
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Options
...
Example
...
Code Block | ||
---|---|---|
| ||
#define S_BATCHSIZE 10 int i; EdmiError rstat; SdaiServerContext myContext; SdaiInteger index, nHits, nTot; /* Create Server Context */ rstat = edmiDefineServerContext("MyContext", |
...
"Johnny", "Supervisor", "cf37ftr", |
...
"TCP", "9090", "MyServerHost", |
...
NULL, NULL, NULL, NULL, NULL, &myContext); |
...
/* Find carpenters among my friends |
...
and their fathers. Read |
...
them in batches of 10 */ nTot = 0; index = 0; nHits = S_BATCHSIZE; |
...
while (nHits = S_BATCHSIZE) { |
...
SdaiQueryResult _qexRes; |
...
SdaiString _firstName, _lastName, _phoneNo; |
...
rstat = edmiRemoteSelectInstances(myContext, "MyRepository", |
...
"MySocialRelations", "MyFriends", |
...
"(SELF.PROFESSION.NAME = 'Carpenter') OR \ |
...
(FATHER.PROFESSION.NAME = 'Carpenter')", |
...
ONLY_INSTANCE_IDS, NULL, NULL, NULL, |
...
&index, &nHits, &_qexRes, NULL, NULL, NULL, NULL); |
...
/* Get names and phone numbers */ |
...
for (i=0;i<nHits;i++) { |
...
rstat = edmiRemoteGetAttrsBN(myContext, |
...
_qexRes->instanceIds[i], 0, 3, NULL, |
...
"FIRST_NAME", sdaiSTRING, &_firstName, |
...
"LAST_NAME", sdaiSTRING, &_lastName, |
...
"PHONE_NO", sdaiSTRING, &_phoneNo); |
...
printf("\n%s %s, Phone No. %s", _firstName, _lastName, _phoneNo); |
...
} edmiFreeQueryResult(_qexRes); |
...
nTot += nHits; |
...
++index; |
...
} printf ("\n%d carpenters found among my friends!"); |
...
. . . |
See also
Filter by label (Content by label) | ||||||
---|---|---|---|---|---|---|
|