[Next]
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