Chapter 5. The .NET Binding for the C++ Messaging Client

Table of Contents

5.1. .NET Binding for the C++ Messaging Client Component Architecture
5.2. .NET Binding for the C++ Messaging Client Examples
5.3. .NET Binding Class Mapping to Underlying C++ Messaging API
5.3.1. .NET Binding for the C++ Messaging API Class: Address
5.3.2. .NET Binding for the C++ Messaging API Class: Connection
5.3.3. .NET Binding for the C++ Messaging API Class: Duration
5.3.4. .NET Binding for the C++ Messaging API Class: FailoverUpdates
5.3.5. .NET Binding for the C++ Messaging API Class: Message
5.3.6. .NET Binding for the C++ Messaging API Class: Receiver
5.3.7. .NET Binding for the C++ Messaging API Class: Sender
5.3.8. .NET Binding for the C++ Messaging API Class: Session
5.3.9. .NET Binding for the C++ Messaging API Class: SessionReceiver

The .NET Binding for the C++ Qpid Messaging Client is an intermediary program designed to make access to C++ Qpid Messaging methods simple and in a way familiar to the programmer. The .NET Binding creates and manipulates actual C++ Qpid Messaging API objects so that a .NET program will operate the same as if the program were written in native C++.

5.1. .NET Binding for the C++ Messaging Client Component Architecture

                      +----------------------------+
                      | Dotnet examples           |
                      | Managed C#                 |
                      +------+---------------+-----+
                             |               |
                             V               |
        +---------------------------+        |
        | Managed Callback          |        |
        | org.apache.qpid.messaging.|        |
        | sessionreceiver.dll       |        |
        +----------------------+----+        |
                               |             |
managed                        V             V
(.NET)                 +--------------------------------+
:::::::::::::::::::::::| .NET Binding Library           |::::::::::::
unmanaged              | org.apache.qpid.messaging.dll  |
(Native Win32/64)      +---------------+----------------+
                                       |
                                       |
      +----------------+               |
      | Native examples|               |
      | Unmanaged C++  |               |
      +--------+-------+               |
               |                       |
               V                       V
          +----------------------------------+
          | QPID Messaging C++ Libraries     |
          | qpid*.dll qmf*.dll               |
          +--------+--------------+----------+
This diagram illustrates the code and library components of the binding and the hierarchical relationships between them.

Table 5.1. .NET Binding for the C++ Messaging Client Component Architecture

Component NameComponent Function
QPID Messaging C++ LibrariesThe QPID Messaging C++ core run time system
Unmanaged C++ Example Source ProgramsOrdinary C++ programs that illustrate using qpid/cpp Messaging directly in a native Windows environment.
.NET Messaging Binding LibraryThe .NET Messaging library provides interoprability between managed .NET programs and the unmanaged, native Messaging C++ run time system. .NET programs create a Reference to this library thereby exposing all of the native C++ Messaging functionality to programs written in any .NET language.
.NET Messaging Managed Callback LibraryAn extension of the .NET Messaging Binding Library that provides message callbacks in a managed .NET environment. This component is written purely in C#.
Managed C# .NET Example Source ProgramsVarious C# example programs that illustrate using .NET Messaging Binding in the .NET environment.