2-82
SOMobjects Base Toolkit: Programmer’s Reference Manual
/* Get the OperationDef from the Interface Repository. */
opdef = _lookup_id(SOM_InterfaceRepository,
&ev, ”Foo::methodLong”);
/* Create a NamedValue list for the operation. */
rc= _create_operation_list(SOMD_ORBObject, &ev, opdef, &arglist);
/* Insert arg1 info into arglist */
_get_item(arglist, &ev,
0, &name, &tc, &dummy, &dummylen, &flags);
_set_item(arglist,&ev,0, name, tc, &value1, sizeof(long), flags);
/* Insert arg2 info into arglist */
_get_item(arglist, &ev,
1, &name, &tc, &dummy, &dummylen, &flags);
_set_item(arglist,&ev,1, name, tc, &value2, sizeof(long), flags);
/* Get the operation description structure. */
desc = _describe(opdef, &ev);
opdesc = (OperationDescription *) desc.value._value;
/* Fill in the TypeCode field for result. */
result.argument._type = opdesc–>result;
/* Create the Request, reqObj */
rc = _create_request(fooObj, &ev, (Context *)NULL, ”methodLong”,
arglist, &result, &reqObj, (Flags)0);
/* Finally, invoke the request */
rc = _invoke(reqObj, &ev, (Flags)0);
/* Print results */
printf(”result: %d, value2: %d\n”,
*(long*)(result.argument._value),
value2);
Original Class
Request
Related Information
Methods: send, get_response
Macros: Request_delete
Comentários a estes Manuais