Netscape Internet Service Broker for C++ Programmer's Guide

[Next]

Netscape Internet Service Broker for C++ Programmer's Guide

Nescape ISB for C++ - Provides information on how to develop and program distributed, object-based applications in C++ for Windows and Unix using the Netscape Internet Service Broker.

Last Updated 2/98.

Contents

Preface

Organization of this Guide
Typographic Conventions
Platform Conventions
Syntax Conventions
Where to Find Additional Information

Chapter 1  ISB for C++ Basics

What is CORBA?
Accessing Distributed Objects
What is ISB for C++?
Developing Applications with ISB for C++
ISB for C++ Features
Optimized Binding
Dynamic Invocation Interface
Support for Threads
Event Handling Facilities
Event Loop Integration (For Single-Threaded Applications Only)

Chapter 2  Getting Started

Setting Up
Setting Your PATH Variable
Setting Up Your Development Environment
Configuring Your Enterprise Server
Developing Applications
A Sample Application
Defining Interfaces in IDL
Running the IDL Compiler
Generated Files
Implementing an Interface
Writing a Server Application
Writing a Client Application
Building the Client and Server
Starting the Object Server
Running the Client Application

Chapter 3  Naming and Binding to Objects

Interface and Object Names
Interface Names
Object Names
Using Qualified Object Names with Servers
Using Fully Qualified Names
Binding to Objects
Client and Server on Different Hosts
Client and Server on the Same Host
Client and Server in a Single Process
Operations on Object References
Checking for Nil References
Obtaining a Nil Reference
Duplicating a Reference
Releasing an Object Reference
Obtaining the Reference Count
Cloning Object References
Converting a Reference to a String
Obtaining Object and Interface Names
Object Reference Equivalence and Casting
Determining the Location and State of Bound Objects
Widening and Narrowing Object References

Chapter 4  Object and Implementation Activation

Object Implementation
Transient Objects
Persistent Objects
Checking for Persistent Objects
Object Registration
The Basic Object Adaptor
Object Server Activation Policies
Object Activation Daemon
The Implementation Repository
OAD Registration with regobj
OAD Registration using BOA::create
Reference Data Parameter
Implementation Definition Parameter
Creation Definition
BOA::create Example
Changing an ORB Implementation
Unregistering Implementations
Unregistering with unregobj
Unregistering with the BOA::dispose Method
The listimpl Command
ORB Interface to the OAD
Activating Objects Directly
Activating Objects with the BOA
The Activator Class
Putting it All Together
Object and Implementation Deactivation

Chapter 5  Error Handling

Exceptions in the CORBA Model
The Exception Class
System Exceptions
Completion Status
Getting and Setting the Minor Code
Casting to a SystemException
Handling System Exceptions
Narrowing to a System Exception
Catching System Exceptions
User Exceptions
Defining User Exceptions
Modifying the Object implementation
Catching User Exceptions
Adding Fields to User Exceptions
Portability considerations
About the Environment Class
Environment Methods

Chapter 6  Handling Events

Event Handler Concepts
Client Event Handlers
The ConnectionInfo Structure
ClientEventHandler Methods
Creating a Client Event Handler
The Handler Registry
HandlerRegistry Methods for Clients Applications
Registering Client Event Handlers
Implementation Event Handlers
The ImplEventHandler Class
ImplEventHandler Methods
Creating Implementation Event Handlers
Using the Handler Registry
HandlerRegistry Methods for Object Implementations
Registering Implementation Event Handlers

Chapter 7  Advanced Programming Topics

Using Threads with ISB for C++
Threads in an Object Implementation
Threads in a Client Application
One Bind with Multiple Client Threads
Multiple Binds with Multiple Client Threads
Multiple Threads with Cloning
Linking Multi-threaded Applications
Event Loop Integration
The Dispatcher Class
The IOHandler Class
Using an IOHandler
Integration with XWindows
Integration with the Windows/NT Event Loop
Integration with Microsoft Foundation Classes
Multithreaded Servers: Windows 95 and Windows NT
Thread-safe Code
Multithreaded Servers and Windows User Interfaces
Integration with Other Environments

Chapter 8  Dynamic Interfaces

Dynamic Invocation Interface
Steps for Dynamic Invocation
The Interface Repository
Obtaining an Object's Interface
The Request Class
Creating a DII request
Initializing a DII Request
Setting the Context
Setting the Arguments
The Any Class
The TypeCode Class
Sending a DII Request
Sending and Receiving Multiple Requests

Chapter 9  The IDL Compiler

The IDL Compiler
The Interface Definition
Code Generated for Clients
Methods Generated
The _ptr Definition
The _var Class
Code Generated for Servers
Generated Methods
The Class Template
Interface Attributes
Oneway methods
Mapping Object References
Interface Inheritance

Chapter 10  IDL to C++ Language Mapping

Primitive Data Types
Strings
String_var Class
Constants
Enumerations
Type Definitions
Modules
Complex Data Types
Fixed-length Structures
Variable Length Structures
Unions
Sequences
Arrays
Principal

Chapter 11  Parameter Passing Rules

Implicit Arguments
Explicit Arguments
Primitive Data Types
Memory Management
Complex Data Types
Memory Management
Object Reference Pointers
Fixed Structures and Unions
Variable Structures and Unions
Strings
Sequences and Type-safe Arrays
Fixed Arrays
Variable-Length Arrays
T_var Data Types
Memory Management for T_var Types

Appendix A  Platforms without C++ Exception Support

For Platforms without C++ Exception Support
The Exception Macros
Using the Exception Macros
Object Implementation Considerations


[Next]

Last Updated: 02/03/98 15:27:03


Copyright © 1997 Netscape Communications Corporation

Any sample code included above is provided for your use on an "AS IS" basis, under the Netscape License Agreement - Terms of Use