All Frameworks Class Hierarchy This Framework Previous Next Indexes
CATPDMBase Class CATPDMCSServices
CATPDMCSServices
Usage: you must use this class as is. You should never derive it.
public class CATPDMCSServices
Services to interface with VPMNav client Models.
Role:Provide various services to support client Model
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.
Services are provided in the form of static methods
Method Index
- o
RunObjectService(CATString&,CATLISTV(CATIPLMIdentificator_var)&,char*,CATLISTV(CATIPLMIdentificator_var)&,char**)
- Enable the client execution of a server service.
Methods
o RunObjectService
public static HRESULT RunObjectService( | const CATString& | iServName, |
| CATLISTV(CATIPLMIdentificator_var)& | iObjectIds, |
| const char* | ipString, |
| CATLISTV(CATIPLMIdentificator_var)& | oObjectIds, |
| char** | opString) |
-
Enable the client execution of a server service.
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 userIt is strongly adviced not to modify object through a server service
when the corresponding object is are already loaded in client through long transaction.
Instead the client modeler has to be used for client modification
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:
-
- iServName
-
Service Name to be invoked on server:
in this version only ENOVIA5 server is supported, thus all service names have to be prefixed with "ENOVIA5_Service_",
where "ENOVIA5" is the server logical name (as known from the client)
and "Service" is a key string that refer to the deployment of this protocol
Example:"ENOVIA5_Service_CustoName"
- iObjectIds
- Input Object List for iServName Service.
It is marshalled to the server and passed in as an input to the customized code on server side.
The same list order & position is maintained during the transfer
- ipString
- formatted char provided as an input information for iServName Service.
Contract for the string contain is established and documented by the service implementer, being it a xml or anything else
It is marshalled to the server and passed in as input to the customized code on server side.
- oObjectIds
- output Object List returned from iServName Service.
It is marshalled back to the client and provided as an output.
- opString
- formatted char provided as an output information for iServName Service.
Contract for the string contain is established and documented by the service implementer, being it a xml or anything else
It is marshalled back to the client and provided as an output.
Standard life cycle rule applies, returned string must be deleted by the caller
- Returns:
-
- S_OK: Service executed on server and returning output
- E_FAIL: The Services has failed to Execute. Possible error are:
- Connection to ENOVIA V5 Server cannot be established
- Service not found / not supported on Server
- Provided Objects does not exist on server
- Service does not execute correctly
This object is included in the file: CATPDMCSServices.h
If needed, your Imakefile.mk should include the module: CATPDMBaseEnoviaV5CAA