Next:
Introduction
Up:
No Title
Previous:
No Title
Contents
Introduction
Features
CORBA 2 compliant
Multithreading
Portability
Missing features
Setting Up Your Environment
Platform specific variables
The Basics
The Echo Object Example
Specifying the Echo interface in IDL
Generating the C++ stubs
A Quick Tour of the C++ stubs
Object Reference
Object Implementation
Writing the object implementation
Writing the client
Example 1 - Colocated Client and Implementation
ORB/BOA initialisation
ORB/BOA shutdown
Object initialisation
Client invocation
Object disposal
Example 2 - Different Address Spaces
Object Implementation: Generating a Stringified Object Reference
Client: Using a Stringified Object Reference
Catching System Exceptions
Lifetime of an Object Implementation
Example 3 - Using the COS Naming Service
Obtaining the Root Context Object Reference
The Naming Service Interface
Example 4 - Using tie implementation templates
Source Listing
echo_i.cc
greeting.cc
eg1.cc
eg2_impl.cc
eg2_clt.cc
eg3_impl.cc
eg3_clt.cc
eg3_tieimpl.cc
dir.mk
IDL to C++ Language Mapping
Incompatibilities with pre-2.8.0 releases
The omniORB2 API
ORB and BOA initialisation options
Run-time Tracing and Diagnostic Messages
Server Name
Object Keys
GIOP Message Size
Initial Object Reference Bootstrapping
GIOP Lowest Common Denominator Mode
Trapping omniORB2 Internal Errors
The Basic Object Adaptor (BOA)
BOA Initialisation
Object Registration
Object Disposal
BOA Shutdown
Unsupported functions
Loading Objects On Demand
Interface Type Checking
Introduction
Basic Interface Type Checking
Interface Inheritance
Connection Management
Background
The Model
Idle Connection Shutdown and Remote Call Timeout
Interoperability Considerations
Connection Acceptance
Proxy Objects
System Exception Handlers
CORBA::TRANSIENT handlers
CORBA::COMM_FAILURE
CORBA::SystemException
Proxy Object Factories
Background
An Example
Define a new proxy class
Define a new proxy factory class
Further Considerations
Type Any and TypeCode
Example using type Any
Type Any in IDL
Inserting and Extracting Basic Types from an Any
Inserting and Extracting Constructed Types from an Any
Type Any in omniORB2
Generating Insertion and Extraction Operators.
TypeCode comparison when extracting from an Any.
Object references.
Top-level aliases.
Removing aliases from TypeCodes.
Recursive TypeCodes.
Type-unsafe construction and insertion.
Threads and type Any.
TypeCode in omniORB2
TypeCodes in IDL.
orb.idl
Generating TypeCodes for constructed types.
TypeCode equality.
Source Listing
anyExample_impl.cc
anyExample_clt.cc
Dynamic Management of Any Values
C++ mapping
The DynAny Interface
Example: extract data values from an Any
Iterate through the components
Extract basic type components
Extract complex components
Clean-up
Example: insert data values into an Any
Insert basic type components
Insert complex components
The DynStruct Interface
The DynSequence Interface
The DynArray Interface
The DynEnum Interface
The DynUnion Interface
Three Categories of Union
Example: extract data values from a union
Explicit default union
Implicit default union
No default union
Example: insert data values into a union
Ambiguous usage
Duplicate DynAny References
Other Operations
The Dynamic Invocation Interface
Overview
Pseudo Objects
Request
NamedValue
NVList
Context
ContextList
ExceptionList
UnknownUserException
Environment
Creating Requests
Examples
Invoking Operations
invoke()
send_oneway()
send_deferred()
Multiple Requests
send_multiple_requests_oneway()
send_multiple_requests_deferred()
The Dynamic Skeleton Interface
Overview
DSI Types
DynamicImplementation
ServerRequest
Creating Dynamic Implementations
Operations on the ServerRequest
Registering Dynamic Objects
Example
hosts_access(5)
DESCRIPTION
ACCESS CONTROL FILES
ACCESS CONTROL RULES
PATTERNS
WILDCARDS
OPERATORS
SHELL COMMANDS
EXPANSIONS
SERVER ENDPOINT PATTERNS
CLIENT USERNAME LOOKUP
DETECTING ADDRESS SPOOFING ATTACKS
EXAMPLES
MOSTLY CLOSED
MOSTLY OPEN
BOOBY TRAPS
DIAGNOSTICS
FILES
SEE ALSO
BUGS
AUTHOR
References
Sai Lai Lo
Wed Sep 22 19:28:07 BST 1999