ADORB is a free open source Mac OS X framework that provides CORBA/IIOP implementation for Objective-C, primarily to simplify developing CORBA client applications on Mac OS X and iPhone OS. ADORB implements dynamic IDL parsing at run-time and native IDL to Objective-C mapping - IDL types can be mapped to the arbitrary Objective-C classes.
Usually, creating a CORBA application includes generating the stub or skeleton files from the IDL files and then compiling and linking those files with the application.
ADORB interprets the CORBA IDL files at run-time and dynamically creates the method invocations for the remote operations - there are no stub or skeleton files to be generated and compiled with the CORBA application.
ADORB separates the CORBA application from the IDL definitions creating some level of independency of the application from the CORBA IDL definitions. In many cases the minor changes in the IDL files do not affect the application - the IDL files can be just replaced and the application restarted.
- Dynamic IDL parsing at run time and dynamic bindings. No stub or skeleton files and no IDL compiler needed.
- Dynamic creating of invocations.
- Native Objective-C bindings. The IDL types can be mapped to arbitrary ObjC classes.
- Supports IDL valuetypes and abstract interfaces.
- Allows callbacks from within a remote call.
- Supports CORBA Interceptors.
- Supports RMI_IIOP. The typeID can have prefix either IDL: or RMI:
- Supports GIOP 1.0, 1.1, 1.2.
- IIOP interoperability with other CORBA ORBS.
What is new in this release:
- ORB: added static library for iPhone OS and iPhone Simulator
- ORB: Simple type octet is treated now as unsigned char and uses NSNumber as object wrapper (was mapped as NSData)
Argument type and return value should be 'unsigned char'.
The types octet[] and sequencecontinue to be mapped to NSData
For backwards compatibily the type octet can be mapped to NSData by calling method [ORB setMapsOctetToNSData:YES]
idl2h: Fixed generating header for types octet, octet[] and sequence<octet> - ORB: Skips protocol specifiers
(in, out, const ..)
for an invocation argument when set or get value.
Specifyingin, out, inout, const, ...
for an argument in a method on server resulted in the exception BAD_PARAM passed back to client. - ORB:
BOOL
type was missing (_C_BOOL, server side). Added. - ORB: allow to set default CodeSets context that is sent to the server in the case no CODE_SETS component is set in IOR.
ORB now does not set CODE_SETS tagged component for the remote IOR created for naming service and those created from CORBA URLs.
By default, a default CodeSets context is not sent to the server. - ORB: Added preprocessor command
#pragma selector idl-method objc-selector
For example,#pragma selector bind_name bindWithName:inContext:
- ORB: fixed incorrect string encoding in encapsulations.
- ORB: removed alternate selectors
- ORB: removed any Cocoa calls from ORB
- ORB: memory leak in IPMonitor method (CORBAObject). This method monitors if the IP address has changed after computer is awaken from sleep.
- idl2h: fixed generating class names for
struct
andunions
. BeforeNSDictionary*
was always used, now a class name defined by#pragma class
is used, if set. - Examples: Added example for iPhone OS
Requirements:
Comments not found