All Frameworks Class Hierarchy This Framework Indexes
VPMInterfaces Interface ENOVIObjectServiceCode
Usage: you can freely reimplement this interface.
interface ENOVIObjectServiceCode
Interface to execute server code invoked with RunObjectService from (CATIA) client.
Role:Provide Customer Interface to implement a new service.
The client model is one element of the MVC paradigm deployed on the client side.
It is bridged with the server model by the means of CORBA-based protocol,
and provide support for mapping of objects between client and server.
Method Index
- o
RunObjectServiceCode(CATLISTV(CATBaseUnknown_var)&,char*,CATLISTV(CATBaseUnknown_var)&,char**)
- Enable the server execution of a server function implemented by the customer.
Methods
o RunObjectServiceCode
| public virtual RunObjectServiceCode( | | iObjectIds, |
| const | ipString, |
| | oObjectIds, |
| | opString) |
-
Enable the server execution of a server function implemented by the customer.
Role:This method support a C/S execution exchanging object & related information
this infrastructure does the marshalling of input and output arguments between the 2 process.
It does the adequate RPC call in the server and executing the service in calling the ENOVIObjectServiceCode
using the service name as an object late type
Notice to the service userIt is strongly adviced not to modify object through a server service
when the corresponding object is already loaded in client through long transaction.
Instead the client modeler has to be used for client modification
Notice to the service implementer on server: A server OM object need to be implemented on server side
whose late type is the exact name of the invokable service.
This server object must implement interface ENOVIObjectServiceCode by which the execution takes place.
The Execution of the service only operates in a short transaction mode.
It cannot operates if server already contain uncomited information.
In case of modification achieved in the server by the service, modifications will be automatically comitted by the infrastructure
otherwise if service fails to execute, a rollback will be insured by the infrastructure
- Parameters:
-
- iObjects
- Input Object List provided as an input to the server code execution.
It has been marshalled from the client to the server, then object mapped to server model object
The same list order & position is maintained during the transfer between the client and server
- ipString
- formatted char provided as an input information to the server code execution.
It has been marshalled from the client to the server
Contract for the string contain is established and documented by the service implementer, being it a xml or anything else.
if needed, combining iObjects order as a local reference (Example#3)enable to safely combine information in such a string.
- oObjects
- output Object List returned to the client.
It is marshalled back to the client and provided as an output.
The same list order & position is maintained during the transfer between the client and server
- opString
- formatted char returned to the client.
It is marshalled back to the client and provided as an output.
Contract for the string contain is established and documented by the service implementer, being it a xml or anything else.
if needed, combining oObjects order as a local reference (Example#3)enable to safely combine information in such a string.
Standard life cycle rule applies, returned string will be deleted after transfer by the infrastructure
- Returns:
-
- S_OK: Service executed on server and returning output
- E_FAIL: The Services has failed to Execute Possible error are:
- Provided Objects or arguments as an input are not a valid for execution
- Service does not execute correctly
This object is included in the file: ENOVIObjectServiceCode.h
If needed, your Imakefile.mk should include the module: GUIDVPMInterfaces