21
CORBA defines a small set of standard interfaces which define types and operations for manipulating object references, for accessing the Interface Repository, and for Dynamic Invocation of operations. Other interfaces are defined in pseudo OMG IDL (PIDL) to represent in a more abstract manner programmer access to ORB services which are provided locally. These PIDL interfaces sometimes resort to non-OMG IDL constructs, such as pointers, which have no meaning to the Smalltalk programmer. This chapter specifies the minimal requirements for the Smalltalk mapping for PIDL interfaces. The operations are specified below as protocol descriptions.
Parameters with the name aCORBAObject are expected to be Smalltalk objects which can be mapped to an OMG IDL interface or data type.
Unless otherwise specified, all messages are defined to return undefined objects.
addArg: aCORBANamedValue
invoke
invokeOneway
send
sendOneway
pollResponse
getResponse
setOneValue: anAssociation
setValues: aCollection
getValues: aString
getValues: aString propName: aString
getValuesInTree: aString propName: aString
deleteValues: aString
createChild: aString
delete
deleteTree
getImplementation
getInterface
isNil
createRequest: aCORBAContext
o peration: aCORBAIdentifier
argList: aCORBANVListOrNil
result: aCORBAParameter
request: aCORBAParameter
reqFlags: flags
duplicate
release1
21.4 CORBA::ORB
The CORBA::ORB interface is mapped to the CORBAORB protocol, which must include the following instance methods:
Corresponds to the object_to_string operation. Answers an instance of the String class.
Corresponds to the string_to_object operation. Answers an object reference, which will be an instance of a class which corresponds to the InterfaceDef of the CORBA object.
Corresponds to the create_operation_list operation. Answers an instance of OrderedCollection of Smalltalk objects conforming to the CORBANamedValue protocol.
Corresponds to the get_default_context operation. Answers a Smalltalk object conforming to the CORBAContext protocol.
Corresponds to the send_multiple_requests operation with the invoke_flags set to 0.The parameter passed in should be a collection of Smalltalk objects conforming to the CORBARequest protocol.
Corresponds to the send_multiple_requests operation with the invoke_flags set to CORBA::INV_NO_RESPONSE.The parameter passed in should be a collection of Smalltalk objects conforming to the CORBARequest protocol.
Corresponds to the get_next_response operation, with the response_flags set to CORBA::RESP_NO_WAIT. Answers true if there are completed requests pending, false otherwise.
Corresponds to the get_next_response operation, with the response_flags set to 0. 21.5 CORBA::NamedValue
PIDL for C defines CORBA::NamedValue as a struct while C++-PIDL specifies it as an interface. CORBA::NamedValue in this mapping is specified as an interface that conforms to the CORBANamedValue protocol. This protocol must include the following instance methods:
Answers the name associated with the instance.
Resets the name associated with instance to aString.
Answers the value associated with the instance.
Resets the value associated with instance to aCORBAObject.
Answers the flags associated with the instance.
Resets the flags associated with instance to argModeFlags. 21.6 CORBA::NVList
The CORBA::NVList interface is mapped to the equivalent of the OMG IDL definition
pubs@omg.org Copyright © 1995, Object Management Group. All rights reserved.