CORBA Programming Reference

     Previous  Next    Contents  Open Index in new window  View as PDF - New Window  Get Adobe Reader - New Window
Content starts here

OMG IDL Syntax and the C++ IDL Compiler

OMG IDL Compiler Extensions

C++ IDL Compiler Constraints

Implementation Configuration File (ICF)

ICF Syntax

Sample ICF File

Creating the ICF File

See Also

TP Framework

A Simple Programming Model

Control Flow

Object State Management

Transaction Integration

Object Housekeeping

High-level Services

State Management

Activation Policy

Application-controlled Activation and Deactivation

Explicit Activation

Usage Notes

Caution to Users

Self Deactivation

Servant Lifetime

The Normal Case

Special Cases

Saving and Restoring Object State

Note On Use of Constructors and Destructors for CORBA Objects

Transactions

Transaction Policies

Transaction Initiation

Transaction Termination

Transaction Suspend and Resume

Restrictions on Transactions

SQL and Global Transactions

Voting on Transaction Outcome

Transaction Timeouts

IIOP Client Failover

Setting The Retry Policy

MIB Support

Initiating IIOP Client Failover

IIOP Client Failover Limitations

See Also

WebLogic CORBA Clustering and Load Balancing Support

Parallel Objects

TP Framework API

Server Interface

C++ Declarations

ServerBase Interface

C++ Declarations (in Server.h)

Server::create_servant()

ServerBase::create_servant_with_id()

Server::initialize()

ServerBase::thread_initialize()

Server::release()

ServerBase::thread_release()

Tobj_ServantBase Interface

C++ Declaration (in Tobj_ServantBase.h)

Tobj_ServantBase:: activate_object()

Tobj_ServantBase::_add_ref()

Tobj_ServantBase::deactivate_object()

Tobj_ServantBase::_is_reentrant()

Tobj_ServantBase::_remove_ref()

TP Interface

Usage Notes

TP::application_responsibility()

TP::bootstrap()

TP::close_xa_rm()

TP::create_active_object_reference()

Problem Statement

Workaround

TP::create_object_reference()

TP::deactivateEnable()

TP::get_object_id ()

TP::get_object_reference()

TP::open_xa_rm()

TP::orb()

TP::register_factory()

TP::unregister_factory()

TP::userlog()

CosTransactions::TransactionalObject Interface Not Enforced

Error Conditions, Exceptions, and Error Messages

Exceptions Raised by the TP Framework

Exceptions in the Server Application Code

Example

Exceptions and Transactions

Restriction of Nested Calls on CORBA Objects

CORBA Bootstrapping Programming Reference

Why Bootstrapping Is Needed

Supported Bootstrapping Mechanisms

Oracle Bootstrapping Mechanism

How Bootstrap Objects Work

Types of Oracle Remote Clients Supported

Capabilities and Limitations

Bootstrap Object API

Tobj Module

C++ Mapping

Java Mapping

Automation Mapping

C++ Member Functions

Tobj_Bootstrap

Tobj_Bootstrap::register_callback_port

Tobj_Bootstrap::resolve_initial_references

Tobj_Bootstrap::destroy_current()

Java Methods

Automation Methods

Initialize

CreateObject

DestroyCurrent

Bootstrap Object Programming Examples

Visual Basic Client Example: Using the Bootstrap Object

Interoperable Naming Service Bootstrapping Mechanism

Introduction

INS Object References

INS Command-line Options

INS Initialization Operations

INS Object URL Schemes

IOR URL Scheme

corbaloc URL Scheme

corbaname URL Scheme

Getting a FactoryFinder Object Reference Using INS

Getting a PrincipalAuthenticator Object Reference Using INS

Getting a TransactionFactory Object Reference Using INS

Restrictions

FactoryFinder Interface

Capabilities, Limitations, and Requirements

Functional Description

Locating a FactoryFinder

Registering a Factory

C++ Mapping

Locating a Factory

CORBAservices Naming Service Module OMG IDL

CORBAservices Life Cycle Service Module OMG IDL

Tobj Module OMG IDL

Locating Factories in Another Domain

Why Use Oracle Tuxedo CORBA Extensions?

Creating Application Factory Keys

Names Library Interface Pseudo OMG IDL

Creating a Library Name Component

Creating a Library Name

The LNameComponent Interface

The LName Interface

Destroying a Library Name Component Pseudo-Object

Inserting a Name Component

Getting the ith Name Component

Deleting a Name Component

Number of Name Components

Testing for Equality

Testing for Order

Producing an OMG IDL Form

Translating an IDL Form

Destroying a Library Name Pseudo-Object

C++ Mapping

Java Mapping

C++ Member Functions and Java Methods

CosLifeCycle::FactoryFinder::find_factories

Tobj::FactoryFinder::find_one_factory

Tobj::FactoryFinder::find_one_factory_by_id

Tobj::FactoryFinder::find_factories_by_id

Tobj::Factoryfinder::list_factories

Automation Methods

DITobj_FactoryFinder.find_one_factory

DITobj_FactoryFinder.find_one_factory_by_id

DITobj_FactoryFinder.find_factories_by_id

DITobj_FactoryFinder.find_factories

DITobj_FactoryFinder.list_factories

Programming Examples

Using the FactoryFinder Object

Registering a Reference to a Factory Object

Obtaining a Reference to a FactoryFinder Object Using the CosLifeCycle::FactoryFinder Interface

Obtaining a Reference to a FactoryFinder Object Using the Extensions Bootstrap object

Using Extensions to the FactoryFinder Object

Obtaining One Factory Using Tobj::FactoryFinder

Obtaining One or More Factories Using Tobj::FactoryFinder

Security Service

Transactions Service

Notification Service

Request-Level Interceptors

CORBA Interface Repository Interfaces

Structure and Usage

Programming Information

Performance Implications

Building Client Applications

Getting Initial References to the InterfaceRepository Object

Interface Repository Interfaces

Supporting Type Definitions

IRObject Interface

Contained Interface

Container Interface

IDLType Interface

Repository Interface

ModuleDef Interface

ConstantDef Interface

TypedefDef Interface

StructDef

UnionDef

EnumDef

AliasDef

PrimitiveDef

StringDef

WstringDef

ExceptionDef

AttributeDef

OperationDef

InterfaceDef

Joint Client/Servers

Introduction

Main Program and Server Initialization

Servants

Servant Inheritance from Skeletons

C++ Example of Inheritance from Skeletons

Callback Object Models Supported

Configuring Servers to Call Remote Joint Client/Server Objects

Preparing Callback Objects Using CORBA (C++ Joint Client/Servers Only)

Preparing Callback Objects Using OracleWrapper Callbacks

Using OracleWrapper Callbacks With C++

C++ OracleWrapper Callbacks Interface API

Callbacks

start_transient

start_persistent_systemid

restart_persistent_systemid

start_persistent_userid

stop_object

stop_all_objects

get_string_oid

~Callbacks

Development Commands

Mapping of OMG IDL Statements to C++

Mappings

Data Types

Basic Data Types

Complex Data Types

Strings

wchars

wstrings

Constants

Enums

Structs

Fixed-length Versus Variable-length Structs

Member Mapping

Var

Out

Unions

Union Member Accessor and Modifier Member Function Mapping

Var

Out

Member Functions

Sequences

Sequence Element Mapping

Vars

Out

Member Functions

Arrays

Array Slice

Array Element Mapping

Vars

Out

Allocation Member Functions

Exceptions

Member Mapping

Var

Out

Member Functions

Mapping of Pseudo-objects to C++

Usage

Mapping Rules

Relation to the C PIDL Mapping

Typedefs

Implementing Interfaces

Argument Mapping

Implementing Operations

Skeleton Derivation from Object

PortableServer Functions

Modules

Interfaces

Generated Static Member Functions

Object Reference Types

Attributes

Argument Mapping

Any Type

Handling Typed Values

Insertion into Any

Extraction from Any

Distinguishing Boolean, Octet, Char, and Bounded Strings

Widening to Object

Handling Untyped Values

Any Constructors, Destructor, Assignment Operator

The Any Class

Value Type

Overview

Architecture

Benefits

Valuetype Example

Fixed-length Versus Variable-length User-defined Types

Using var Classes

Sequence vars

Array vars

String vars

out Classes

Using out Classes

Object Reference out Parameter

Sequence outs

Array outs

String outs

Argument Passing Considerations

Operation Parameters and Signatures

CORBA API

Global Classes

Pseudo-objects

Any Class Member Functions

CORBA::Any::Any()

CORBA::Any::Any(const CORBA::Any & InitAny)

CORBA::Any::Any(TypeCode_ptr TC, void * Value, Boolean Release)

CORBA::Any::~Any()

CORBA::Any & CORBA::Any::operator=(const CORBA::Any & InitAny)

void CORBA::any::operator<<=()

CORBA::Boolean CORBA::Any::operator>>=()

CORBA::Any::operator<<=()

CORBA::Boolean CORBA::Any::operator>>=()

CORBA::TypeCode_ptr CORBA::Any::type() const

void CORBA::Any::replace()

Context Member Functions

Memory Management

CORBA::Context::context_name

CORBA::Context::create_child

CORBA::Context::delete_values

CORBA::Context::get_values

CORBA::Context::parent

CORBA::Context::set_one_value

CORBA::Context::set_values

ContextList Member Functions

CORBA::ContextList:: count

CORBA::ContextList::add

CORBA::ContextList::add_consume

CORBA::ContextList::item

CORBA::ContextList::remove

NamedValue Member Functions

Memory Management

CORBA::NamedValue::flags

CORBA::NamedValue::name

CORBA::NamedValue::value

NVList Member Functions

Memory Management

CORBA::NVList::add

CORBA::NVList::add_item

CORBA::NVList::add_value

CORBA::NVList::count

CORBA::NVList::item

CORBA::NVList::remove

Object Member Functions

CORBA::Object::_create_request

CORBA::Object::_duplicate

CORBA::Object::_get_interface

CORBA::Object::_is_a

CORBA::Object::_is_equivalent

CORBA::Object::_nil

CORBA::Object::_non_existent

CORBA::Object::_request

CORBA Member Functions

CORBA::release

CORBA::is_nil

CORBA::hash

CORBA::resolve_initial_references

ORB Member Functions

CORBA::ORB::clear_ctx

CORBA::ORB::create_context_list

CORBA::ORB::create_environment

CORBA::ORB::create_exception_list

CORBA::ORB::create_list

CORBA::ORB::create_named_value

CORBA::ORB::create_operation_list

CORBA::ORB::create_policy

CORBA::ORB::destroy

CORBA::ORB::get_ctx

CORBA::ORB::get_default_context

CORBA::ORB::get_next_response

CORBA::ORB::inform_thread_exit

CORBA::ORB::list_initial_services

CORBA::ORB::object_to_string

CORBA::ORB::perform_work

CORBA::ORB::poll_next_response

CORBA::ORB::resolve_initial_references

CORBA::ORB::send_multiple_requests_deferred

CORBA::ORB::send_multiple_requests_oneway

CORBA::ORB::set_ctx

CORBA::ORB::string_to_object

CORBA::ORB::work_pending

ORB Initialization Member Function

CORBA::ORB_init

ORB

Policy Member Functions

CORBA:Policy::copy

CORBA::Policy::destroy

PortableServer Member Functions

PortableServer::POA::activate_object

PortableServer::POA::activate_object_with_id

PortableServer::POA::create_id_assignment_policy

PortableServer::POA::create_lifespan_policy

PortableServer::POA::create_POA

PortableServer::POA::create_reference

PortableServer::POA::create_reference_with_id

PortableServer::POA::deactivate_object

PortableServer::POA::destroy

PortableServer::POA::find_POA

PortableServer::POA::reference_to_id

PortableServer::POA::the_POAManager

PortableServer::ServantBase::_default_POA

POA Current Member Functions

PortableServer::Current::get_object_id

PortableServer::Current::get_POA

POAManager Member Functions

PortableServer::POAManager::activate

PortableServer::POAManager::deactivate

POA Policy Member Objects

PortableServer::LifespanPolicy

PortableServer::IdAssignmentPolicy

Request Member Functions

CORBA::Request::arguments

CORBA::Request::ctx(Context_ptr)

CORBA::Request::get_response

CORBA::Request::invoke

CORBA::Request::operation

CORBA::Request::poll_response

CORBA::Request::result

CORBA::Request::env

CORBA::Request::ctx

CORBA::Request::contexts

CORBA::Request::exceptions

CORBA::Request::target

CORBA::Request::send_deferred

CORBA::Request::send_oneway

Strings

CORBA::string_alloc

CORBA::string_dup

CORBA::string_free

Wide Strings

TypeCode Member Functions

Memory Management

CORBA::TypeCode::equal

CORBA::TypeCode::id

CORBA::TypeCode::kind

CORBA::TypeCode::param_count

CORBA::TypeCode::parameter

Exception Member Functions

Standard Exceptions

Exception Definitions

Object Nonexistence

Transaction Exceptions

ExceptionList Member Functions

CORBA::ExceptionList::count

CORBA::ExceptionList::add

CORBA::ExceptionList::add_consume

CORBA::ExceptionList::item

Server-side Mapping

Implementing Interfaces

Inheritance-based Interface Implementation

Delegation-based Interface Implementation

Implementing Operations


  Back to Top       Previous  Next