Contents


Preface
Purpose of This Document
How to Use This Document
Related Documentation
Contact Information

OMG IDL Syntax
OMG IDL Extensions

Implementation Configuration File (ICF)
ICF Syntax
Sample ICF File
Creating the ICF File

TP Framework
Definition of Terms
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
  Servant Lifetime
  Saving and Restoring Object State
Transactions
  Transaction Policies
  Transaction Initiation
  Transaction Termination
  Transaction Suspend and Resume
  Restrictions on Transactions
  SQL and Global Transactions
  Voting on Transaction Outcome
  Transaction Time-outs
TP Framework API
  Server Interface
Server::create_servant
Server::initialize()
Server::release()
  Tobj_ServantBase Interface
Tobj_ServantBase:: activate_object()
Tobj_ServantBase::deactivate_object()
  TP Interface
TP::application_responsibility
TP::bootstrap()
TP::close_xa_rm()
TP::create_active_object_reference()
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
  Exceptions and Transactions
  Restriction of Nested Calls on Corba Objects

Bootstrap Object
Why Bootstrap Objects Are Needed
How Bootstrap Objects Work
Types of Remote Clients Supported
Capabilities and Limitations
Bootstrap Object API
  Tobj Module
  C++ Mapping
  Java Mapping
  Mappings for Microsoft Desktop Clients
C++ Member Functions and Java Methods
Tobj_Bootstrap
Tobj_Bootstrap::register_callback_port
Tobj_Bootstrap::resolve_initial_references
Tobj_Bootstrap::destroy_current()
Automation Methods
Initialize
CreateObject
DestroyCurrent
Programming Examples
  Java Client Example: Getting a SecurityCurrent Object
  Visual Basic Client Example: Using the Bootstrap Object

FactoryFinder Interface
Capabilities, Limitations, and Requirements
Functional Description
  Locating a FactoryFinder
  Registering a Factory
  Locating a Factory
  Creating Application Factory Keys
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
  Using WLE Extensions to the FactoryFinder Object

Security Service
Capabilities and Limitations
Getting Initial References to the SecurityCurrent Object
Basic Security-level Requirements for WLE Clients
Functional Components
  Security Model
  Authentication of Principals
  Controlling Access to Objects
  Administrative Control
Security Model Functional Description
  Description
Authentication
  Description of Authentication
Client Security API
  CORBA Module
  TimeBase Module
  Security Module
  Security Level 1 Module
  Security Level 2 Module
  Tobj Module
Method Descriptions
SecurityLevel1::Current::get_attributes
SecurityLevel2::PrincipalAuthenticator::authenticate
SecurityLevel2::PrincipalAuthenticator::continue_authentication
SecurityLevel2::Credentials::get_attributes
SecurityLevel2::Credentials::is_valid
SecurityLevel2::Current::set_credentials
SecurityLevel2::Current::get_credentials
SecurityLevel2::Current::principal_authenticator
Tobj::PrincipalAuthenticator::get_auth_type
Tobj::PrincipalAuthenticator::logon
Tobj::PrincipalAuthenticator::logoff
Tobj::PrincipalAuthenticator::build_auth_data
Automation Method Descriptions
  DISecurityLevel2_Current
DISecurityLevel2_Current.get_attributes
DISecurityLevel2_Current.set_credentials
DISecurityLevel2_Current.get_credentials
DISecurityLevel2_Current.principal_authenticator
  DITobj_PrincipalAuthenticator
DITobj_PrincipalAuthenticator.authenticate
DITobj_PrincipalAuthenticator.build_auth_data
DITobj_PrincipalAuthenticator.continue_authentication
DITobj_PrincipalAuthenticator.get_auth_type
DITobj_PrincipalAuthenticator.logon
DITobj_PrincipalAuthenticator.logoff
  DISecurityLevel2_Credentials
DISecurityLevel2_Credentials.get_attributes
DISecurityLevel2_Credentials.is_valid
Programming Examples
  C++ Example: Using WLE Extensions to Log on
  C++ Example: Using CORBA Security to Log on
  Java Example: Using WLE Extensions to Log on
  Java Example: Getting Information from Privileges
  Java Example: Checking the Validity of the Credentials Expiration Time
  Java Example: Authentication Using SecurityLevel2::PrincipalAuthenticator
  Java Example: Authentication Using Tobj::PrincipalAuthenticator
  Java Example: Logging Off Using Tobj::PrincipalAuthenticator
  Java Example: Checking the Validity of Credentials
  Java Example: Getting Principal's Privileges
  Java Example: Copying a Credentials Object
  Java Example: Destroying a Credentials Object
  Java Example: Getting the Principal Authenticator Object
  Java Example: Getting Credentials
  Java Example: Setting Default Credentials
  Java Example: Getting a Principal's Privileges
  Java Example: Removing a Credentials Object from the "Own" List
  Java Example: Getting Credentials of the Requesting Principal
  Java Example: Getting the Principal's Privileges from Credentials
  Java Example: Getting the Principal's Privileges from the SecurityCurrent Object
  Java Example: Obtaining the SecurityCurrent Object
  Java Example: Getting Association Options
  Java Example: Getting Delegation State
  Java Example: Getting Delegation Mode

Transaction Service
Capabilities and Limitations
  Lightweight Clients with Delegated Commit
  Transaction Propagation
  Transaction Integrity
  Transaction Termination
  Flat Transactions
  Interoperability Between Remote Clients and the WLE Domain
  Intradomain Interoperability
  Network Interoperability
  Relationship of the Transaction Service to Transaction Processing
  Process Failure
  Multithreaded Support
  OMG Interface Definition Language (IDL)
  General Constraints
Getting Initial References to the TransactionCurrent Object
Transaction Service API
  Data Types
  Exceptions
  Current Interface
  Control Interface
  TransactionalObject Interface
  Other CORBAservices Object Transaction Service Interfaces
Transaction Service API Extensions
  Exception
  TransactionCurrent Interface

Interface Repository Interfacest
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
  ExceptionDef
  AttributeDef
  OperationDef
  InterfaceDef

Joint Client/Servers
Main Program and Server Initialization
Servants
Servant Inheritance from Skeletons
Callback Object Models Supported
  Preparing Callback Objects Using CORBA
Preparing Callback Objects Using BEAWrapper Callbacks
Callbacks
start_transient
start_persistent_systemid
restart_persistent_systemid
start_persistent_userid
stop_object
stop_all_objects
get_string_oid
~Callbacks

Development Commands
buildobjclient
buildobjserver
genicf
idl

Mapping of OMG IDL Statements to C++
Mappings
  Data Types
  Strings
  Constants
  Enums
  Structs
  Unions
  Sequences
  Arrays
  Exceptions
  Mapping of Pseudo-objects to C++
  Usage
  Mapping Rules
  Relation to the C PIDL Mapping
  Typedefs
  Implementing Interfaces
  Implementing Operations
  PortableServer Functions
  Modules
  Interfaces
  Generated Static Member Functions
  Object Reference Types
  Attributes
  Any Type
Fixed-Length Versus Variable-Length User-Defined Types
Using var Classes
  Sequence vars
  Array vars
  String vars
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::create_environment
CORBA::ORB::create_list
CORBA::ORB::create_named_value
CORBA::ORB::create_exception_list
CORBA::ORB::create_context_list
CORBA::ORB::create_policy
CORBA::ORB::create_operation_list
CORBA::ORB::get_default_context
CORBA::ORB::get_next_response
CORBA::ORB::perform_work
CORBA::ORB::run
CORBA::ORB::shutdown
CORBA::ORB::object_to_string
CORBA::ORB::poll_next_response
CORBA::ORB::work_pending
CORBA::ORB::send_multiple_requests_deferred
CORBA::ORB::send_multiple_requests_oneway
CORBA::ORB::string_to_object
ORB Initialization Member Function
CORBA::ORB_init
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
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
CORBA::ExceptionList::remove

Server-side Mapping
Implementing Interfaces
Inheritance-based Interface Implementation
Delegation-based Interface Implementation
Implementing Operations