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

Copyright © 2003, Dassault Systèmes. All rights reserved.