You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by jo...@apache.org on 2011/02/09 22:39:32 UTC

svn commit: r1069126 [15/24] - in /qpid/site/docs/books: 0.7/AMQP-Messaging-Broker-CPP-Book/html-single/ 0.7/AMQP-Messaging-Broker-CPP-Book/html/ 0.7/AMQP-Messaging-Broker-CPP-Book/pdf/ 0.7/AMQP-Messaging-Broker-Java-Book/AMQP-Messaging-Broker-Java-Boo...

Modified: qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05.html?rev=1069126&r1=1069125&r2=1069126&view=diff
==============================================================================
--- qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05.html (original)
+++ qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05.html Wed Feb  9 21:39:27 2011
@@ -1,8 +1,45 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 5. The .NET Binding for the C++ Messaging Client</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="index.html" title="Programming in Apache Qpid"><link rel="prev" href="ch04s05.html" title="4.5. Transactions"><link rel="next" href="ch05s02.html" title="5.2. .NET Binding Class: Connection"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 5. The .NET Binding for the C++ Messaging Client</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s05.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch05s02.html">Next</a></td></tr></table><h
 r></div><div class="chapter" title="Chapter 5. The .NET Binding for the C++ Messaging Client"><div class="titlepage"><div><div><h2 class="title"><a name="id2590446"></a>Chapter 5. The .NET Binding for the C++ Messaging Client</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch05.html#id2590475">5.1. .NET Binding Class: Address</a></span></dt><dt><span class="section"><a href="ch05s02.html">5.2. .NET Binding Class: Connection</a></span></dt><dt><span class="section"><a href="ch05s03.html">5.3. .NET Binding Class: Duration</a></span></dt><dt><span class="section"><a href="ch05s04.html">5.4. .NET Binding Class: Message</a></span></dt><dt><span class="section"><a href="ch05s05.html">5.5. .NET Binding Class: Receiver</a></span></dt><dt><span class="section"><a href="ch05s06.html">5.6. .NET Binding Class: Sender</a></span></dt><dt><span class="section"><a href="ch05s07.html">5.7. .NET Binding Class: Session</a></span>
 </dt><dt><span class="section"><a href="ch05s08.html">5.8. .NET Binding Class: SessionReceiver</a></span></dt></dl></div><p>
-      The C++ Messaging Client unmanaged code is exposed to .NET
-      code through an interoperability DLL. This DLL wrapper 
-      is a thin layer that serves primarily by translating between
-      the managed .NET programs and the unmanaged C++ libraries.
-    </p><p>
-      This chapter describes the mapping provided by the .NET binding classes.
-    </p><div class="section" title="5.1. .NET Binding Class: Address"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2590475"></a>5.1. .NET Binding Class: Address</h2></div></div></div><div class="table"><a name="table-Dotnet-Binding-Address"></a><p class="title"><b>Table 5.1. .NET Binding Class: Address</b></p><div class="table-contents"><table summary=".NET Binding Class: Address" border="1"><colgroup><col><col></colgroup><thead><tr><th colspan="2" align="center">.NET Binding Class: Address</th></tr><tr><th>Language</th><th>Syntax</th></tr></thead><tbody><tr><td>C++</td><td>class Address</td></tr><tr><td>.NET</td><td>public ref class Address</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>Address();</td></tr><tr><td>.NET</td><td>public Address();</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>Address(const std::string&amp; address);</td></tr><tr><td>.NET</td><t
 d>public Address(string address);</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>Address(const std::string&amp; name, const std::string&amp; subject, const qpid::types::Variant::Map&amp; options, const std::string&amp; type = "");</td></tr><tr><td>.NET</td><td>public Address(string name, string subject, Dictionary&lt;string, object&gt; options);</td></tr><tr><td>.NET</td><td>public Address(string name, string subject, Dictionary&lt;string, object&gt; options, string type);</td></tr><tr><td colspan="2" align="center">Copy constructor</td></tr><tr><td>C++</td><td>Address(const Address&amp; address);</td></tr><tr><td>.NET</td><td>public Address(Address address);</td></tr><tr><td colspan="2" align="center">Destructor</td></tr><tr><td>C++</td><td>~Address();</td></tr><tr><td>.NET</td><td>~Address();</td></tr><tr><td colspan="2" align="center">Finalizer</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>!Address();</td></tr><tr><td
  colspan="2" align="center">Copy assignment operator</td></tr><tr><td>C++</td><td>Address&amp; operator=(const Address&amp;);</td></tr><tr><td>.NET</td><td>public Address op_Assign(Address rhs);</td></tr><tr><td colspan="2" align="center">Property: Name</td></tr><tr><td>C++</td><td>const std::string&amp; getName() const;</td></tr><tr><td>C++</td><td>void setName(const std::string&amp;);</td></tr><tr><td>.NET</td><td>public string Name { get; set; }</td></tr><tr><td colspan="2" align="center">Property: Subject</td></tr><tr><td>C++</td><td>const std::string&amp; getSubject() const;</td></tr><tr><td>C++</td><td>void setSubject(const std::string&amp;);</td></tr><tr><td>.NET</td><td>public string Subject { get; set; }</td></tr><tr><td colspan="2" align="center">Property: Options</td></tr><tr><td>C++</td><td>const qpid::types::Variant::Map&amp; getOptions() const;</td></tr><tr><td>C++</td><td>qpid::types::Variant::Map&amp; getOptions();</td></tr><tr><td>C++</td><td>void setOptions
 (const qpid::types::Variant::Map&amp;);</td></tr><tr><td>.NET</td><td>public Dictionary&lt;string, object&gt; Options { get; set; }</td></tr><tr><td colspan="2" align="center">Property: Type</td></tr><tr><td>C++</td><td>std::string getType() const;</td></tr><tr><td>C++</td><td>void setType(const std::string&amp;);</td></tr><tr><td>.NET</td><td>public string Type { get; set; }</td></tr><tr><td colspan="2" align="center">Miscellaneous</td></tr><tr><td>C++</td><td>std::string str() const;</td></tr><tr><td>.NET</td><td>public string ToStr();</td></tr><tr><td colspan="2" align="center">Miscellaneous</td></tr><tr><td>C++</td><td>operator bool() const;</td></tr><tr><td>.NET</td><td>n/a</td></tr><tr><td colspan="2" align="center">Miscellaneous</td></tr><tr><td>C++</td><td>bool operator !() const;</td></tr><tr><td>.NET</td><td>n/a</td></tr></tbody></table></div></div><br class="table-break"></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td
  width="40%" align="left"><a accesskey="p" href="ch04s05.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch05s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">4.5. Transactions </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 5.2. .NET Binding Class: Connection</td></tr></table></div></body></html>
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 5. The .NET Binding for the C++ Messaging Client</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="index.html" title="Programming in Apache Qpid"><link rel="prev" href="ch04s05.html" title="4.5. Transactions"><link rel="next" href="ch05s02.html" title="5.2. .NET Binding for the C++ Messaging Client Examples"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 5. The .NET Binding for the C++ Messaging Client</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s05.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch05s02.html">Next</a>
 </td></tr></table><hr></div><div class="chapter" title="Chapter 5. The .NET Binding for the C++ Messaging Client"><div class="titlepage"><div><div><h2 class="title"><a name="id2606924"></a>Chapter 5. The .NET Binding for the C++ Messaging Client</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch05.html#id2606950">5.1. .NET Binding for the C++ Messaging Client Component Architecture</a></span></dt><dt><span class="section"><a href="ch05s02.html">5.2. .NET Binding for the C++ Messaging Client Examples</a></span></dt><dt><span class="section"><a href="ch05s03.html">5.3. .NET Binding Class Mapping to Underlying C++ Messaging API</a></span></dt><dd><dl><dt><span class="section"><a href="ch05s03.html#id2607532">5.3.1. .NET Binding for the C++ Messaging API Class: Address</a></span></dt><dt><span class="section"><a href="ch05s03.html#id2608139">5.3.2. .NET Binding for the C++ Messaging API Class: Connection</a></span>
 </dt><dt><span class="section"><a href="ch05s03.html#id2608785">5.3.3. .NET Binding for the C++ Messaging API Class: Duration</a></span></dt><dt><span class="section"><a href="ch05s03.html#id2609209">5.3.4. .NET Binding for the C++ Messaging API Class: FailoverUpdates</a></span></dt><dt><span class="section"><a href="ch05s03.html#id2609388">5.3.5. .NET Binding for the C++ Messaging API Class: Message</a></span></dt><dt><span class="section"><a href="ch05s03.html#id2610587">5.3.6. .NET Binding for the C++ Messaging API Class: Receiver</a></span></dt><dt><span class="section"><a href="ch05s03.html#id2611232">5.3.7. .NET Binding for the C++ Messaging API Class: Sender</a></span></dt><dt><span class="section"><a href="ch05s03.html#id2611712">5.3.8. .NET Binding for the C++ Messaging API Class: Session</a></span></dt><dt><span class="section"><a href="ch05s03.html#id2612677">5.3.9. .NET Binding for the C++ Messaging API Class: SessionReceiver</a></span></dt></dl></dd></dl></div><
 p>
+      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++.
+    </p><div class="section" title="5.1. .NET Binding for the C++ Messaging Client Component Architecture"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2606950"></a>5.1. .NET Binding for the C++ Messaging Client Component Architecture</h2></div></div></div><pre class="programlisting">
+                      +----------------------------+
+                      | 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               |
+          +--------+--------------+----------+
+</pre>
+This diagram illustrates the code and library components of the binding
+and the hierarchical relationships between them.  
+
+	<div class="table"><a name="table-Dotnet-Binding-Component-Architecture"></a><p class="title"><b>Table 5.1. .NET Binding for the C++ Messaging Client Component Architecture</b></p><div class="table-contents"><table summary=".NET Binding for the C++ Messaging Client Component Architecture" border="1"><colgroup><col><col></colgroup><thead><tr><th>Component Name</th><th>Component Function</th></tr></thead><tbody><tr><td>QPID Messaging C++ Libraries</td><td>The QPID Messaging C++ core run time system</td></tr><tr><td>Unmanaged C++ Example Source Programs</td><td>Ordinary C++ programs that illustrate using qpid/cpp Messaging directly
+		in a native Windows environment.</td></tr><tr><td>.NET Messaging Binding Library</td><td>The .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.</td></tr><tr><td>.NET Messaging Managed Callback Library</td><td>An extension of the .NET Messaging Binding Library that provides message
+		callbacks in a managed .NET environment. This component is written purely in C#.</td></tr><tr><td>Managed C# .NET Example Source Programs</td><td>Various C# example programs that illustrate using .NET Messaging Binding in the .NET environment.</td></tr></tbody></table></div></div><br class="table-break"></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s05.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch05s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">4.5. Transactions </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 5.2. .NET Binding for the C++ Messaging Client Examples</td></tr></table></div></body></html>

Modified: qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s02.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s02.html?rev=1069126&r1=1069125&r2=1069126&view=diff
==============================================================================
--- qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s02.html (original)
+++ qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s02.html Wed Feb  9 21:39:27 2011
@@ -1 +1,22 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>5.2. .NET Binding Class: Connection</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="ch05.html" title="Chapter 5. The .NET Binding for the C++ Messaging Client"><link rel="prev" href="ch05.html" title="Chapter 5. The .NET Binding for the C++ Messaging Client"><link rel="next" href="ch05s03.html" title="5.3. .NET Binding Class: Duration"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">5.2. .NET Binding Class: Connection</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch05.html">Prev</a> </td><th width="60%" align="center">Chapter 5. The .NET Binding for the C++ Messaging Client</th><td width="20%" align=
 "right"> <a accesskey="n" href="ch05s03.html">Next</a></td></tr></table><hr></div><div class="section" title="5.2. .NET Binding Class: Connection"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2591078"></a>5.2. .NET Binding Class: Connection</h2></div></div></div><div class="table"><a name="table-Dotnet-Binding-Connection"></a><p class="title"><b>Table 5.2. .NET Binding Class: Connection</b></p><div class="table-contents"><table summary=".NET Binding Class: Connection" border="1"><colgroup><col><col></colgroup><thead><tr><th colspan="2" align="center">.NET Binding Class: Connection</th></tr><tr><th>Language</th><th>Syntax</th></tr></thead><tbody><tr><td>C++</td><td>class Connection : public qpid::messaging::Handle&lt;ConnectionImpl&gt;</td></tr><tr><td>.NET</td><td>public ref class Connection</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>Connection(ConnectionImpl* impl);</td></tr><tr><td>.NET</td
 ><td>n/a</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>Connection();</td></tr><tr><td>.NET</td><td>TODO:</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>Connection(const std::string&amp; url, const qpid::types::Variant::Map&amp; options = qpid::types::Variant::Map());</td></tr><tr><td>.NET</td><td>public Connection(string url);</td></tr><tr><td>.NET</td><td>public Connection(string url, Dictionary&lt;string, object&gt; options);</td></tr><tr><td>  </td><td>Constructor</td></tr><tr><td>C++</td><td>Connection(const std::string&amp; url, const std::string&amp; options);</td></tr><tr><td>.NET</td><td>public Connection(string url, string options);  </td></tr><tr><td>  </td><td>Copy constructor</td></tr><tr><td>C++</td><td>Connection(const Connection&amp;);</td></tr><tr><td>.NET</td><td>public Connection(Connection connection);</td></tr><tr><td colspan="2" align="center">Destructor</td></tr><tr><td>C++</td
 ><td>~Connection();</td></tr><tr><td>.NET</td><td>~Connection();</td></tr><tr><td colspan="2" align="center">Finalizer</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>!Connection();</td></tr><tr><td colspan="2" align="center">Copy assignment operator</td></tr><tr><td>C++</td><td>Connection&amp; operator=(const Connection&amp;);</td></tr><tr><td>.NET</td><td>public Connection op_Assign(Connection rhs);</td></tr><tr><td colspan="2" align="center">Method: SetOption</td></tr><tr><td>C++</td><td>void setOption(const std::string&amp; name, const qpid::types::Variant&amp; value);</td></tr><tr><td>.NET</td><td>public void SetOption(string name, object value);</td></tr><tr><td colspan="2" align="center">Method: open</td></tr><tr><td>C++</td><td>void open();</td></tr><tr><td>.NET</td><td>public void Open();</td></tr><tr><td colspan="2" align="center">Property: isOpen</td></tr><tr><td>C++</td><td>bool isOpen();</td></tr><tr><td>.NET</td><td>public bool IsOpen { get; }</t
 d></tr><tr><td colspan="2" align="center">Method: close</td></tr><tr><td>C++</td><td>void close();</td></tr><tr><td>.NET</td><td>public void Close();</td></tr><tr><td colspan="2" align="center">Method: createTransactionalSession</td></tr><tr><td>C++</td><td>Session createTransactionalSession(const std::string&amp; name = std::string());</td></tr><tr><td>.NET</td><td>public Session CreateTransactionalSession();</td></tr><tr><td>.NET</td><td>public Session CreateTransactionalSession(string name);</td></tr><tr><td colspan="2" align="center">Method: createSession</td></tr><tr><td>C++</td><td>Session createSession(const std::string&amp; name = std::string());</td></tr><tr><td>.NET</td><td>public Session CreateSession();</td></tr><tr><td>.NET</td><td>public Session CreateSession(string name);</td></tr><tr><td colspan="2" align="center">Method: getSession</td></tr><tr><td>C++</td><td>Session getSession(const std::string&amp; name) const;</td></tr><tr><td>.NET</td><td>public Session
  GetSession(string name);</td></tr><tr><td colspan="2" align="center">Property: AuthenticatedUsername</td></tr><tr><td>C++</td><td>std::string getAuthenticatedUsername();</td></tr><tr><td>.NET</td><td>public string GetAuthenticatedUsername();</td></tr></tbody></table></div></div><br class="table-break"></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch05.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch05.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch05s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 5. The .NET Binding for the C++ Messaging Client </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 5.3. .NET Binding Class: Duration</td></tr></table></div></body></html>
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>5.2. .NET Binding for the C++ Messaging Client Examples</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="ch05.html" title="Chapter 5. The .NET Binding for the C++ Messaging Client"><link rel="prev" href="ch05.html" title="Chapter 5. The .NET Binding for the C++ Messaging Client"><link rel="next" href="ch05s03.html" title="5.3. .NET Binding Class Mapping to Underlying C++ Messaging API"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">5.2. .NET Binding for the C++ Messaging Client Examples</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch05.html">Prev</a> </td><th width="60%" align="center">Chapter 5. Th
 e .NET Binding for the C++ Messaging Client</th><td width="20%" align="right"> <a accesskey="n" href="ch05s03.html">Next</a></td></tr></table><hr></div><div class="section" title="5.2. .NET Binding for the C++ Messaging Client Examples"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2607084"></a>5.2. .NET Binding for the C++ Messaging Client Examples</h2></div></div></div>
+
+      This chapter describes the various sample programs that are available to 
+      illustrate common Qpid Messaging usage.
+
+      <div class="table"><a name="table-Dotnet-Binding-Example-Client-Server"></a><p class="title"><b>Table 5.2. Example : Client - Server</b></p><div class="table-contents"><table summary="Example : Client - Server" border="1"><colgroup><col><col></colgroup><thead><tr><th>Example</th><th>Client - Server</th></tr></thead><tbody><tr><td>csharp.example.server</td><td>Creates a Receiver and listens for messages.
+		Upon message reception the message content is converted to upper case
+		and forwarded to the received message's ReplyTo address.</td></tr><tr><td>csharp.example.client</td><td>Sends a series of messages to the Server and prints the original message
+		content and the received message content.</td></tr></tbody></table></div></div><br class="table-break"><div class="table"><a name="table-Dotnet-Binding-Example-MapSender-MapReceiver"></a><p class="title"><b>Table 5.3. Example : Map Sender &#8211; Map Receiver</b></p><div class="table-contents"><table summary="Example : Map Sender &#8211; Map Receiver" border="1"><colgroup><col><col></colgroup><thead><tr><th>Example</th><th>Map Sender - Map Receiver</th></tr></thead><tbody><tr><td>csharp.map.receiver</td><td>Creates a Receiver and listens for a map message.
+		Upon message reception the message is decoded and displayed on the console.</td></tr><tr><td>csharp.map.sender</td><td>Creates a map message and sends it to map.receiver.
+		The map message contains values for every supported .NET Messaging
+		Binding data type.</td></tr></tbody></table></div></div><br class="table-break"><div class="table"><a name="table-Dotnet-Binding-Example-Spout-Drain"></a><p class="title"><b>Table 5.4. Example : Spout - Drain</b></p><div class="table-contents"><table summary="Example : Spout - Drain" border="1"><colgroup><col><col></colgroup><thead><tr><th>Example</th><th>Spout - Drain</th></tr></thead><tbody><tr><td>csharp.example.spout</td><td>Spout is a more complex example of code that generates a series of messages
+		and sends them to peer program Drain. Flexible command line arguments allow
+		the user to specify a variety of message and program options.</td></tr><tr><td>csharp.example.drain</td><td>Drain is a more complex example of code that receives a series of messages
+		and displays their contents on the console.</td></tr></tbody></table></div></div><br class="table-break"><div class="table"><a name="table-Dotnet-Binding-Example-CallbackSender-CallbackReceiver"></a><p class="title"><b>Table 5.5. Example : Map Callback Sender &#8211; Map Callback Receiver</b></p><div class="table-contents"><table summary="Example : Map Callback Sender &#8211; Map Callback Receiver" border="1"><colgroup><col><col></colgroup><thead><tr><th>Example</th><th>Map Callback Sender - Map Callback Receiver</th></tr></thead><tbody><tr><td>csharp.map.callback.receiver</td><td>Creates a Receiver and listens for a map message.
+		Upon message reception the message is decoded and displayed on the console.
+		This example illustrates the use of the C# managed code callback mechanism
+		provided by .NET Messaging Binding Managed Callback Library.</td></tr><tr><td>csharp.map.callback.sender</td><td>Creates a map message and sends it to map_receiver.
+		The map message contains values for every supported .NET Messaging
+		Binding data type.</td></tr></tbody></table></div></div><br class="table-break"><div class="table"><a name="table-Dotnet-Binding-Example-DeclareQueues"></a><p class="title"><b>Table 5.6. Example - Declare Queues</b></p><div class="table-contents"><table summary="Example - Declare Queues" border="1"><colgroup><col><col></colgroup><thead><tr><th>Example</th><th>Declare Queues</th></tr></thead><tbody><tr><td>csharp.example.declare_queues</td><td>A program to illustrate creating objects on a broker.
+		This program creates a queue used by spout and drain.</td></tr></tbody></table></div></div><br class="table-break"><div class="table"><a name="table-Dotnet-Binding-Example-DirectSender-DirectReceiver"></a><p class="title"><b>Table 5.7. Example: Direct Sender - Direct Receiver</b></p><div class="table-contents"><table summary="Example: Direct Sender - Direct Receiver" border="1"><colgroup><col><col></colgroup><thead><tr><th>Example</th><th>Direct Sender - Direct Receiver</th></tr></thead><tbody><tr><td>csharp.direct.receiver</td><td>Creates a Receiver and listens for a messages.
+		Upon message reception the message is decoded and displayed on the console.</td></tr><tr><td>csharp.direct.sender</td><td> Creates a series of messages and sends them to csharp.direct.receiver.</td></tr></tbody></table></div></div><br class="table-break"><div class="table"><a name="table-Dotnet-Binding-Example-Helloworld"></a><p class="title"><b>Table 5.8. Example: Hello World</b></p><div class="table-contents"><table summary="Example: Hello World" border="1"><colgroup><col><col></colgroup><thead><tr><th>Example</th><th>Hello World</th></tr></thead><tbody><tr><td>csharp.example.helloworld</td><td>A program to send a message and to receive the same message.</td></tr></tbody></table></div></div><br class="table-break"></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch05.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch05.html">Up</a></td><td width="40%" alig
 n="right"> <a accesskey="n" href="ch05s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 5. The .NET Binding for the C++ Messaging Client </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 5.3. .NET Binding Class Mapping to Underlying C++ Messaging API</td></tr></table></div></body></html>

Modified: qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s03.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s03.html?rev=1069126&r1=1069125&r2=1069126&view=diff
==============================================================================
--- qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s03.html (original)
+++ qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s03.html Wed Feb  9 21:39:27 2011
@@ -1 +1,40 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>5.3. .NET Binding Class: Duration</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="ch05.html" title="Chapter 5. The .NET Binding for the C++ Messaging Client"><link rel="prev" href="ch05s02.html" title="5.2. .NET Binding Class: Connection"><link rel="next" href="ch05s04.html" title="5.4. .NET Binding Class: Message"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">5.3. .NET Binding Class: Duration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch05s02.html">Prev</a> </td><th width="60%" align="center">Chapter 5. The .NET Binding for the C++ Messaging Client</th><td width="20%" align="right"> <a accesske
 y="n" href="ch05s04.html">Next</a></td></tr></table><hr></div><div class="section" title="5.3. .NET Binding Class: Duration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2591718"></a>5.3. .NET Binding Class: Duration</h2></div></div></div><div class="table"><a name="table-Dotnet-Binding-Duration"></a><p class="title"><b>Table 5.3. .NET Binding Class: Duration</b></p><div class="table-contents"><table summary=".NET Binding Class: Duration" border="1"><colgroup><col><col></colgroup><thead><tr><th colspan="2" align="center">.NET Binding Class: Duration</th></tr><tr><th>Language</th><th>Syntax</th></tr></thead><tbody><tr><td>C++</td><td>class Duration</td></tr><tr><td>.NET</td><td>public ref class Duration</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>explicit Duration(uint64_t milliseconds);</td></tr><tr><td>.NET</td><td>public Duration(ulong mS);</td></tr><tr><td colspan="2" align="center">Copy con
 structor</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>public Duration(Duration rhs);</td></tr><tr><td colspan="2" align="center">Destructor</td></tr><tr><td>C++</td><td>default</td></tr><tr><td>.NET</td><td>default</td></tr><tr><td colspan="2" align="center">Finalizer</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>default</td></tr><tr><td colspan="2" align="center">Property: Milliseconds</td></tr><tr><td>C++</td><td>uint64_t getMilliseconds() const;</td></tr><tr><td>.NET</td><td>public ulong Milliseconds { get; }</td></tr><tr><td colspan="2" align="center">Operator: *</td></tr><tr><td>C++</td><td>Duration operator*(const Duration&amp; duration, uint64_t multiplier);</td></tr><tr><td>.NET</td><td>public static Duration operator *(Duration dur, ulong multiplier);</td></tr><tr><td>.NET</td><td>public static Duration Multiply(Duration dur, ulong multiplier);</td></tr><tr><td>C++</td><td>Duration operator*(uint64_t multiplier, const Duration&amp;
  duration);</td></tr><tr><td>.NET</td><td>public static Duration operator *(ulong multiplier, Duration dur);</td></tr><tr><td>.NET</td><td>public static Duration Multiply(ulong multiplier, Duration dur);</td></tr><tr><td colspan="2" align="center">Constants</td></tr><tr><td>C++</td><td>static const Duration FOREVER;</td></tr><tr><td>C++</td><td>static const Duration IMMEDIATE;</td></tr><tr><td>C++</td><td>static const Duration SECOND;</td></tr><tr><td>C++</td><td>static const Duration MINUTE;</td></tr><tr><td>.NET</td><td>public sealed class DurationConstants</td></tr><tr><td>.NET</td><td>public static Duration FORVER;</td></tr><tr><td>.NET</td><td>public static Duration IMMEDIATE;</td></tr><tr><td>.NET</td><td>public static Duration MINUTE;</td></tr><tr><td>.NET</td><td>public static Duration SECOND;</td></tr></tbody></table></div></div><br class="table-break"></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><
 a accesskey="p" href="ch05s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch05.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch05s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">5.2. .NET Binding Class: Connection </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 5.4. .NET Binding Class: Message</td></tr></table></div></body></html>
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>5.3. .NET Binding Class Mapping to Underlying C++ Messaging API</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="ch05.html" title="Chapter 5. The .NET Binding for the C++ Messaging Client"><link rel="prev" href="ch05s02.html" title="5.2. .NET Binding for the C++ Messaging Client Examples"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">5.3. .NET Binding Class Mapping to Underlying C++ Messaging API</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch05s02.html">Prev</a> </td><th width="60%" align="center">Chapter 5. The .NET Binding for the C++ Messaging Client</th><td width="20%" align="right"> </td></tr>
 </table><hr></div><div class="section" title="5.3. .NET Binding Class Mapping to Underlying C++ Messaging API"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2607523"></a>5.3. .NET Binding Class Mapping to Underlying C++ Messaging API</h2></div></div></div>
+      This chapter describes the specific mappings between classes in the .NET
+      Binding and the underlying C++ Messaging API.
+    <div class="section" title="5.3.1. .NET Binding for the C++ Messaging API Class: Address"><div class="titlepage"><div><div><h3 class="title"><a name="id2607532"></a>5.3.1. .NET Binding for the C++ Messaging API Class: Address</h3></div></div></div><div class="table"><a name="table-Dotnet-Binding-Address"></a><p class="title"><b>Table 5.9. .NET Binding for the C++ Messaging API Class: Address</b></p><div class="table-contents"><table summary=".NET Binding for the C++ Messaging API Class: Address" border="1"><colgroup><col><col></colgroup><thead><tr><th colspan="2" align="center">.NET Binding Class: Address</th></tr><tr><th>Language</th><th>Syntax</th></tr></thead><tbody><tr><td>C++</td><td>class Address</td></tr><tr><td>.NET</td><td>public ref class Address</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>Address();</td></tr><tr><td>.NET</td><td>public Address();</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><
 td>C++</td><td>Address(const std::string&amp; address);</td></tr><tr><td>.NET</td><td>public Address(string address);</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>Address(const std::string&amp; name, const std::string&amp; subject, const qpid::types::Variant::Map&amp; options, const std::string&amp; type = "");</td></tr><tr><td>.NET</td><td>public Address(string name, string subject, Dictionary&lt;string, object&gt; options);</td></tr><tr><td>.NET</td><td>public Address(string name, string subject, Dictionary&lt;string, object&gt; options, string type);</td></tr><tr><td colspan="2" align="center">Copy constructor</td></tr><tr><td>C++</td><td>Address(const Address&amp; address);</td></tr><tr><td>.NET</td><td>public Address(Address address);</td></tr><tr><td colspan="2" align="center">Destructor</td></tr><tr><td>C++</td><td>~Address();</td></tr><tr><td>.NET</td><td>~Address();</td></tr><tr><td colspan="2" align="center">Finalizer</td></t
 r><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>!Address();</td></tr><tr><td colspan="2" align="center">Copy assignment operator</td></tr><tr><td>C++</td><td>Address&amp; operator=(const Address&amp;);</td></tr><tr><td>.NET</td><td>public Address op_Assign(Address rhs);</td></tr><tr><td colspan="2" align="center">Property: Name</td></tr><tr><td>C++</td><td>const std::string&amp; getName() const;</td></tr><tr><td>C++</td><td>void setName(const std::string&amp;);</td></tr><tr><td>.NET</td><td>public string Name { get; set; }</td></tr><tr><td colspan="2" align="center">Property: Subject</td></tr><tr><td>C++</td><td>const std::string&amp; getSubject() const;</td></tr><tr><td>C++</td><td>void setSubject(const std::string&amp;);</td></tr><tr><td>.NET</td><td>public string Subject { get; set; }</td></tr><tr><td colspan="2" align="center">Property: Options</td></tr><tr><td>C++</td><td>const qpid::types::Variant::Map&amp; getOptions() const;</td></tr><tr><td>C++</td><td>qpid:
 :types::Variant::Map&amp; getOptions();</td></tr><tr><td>C++</td><td>void setOptions(const qpid::types::Variant::Map&amp;);</td></tr><tr><td>.NET</td><td>public Dictionary&lt;string, object&gt; Options { get; set; }</td></tr><tr><td colspan="2" align="center">Property: Type</td></tr><tr><td>C++</td><td>std::string getType() const;</td></tr><tr><td>C++</td><td>void setType(const std::string&amp;);</td></tr><tr><td>.NET</td><td>public string Type { get; set; }</td></tr><tr><td colspan="2" align="center">Miscellaneous</td></tr><tr><td>C++</td><td>std::string str() const;</td></tr><tr><td>.NET</td><td>public string ToStr();</td></tr><tr><td colspan="2" align="center">Miscellaneous</td></tr><tr><td>C++</td><td>operator bool() const;</td></tr><tr><td>.NET</td><td>n/a</td></tr><tr><td colspan="2" align="center">Miscellaneous</td></tr><tr><td>C++</td><td>bool operator !() const;</td></tr><tr><td>.NET</td><td>n/a</td></tr></tbody></table></div></div><br class="table-break"></div><div
  class="section" title="5.3.2. .NET Binding for the C++ Messaging API Class: Connection"><div class="titlepage"><div><div><h3 class="title"><a name="id2608139"></a>5.3.2. .NET Binding for the C++ Messaging API Class: Connection</h3></div></div></div><div class="table"><a name="table-Dotnet-Binding-Connection"></a><p class="title"><b>Table 5.10. .NET Binding for the C++ Messaging API Class: Connection</b></p><div class="table-contents"><table summary=".NET Binding for the C++ Messaging API Class: Connection" border="1"><colgroup><col><col></colgroup><thead><tr><th colspan="2" align="center">.NET Binding Class: Connection</th></tr><tr><th>Language</th><th>Syntax</th></tr></thead><tbody><tr><td>C++</td><td>class Connection : public qpid::messaging::Handle&lt;ConnectionImpl&gt;</td></tr><tr><td>.NET</td><td>public ref class Connection</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>Connection(ConnectionImpl* impl);</td></tr><tr><td>.NET</
 td><td>n/a</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>Connection();</td></tr><tr><td>.NET</td><td>TODO:</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>Connection(const std::string&amp; url, const qpid::types::Variant::Map&amp; options = qpid::types::Variant::Map());</td></tr><tr><td>.NET</td><td>public Connection(string url);</td></tr><tr><td>.NET</td><td>public Connection(string url, Dictionary&lt;string, object&gt; options);</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>Connection(const std::string&amp; url, const std::string&amp; options);</td></tr><tr><td>.NET</td><td>public Connection(string url, string options);  </td></tr><tr><td colspan="2" align="center">Copy Constructor</td></tr><tr><td>C++</td><td>Connection(const Connection&amp;);</td></tr><tr><td>.NET</td><td>public Connection(Connection connection);</td></tr><tr><td colspan="2" align="center">D
 estructor</td></tr><tr><td>C++</td><td>~Connection();</td></tr><tr><td>.NET</td><td>~Connection();</td></tr><tr><td colspan="2" align="center">Finalizer</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>!Connection();</td></tr><tr><td colspan="2" align="center">Copy assignment operator</td></tr><tr><td>C++</td><td>Connection&amp; operator=(const Connection&amp;);</td></tr><tr><td>.NET</td><td>public Connection op_Assign(Connection rhs);</td></tr><tr><td colspan="2" align="center">Method: SetOption</td></tr><tr><td>C++</td><td>void setOption(const std::string&amp; name, const qpid::types::Variant&amp; value);</td></tr><tr><td>.NET</td><td>public void SetOption(string name, object value);</td></tr><tr><td colspan="2" align="center">Method: open</td></tr><tr><td>C++</td><td>void open();</td></tr><tr><td>.NET</td><td>public void Open();</td></tr><tr><td colspan="2" align="center">Property: isOpen</td></tr><tr><td>C++</td><td>bool isOpen();</td></tr><tr><td>.NET</td>
 <td>public bool IsOpen { get; }</td></tr><tr><td colspan="2" align="center">Method: close</td></tr><tr><td>C++</td><td>void close();</td></tr><tr><td>.NET</td><td>public void Close();</td></tr><tr><td colspan="2" align="center">Method: createTransactionalSession</td></tr><tr><td>C++</td><td>Session createTransactionalSession(const std::string&amp; name = std::string());</td></tr><tr><td>.NET</td><td>public Session CreateTransactionalSession();</td></tr><tr><td>.NET</td><td>public Session CreateTransactionalSession(string name);</td></tr><tr><td colspan="2" align="center">Method: createSession</td></tr><tr><td>C++</td><td>Session createSession(const std::string&amp; name = std::string());</td></tr><tr><td>.NET</td><td>public Session CreateSession();</td></tr><tr><td>.NET</td><td>public Session CreateSession(string name);</td></tr><tr><td colspan="2" align="center">Method: getSession</td></tr><tr><td>C++</td><td>Session getSession(const std::string&amp; name) const;</td></tr><
 tr><td>.NET</td><td>public Session GetSession(string name);</td></tr><tr><td colspan="2" align="center">Property: AuthenticatedUsername</td></tr><tr><td>C++</td><td>std::string getAuthenticatedUsername();</td></tr><tr><td>.NET</td><td>public string GetAuthenticatedUsername();</td></tr></tbody></table></div></div><br class="table-break"></div><div class="section" title="5.3.3. .NET Binding for the C++ Messaging API Class: Duration"><div class="titlepage"><div><div><h3 class="title"><a name="id2608785"></a>5.3.3. .NET Binding for the C++ Messaging API Class: Duration</h3></div></div></div><div class="table"><a name="table-Dotnet-Binding-Duration"></a><p class="title"><b>Table 5.11. .NET Binding for the C++ Messaging API Class: Duration</b></p><div class="table-contents"><table summary=".NET Binding for the C++ Messaging API Class: Duration" border="1"><colgroup><col><col></colgroup><thead><tr><th colspan="2" align="center">.NET Binding Class: Duration</th></tr><tr><th>Lang
 uage</th><th>Syntax</th></tr></thead><tbody><tr><td>C++</td><td>class Duration</td></tr><tr><td>.NET</td><td>public ref class Duration</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>explicit Duration(uint64_t milliseconds);</td></tr><tr><td>.NET</td><td>public Duration(ulong mS);</td></tr><tr><td colspan="2" align="center">Copy constructor</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>public Duration(Duration rhs);</td></tr><tr><td colspan="2" align="center">Destructor</td></tr><tr><td>C++</td><td>default</td></tr><tr><td>.NET</td><td>default</td></tr><tr><td colspan="2" align="center">Finalizer</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>default</td></tr><tr><td colspan="2" align="center">Property: Milliseconds</td></tr><tr><td>C++</td><td>uint64_t getMilliseconds() const;</td></tr><tr><td>.NET</td><td>public ulong Milliseconds { get; }</td></tr><tr><td colspan="2" align="center">Operator: *</td></tr>
 <tr><td>C++</td><td>Duration operator*(const Duration&amp; duration, uint64_t multiplier);</td></tr><tr><td>.NET</td><td>public static Duration operator *(Duration dur, ulong multiplier);</td></tr><tr><td>.NET</td><td>public static Duration Multiply(Duration dur, ulong multiplier);</td></tr><tr><td>C++</td><td>Duration operator*(uint64_t multiplier, const Duration&amp; duration);</td></tr><tr><td>.NET</td><td>public static Duration operator *(ulong multiplier, Duration dur);</td></tr><tr><td>.NET</td><td>public static Duration Multiply(ulong multiplier, Duration dur);</td></tr><tr><td colspan="2" align="center">Constants</td></tr><tr><td>C++</td><td>static const Duration FOREVER;</td></tr><tr><td>C++</td><td>static const Duration IMMEDIATE;</td></tr><tr><td>C++</td><td>static const Duration SECOND;</td></tr><tr><td>C++</td><td>static const Duration MINUTE;</td></tr><tr><td>.NET</td><td>public sealed class DurationConstants</td></tr><tr><td>.NET</td><td>public static Duration
  FORVER;</td></tr><tr><td>.NET</td><td>public static Duration IMMEDIATE;</td></tr><tr><td>.NET</td><td>public static Duration MINUTE;</td></tr><tr><td>.NET</td><td>public static Duration SECOND;</td></tr></tbody></table></div></div><br class="table-break"></div><div class="section" title="5.3.4. .NET Binding for the C++ Messaging API Class: FailoverUpdates"><div class="titlepage"><div><div><h3 class="title"><a name="id2609209"></a>5.3.4. .NET Binding for the C++ Messaging API Class: FailoverUpdates</h3></div></div></div><div class="table"><a name="table-Dotnet-Binding-FailoverUpdates"></a><p class="title"><b>Table 5.12. .NET Binding for the C++ Messaging API Class: FailoverUpdates</b></p><div class="table-contents"><table summary=".NET Binding for the C++ Messaging API Class: FailoverUpdates" border="1"><colgroup><col><col></colgroup><thead><tr><th colspan="2" align="center">.NET Binding Class: FailoverUpdates</th></tr><tr><th>Language</th><th>Syntax</th></tr></thead><tb
 ody><tr><td>C++</td><td>class FailoverUpdates</td></tr><tr><td>.NET</td><td>public ref class FailoverUpdates</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>FailoverUpdates(Connection&amp; connection);</td></tr><tr><td>.NET</td><td>public FailoverUpdates(Connection connection);</td></tr><tr><td colspan="2" align="center">Destructor</td></tr><tr><td>C++</td><td>~FailoverUpdates();</td></tr><tr><td>.NET</td><td>~FailoverUpdates();</td></tr><tr><td colspan="2" align="center">Finalizer</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>!FailoverUpdates();</td></tr></tbody></table></div></div><br class="table-break"></div><div class="section" title="5.3.5. .NET Binding for the C++ Messaging API Class: Message"><div class="titlepage"><div><div><h3 class="title"><a name="id2609388"></a>5.3.5. .NET Binding for the C++ Messaging API Class: Message</h3></div></div></div><div class="table"><a name="table-Dotnet-Binding-Message"></a><p 
 class="title"><b>Table 5.13. .NET Binding for the C++ Messaging API Class: Message</b></p><div class="table-contents"><table summary=".NET Binding for the C++ Messaging API Class: Message" border="1"><colgroup><col><col></colgroup><thead><tr><th colspan="2" align="center">.NET Binding Class: Message</th></tr><tr><th>Language</th><th>Syntax</th></tr></thead><tbody><tr><td>C++</td><td>class Message</td></tr><tr><td>.NET</td><td>public ref class Message</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>Message(const std::string&amp; bytes = std::string());</td></tr><tr><td>.NET</td><td>Message();</td></tr><tr><td>.NET</td><td>Message(System::String ^ theStr);</td></tr><tr><td>.NET</td><td>Message(System::Object ^ theValue);</td></tr><tr><td>.NET</td><td>Message(array&lt;System::Byte&gt; ^ bytes);</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>Message(const char*, size_t);</td></tr><tr><td>.NET</td><td>pu
 blic Message(byte[] bytes, int offset, int size);</td></tr><tr><td>	</td><td>Copy constructor</td></tr><tr><td>C++</td><td>Message(const Message&amp;);</td></tr><tr><td>.NET</td><td>public Message(Message message);</td></tr><tr><td>	</td><td>Copy assignment operator</td></tr><tr><td>C++</td><td>Message&amp; operator=(const Message&amp;);</td></tr><tr><td>.NET</td><td>public Message op_Assign(Message rhs);</td></tr><tr><td colspan="2" align="center">Destructor</td></tr><tr><td>C++</td><td>~Message();</td></tr><tr><td>.NET</td><td>~Message();</td></tr><tr><td colspan="2" align="center">Finalizer</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>!Message()</td></tr><tr><td colspan="2" align="center">Property: ReplyTo</td></tr><tr><td>C++</td><td>void setReplyTo(const Address&amp;);</td></tr><tr><td>C++</td><td>const Address&amp; getReplyTo() const;</td></tr><tr><td>.NET</td><td>public Address ReplyTo { get; set; }</td></tr><tr><td colspan="2" align="center">Propert
 y: Subject</td></tr><tr><td>C++</td><td>void setSubject(const std::string&amp;);</td></tr><tr><td>C++</td><td>const std::string&amp; getSubject() const;</td></tr><tr><td>.NET</td><td>public string Subject { get; set; }</td></tr><tr><td colspan="2" align="center">Property: ContentType</td></tr><tr><td>C++</td><td>void setContentType(const std::string&amp;);</td></tr><tr><td>C++</td><td>const std::string&amp; getContentType() const;</td></tr><tr><td>.NET</td><td>public string ContentType { get; set; }</td></tr><tr><td colspan="2" align="center">Property: MessageId</td></tr><tr><td>C++</td><td>void setMessageId(const std::string&amp;);</td></tr><tr><td>C++</td><td>const std::string&amp; getMessageId() const;</td></tr><tr><td>.NET</td><td>public string MessageId { get; set; }</td></tr><tr><td colspan="2" align="center">Property: UserId</td></tr><tr><td>C++</td><td>void setUserId(const std::string&amp;);</td></tr><tr><td>C++</td><td>const std::string&amp; getUserId() const;</td><
 /tr><tr><td>.NET</td><td>public string UserId { get; set; }</td></tr><tr><td colspan="2" align="center">Property: CorrelationId</td></tr><tr><td>C++</td><td>void setCorrelationId(const std::string&amp;);</td></tr><tr><td>C++</td><td>const std::string&amp; getCorrelationId() const;</td></tr><tr><td>.NET</td><td>public string CorrelationId { get; set; }</td></tr><tr><td colspan="2" align="center">Property: Priority</td></tr><tr><td>C++</td><td>void setPriority(uint8_t);</td></tr><tr><td>C++</td><td>uint8_t getPriority() const;</td></tr><tr><td>.NET</td><td>public byte Priority { get; set; }</td></tr><tr><td colspan="2" align="center">Property: Ttl</td></tr><tr><td>C++</td><td>void setTtl(Duration ttl);</td></tr><tr><td>C++</td><td>Duration getTtl() const;</td></tr><tr><td>.NET</td><td>public Duration Ttl { get; set; }</td></tr><tr><td colspan="2" align="center">Property: Durable</td></tr><tr><td>C++</td><td>void setDurable(bool durable);</td></tr><tr><td>C++</td><td>bool getDu
 rable() const;</td></tr><tr><td>.NET</td><td>public bool Durable { get; set; }</td></tr><tr><td colspan="2" align="center">Property: Redelivered</td></tr><tr><td>C++</td><td>bool getRedelivered() const;</td></tr><tr><td>C++</td><td>void setRedelivered(bool);</td></tr><tr><td>.NET</td><td>public bool Redelivered { get; set; }</td></tr><tr><td colspan="2" align="center">Method: SetProperty</td></tr><tr><td>C++</td><td>void setProperty(const std::string&amp;, const qpid::types::Variant&amp;);</td></tr><tr><td>.NET</td><td>public void SetProperty(string name, object value);</td></tr><tr><td colspan="2" align="center">Property: Properties</td></tr><tr><td>C++</td><td>const qpid::types::Variant::Map&amp; getProperties() const;</td></tr><tr><td>C++</td><td>qpid::types::Variant::Map&amp; getProperties();</td></tr><tr><td>.NET</td><td>public Dictionary&lt;string, object&gt; Properties { get; set; }</td></tr><tr><td colspan="2" align="center">Method: SetContent</td></tr><tr><td>C++</t
 d><td>void setContent(const std::string&amp;);</td></tr><tr><td>C++</td><td>void setContent(const char* chars, size_t count);</td></tr><tr><td>.NET</td><td>public void SetContent(byte[] bytes);</td></tr><tr><td>.NET</td><td>public void SetContent(string content);</td></tr><tr><td>.NET</td><td>public void SetContent(byte[] bytes, int offset, int size);</td></tr><tr><td colspan="2" align="center">Method: GetContent</td></tr><tr><td>C++</td><td>std::string getContent() const;</td></tr><tr><td>.NET</td><td>public string GetContent();</td></tr><tr><td>.NET</td><td>public void GetContent(byte[] arr);</td></tr><tr><td>.NET</td><td>public void GetContent(Collection&lt;object&gt; __p1);</td></tr><tr><td>.NET</td><td>public void GetContent(Dictionary&lt;string, object&gt; dict);</td></tr><tr><td colspan="2" align="center">Method: GetContentPtr</td></tr><tr><td>C++</td><td>const char* getContentPtr() const;</td></tr><tr><td>.NET</td><td>n/a</td></tr><tr><td colspan="2" align="center">P
 roperty: ContentSize</td></tr><tr><td>C++</td><td>size_t getContentSize() const;</td></tr><tr><td>.NET</td><td>public ulong ContentSize { get; }</td></tr><tr><td colspan="2" align="center">Struct: EncodingException</td></tr><tr><td>C++</td><td>struct EncodingException : qpid::types::Exception</td></tr><tr><td>.NET</td><td>n/a</td></tr><tr><td colspan="2" align="center">Method: decode</td></tr><tr><td>C++</td><td>void decode(const Message&amp; message, qpid::types::Variant::Map&amp; map,	const std::string&amp; encoding = std::string());</td></tr><tr><td>C++</td><td>void decode(const Message&amp; message, qpid::types::Variant::List&amp; list, const std::string&amp; encoding = std::string());</td></tr><tr><td>.NET</td><td>TODO:</td></tr><tr><td colspan="2" align="center">Method: encode</td></tr><tr><td>C++</td><td>void encode(const qpid::types::Variant::Map&amp; map, Message&amp; message, const std::string&amp; encoding = std::string());</td></tr><tr><td>C++</td><td>void encode
 (const qpid::types::Variant::List&amp; list, Message&amp; message, const std::string&amp; encoding = std::string());</td></tr><tr><td>.NET</td><td>TODO:</td></tr><tr><td colspan="2" align="center">Method: AsString</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>public string AsString(object obj);</td></tr><tr><td>.NET</td><td>public string ListAsString(Collection&lt;object&gt; list);</td></tr><tr><td>.NET</td><td>public string MapAsString(Dictionary&lt;string, object&gt; dict);</td></tr></tbody></table></div></div><br class="table-break"></div><div class="section" title="5.3.6. .NET Binding for the C++ Messaging API Class: Receiver"><div class="titlepage"><div><div><h3 class="title"><a name="id2610587"></a>5.3.6. .NET Binding for the C++ Messaging API Class: Receiver</h3></div></div></div><div class="table"><a name="table-Dotnet-Binding-Receiver"></a><p class="title"><b>Table 5.14. .NET Binding for the C++ Messaging API Class: Receiver</b></p><div class="t
 able-contents"><table summary=".NET Binding for the C++ Messaging API Class: Receiver" border="1"><colgroup><col><col></colgroup><thead><tr><th colspan="2" align="center">.NET Binding Class: Receiver</th></tr><tr><th>Language</th><th>Syntax</th></tr></thead><tbody><tr><td>C++</td><td>class Receiver</td></tr><tr><td>.NET</td><td>public ref class Receiver</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>.NET</td><td>Constructed object is returned by Session.CreateReceiver</td></tr><tr><td colspan="2" align="center">Copy constructor</td></tr><tr><td>C++</td><td>Receiver(const Receiver&amp;);</td></tr><tr><td>.NET</td><td>public Receiver(Receiver receiver);</td></tr><tr><td colspan="2" align="center">Destructor</td></tr><tr><td>C++</td><td>~Receiver();</td></tr><tr><td>.NET</td><td>~Receiver();</td></tr><tr><td colspan="2" align="center">Finalizer</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>!Receiver()</td></tr><tr><td colspan="2" align
 ="center">Copy assignment operator</td></tr><tr><td>C++</td><td>Receiver&amp; operator=(const Receiver&amp;);</td></tr><tr><td>.NET</td><td>public Receiver op_Assign(Receiver rhs);</td></tr><tr><td colspan="2" align="center">Method: Get</td></tr><tr><td>C++</td><td>bool get(Message&amp; message, Duration timeout=Duration::FOREVER);</td></tr><tr><td>.NET</td><td>public bool Get(Message mmsgp);</td></tr><tr><td>.NET</td><td>public bool Get(Message mmsgp, Duration durationp);</td></tr><tr><td colspan="2" align="center">Method: Get</td></tr><tr><td>C++</td><td>Message get(Duration timeout=Duration::FOREVER);</td></tr><tr><td>.NET</td><td>public Message Get();</td></tr><tr><td>.NET</td><td>public Message Get(Duration durationp);</td></tr><tr><td colspan="2" align="center">Method: Fetch</td></tr><tr><td>C++</td><td>bool fetch(Message&amp; message, Duration timeout=Duration::FOREVER);</td></tr><tr><td>.NET</td><td>public bool Fetch(Message mmsgp);</td></tr><tr><td>.NET</td><td>publ
 ic bool Fetch(Message mmsgp, Duration duration);</td></tr><tr><td colspan="2" align="center">Method: Fetch</td></tr><tr><td>C++</td><td>Message fetch(Duration timeout=Duration::FOREVER);</td></tr><tr><td>.NET</td><td>public Message Fetch();</td></tr><tr><td>.NET</td><td>public Message Fetch(Duration durationp);</td></tr><tr><td colspan="2" align="center">Property: Capacity</td></tr><tr><td>C++</td><td>void setCapacity(uint32_t);</td></tr><tr><td>C++</td><td>uint32_t getCapacity();</td></tr><tr><td>.NET</td><td>public uint Capacity { get; set; }</td></tr><tr><td colspan="2" align="center">Property: Available</td></tr><tr><td>C++</td><td>uint32_t getAvailable();</td></tr><tr><td>.NET</td><td>public uint Available { get; }</td></tr><tr><td colspan="2" align="center">Property: Unsettled</td></tr><tr><td>C++</td><td>uint32_t getUnsettled();</td></tr><tr><td>.NET</td><td>public uint Unsettled { get; }</td></tr><tr><td colspan="2" align="center">Method: Close</td></tr><tr><td>C++</
 td><td>void close();</td></tr><tr><td>.NET</td><td>public void Close();</td></tr><tr><td colspan="2" align="center">Property: IsClosed</td></tr><tr><td>C++</td><td>bool isClosed() const;</td></tr><tr><td>.NET</td><td>public bool IsClosed { get; }</td></tr><tr><td colspan="2" align="center">Property: Name</td></tr><tr><td>C++</td><td>const std::string&amp; getName() const;</td></tr><tr><td>.NET</td><td>public string Name { get; }</td></tr><tr><td colspan="2" align="center">Property: Session</td></tr><tr><td>C++</td><td>Session getSession() const;</td></tr><tr><td>.NET</td><td>public Session Session { get; }</td></tr></tbody></table></div></div><br class="table-break"></div><div class="section" title="5.3.7. .NET Binding for the C++ Messaging API Class: Sender"><div class="titlepage"><div><div><h3 class="title"><a name="id2611232"></a>5.3.7. .NET Binding for the C++ Messaging API Class: Sender</h3></div></div></div><div class="table"><a name="table-Dotnet-Binding-Sender"></a
 ><p class="title"><b>Table 5.15. .NET Binding for the C++ Messaging API Class: Sender</b></p><div class="table-contents"><table summary=".NET Binding for the C++ Messaging API Class: Sender" border="1"><colgroup><col><col></colgroup><thead><tr><th colspan="2" align="center">.NET Binding Class: Sender</th></tr><tr><th>Language</th><th>Syntax</th></tr></thead><tbody><tr><td>C++</td><td>class Sender</td></tr><tr><td>.NET</td><td>public ref class Sender</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>.NET</td><td>Constructed object is returned by Session.CreateSender</td></tr><tr><td colspan="2" align="center">Copy constructor</td></tr><tr><td>C++</td><td>Sender(const Sender&amp;);</td></tr><tr><td>.NET</td><td>public Sender(Sender sender);</td></tr><tr><td colspan="2" align="center">Destructor</td></tr><tr><td>C++</td><td>~Sender();</td></tr><tr><td>.NET</td><td>~Sender();</td></tr><tr><td colspan="2" align="center">Finalizer</td></tr><tr><td>C++</td>
 <td>n/a</td></tr><tr><td>.NET</td><td>!Sender()</td></tr><tr><td colspan="2" align="center">Copy assignment operator</td></tr><tr><td>C++</td><td>Sender&amp; operator=(const Sender&amp;);</td></tr><tr><td>.NET</td><td>public Sender op_Assign(Sender rhs);</td></tr><tr><td colspan="2" align="center">Method: Send</td></tr><tr><td>C++</td><td>void send(const Message&amp; message, bool sync=false);</td></tr><tr><td>.NET</td><td>public void Send(Message mmsgp);</td></tr><tr><td>.NET</td><td>public void Send(Message mmsgp, bool sync);</td></tr><tr><td colspan="2" align="center">Method: Close</td></tr><tr><td>C++</td><td>void close();</td></tr><tr><td>.NET</td><td>public void Close();</td></tr><tr><td colspan="2" align="center">Property: Capacity</td></tr><tr><td>C++</td><td>void setCapacity(uint32_t);</td></tr><tr><td>C++</td><td>uint32_t getCapacity();</td></tr><tr><td>.NET</td><td>public uint Capacity { get; set; }</td></tr><tr><td colspan="2" align="center">Property: Available</
 td></tr><tr><td>C++</td><td>uint32_t getAvailable();</td></tr><tr><td>.NET</td><td>public uint Available { get; }</td></tr><tr><td colspan="2" align="center">Property: Unsettled</td></tr><tr><td>C++</td><td>uint32_t getUnsettled();</td></tr><tr><td>.NET</td><td>public uint Unsettled { get; }</td></tr><tr><td colspan="2" align="center">Property: Name</td></tr><tr><td>C++</td><td>const std::string&amp; getName() const;</td></tr><tr><td>.NET</td><td>public string Name { get; }</td></tr><tr><td colspan="2" align="center">Property: Session</td></tr><tr><td>C++</td><td>Session getSession() const;</td></tr><tr><td>.NET</td><td>public Session Session { get; }</td></tr></tbody></table></div></div><br class="table-break"></div><div class="section" title="5.3.8. .NET Binding for the C++ Messaging API Class: Session"><div class="titlepage"><div><div><h3 class="title"><a name="id2611712"></a>5.3.8. .NET Binding for the C++ Messaging API Class: Session</h3></div></div></div><div class="
 table"><a name="table-Dotnet-Binding-Session"></a><p class="title"><b>Table 5.16. .NET Binding for the C++ Messaging API Class: Session</b></p><div class="table-contents"><table summary=".NET Binding for the C++ Messaging API Class: Session" border="1"><colgroup><col><col></colgroup><thead><tr><th colspan="2" align="center">.NET Binding Class: Session</th></tr><tr><th>Language</th><th>Syntax</th></tr></thead><tbody><tr><td>C++</td><td>class Session</td></tr><tr><td>.NET</td><td>public ref class Session</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>.NET</td><td>Constructed object is returned by Connection.CreateSession</td></tr><tr><td colspan="2" align="center">Copy constructor</td></tr><tr><td>C++</td><td>Session(const Session&amp;);</td></tr><tr><td>.NET</td><td>public Session(Session session);</td></tr><tr><td colspan="2" align="center">Destructor</td></tr><tr><td>C++</td><td>~Session();</td></tr><tr><td>.NET</td><td>~Session();</td></tr><tr><
 td colspan="2" align="center">Finalizer</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>!Session()</td></tr><tr><td colspan="2" align="center">Copy assignment operator</td></tr><tr><td>C++</td><td>Session&amp; operator=(const Session&amp;);</td></tr><tr><td>.NET</td><td>public Session op_Assign(Session rhs);</td></tr><tr><td colspan="2" align="center">Method: Close</td></tr><tr><td>C++</td><td>void close();</td></tr><tr><td>.NET</td><td>public void Close();</td></tr><tr><td colspan="2" align="center">Method: Commit</td></tr><tr><td>C++</td><td>void commit();</td></tr><tr><td>.NET</td><td>public void Commit();</td></tr><tr><td colspan="2" align="center">Method: Rollback</td></tr><tr><td>C++</td><td>void rollback();</td></tr><tr><td>.NET</td><td>public void Rollback();</td></tr><tr><td colspan="2" align="center">Method: Acknowledge</td></tr><tr><td>C++</td><td>void acknowledge(bool sync=false);</td></tr><tr><td>C++</td><td>void acknowledge(Message&amp;, bool syn
 c=false);</td></tr><tr><td>.NET</td><td>public void Acknowledge();</td></tr><tr><td>.NET</td><td>public void Acknowledge(bool sync);</td></tr><tr><td>.NET</td><td>public void Acknowledge(Message __p1);</td></tr><tr><td>.NET</td><td>public void Acknowledge(Message __p1, bool __p2);</td></tr><tr><td colspan="2" align="center">Method: Reject</td></tr><tr><td>C++</td><td>void reject(Message&amp;);</td></tr><tr><td>.NET</td><td>public void Reject(Message __p1);</td></tr><tr><td colspan="2" align="center">Method: Release</td></tr><tr><td>C++</td><td>void release(Message&amp;);</td></tr><tr><td>.NET</td><td>public void Release(Message __p1);</td></tr><tr><td colspan="2" align="center">Method: Sync</td></tr><tr><td>C++</td><td>void sync(bool block=true);</td></tr><tr><td>.NET</td><td>public void Sync();</td></tr><tr><td>.NET</td><td>public void Sync(bool block);</td></tr><tr><td colspan="2" align="center">Property: Receivable</td></tr><tr><td>C++</td><td>uint32_t getReceivable();</t
 d></tr><tr><td>.NET</td><td>public uint Receivable { get; }</td></tr><tr><td colspan="2" align="center">Property: UnsettledAcks</td></tr><tr><td>C++</td><td>uint32_t getUnsettledAcks();</td></tr><tr><td>.NET</td><td>public uint UnsetledAcks { get; }</td></tr><tr><td colspan="2" align="center">Method: NextReceiver</td></tr><tr><td>C++</td><td>bool nextReceiver(Receiver&amp;, Duration timeout=Duration::FOREVER);</td></tr><tr><td>.NET</td><td>public bool NextReceiver(Receiver rcvr);</td></tr><tr><td>.NET</td><td>public bool NextReceiver(Receiver rcvr, Duration timeout);</td></tr><tr><td colspan="2" align="center">Method: NextReceiver</td></tr><tr><td>C++</td><td>Receiver nextReceiver(Duration timeout=Duration::FOREVER);</td></tr><tr><td>.NET</td><td>public Receiver NextReceiver();</td></tr><tr><td>.NET</td><td>public Receiver NextReceiver(Duration timeout);</td></tr><tr><td colspan="2" align="center">Method: CreateSender</td></tr><tr><td>C++</td><td>Sender createSender(const Ad
 dress&amp; address);</td></tr><tr><td>.NET</td><td>public Sender CreateSender(Address address);</td></tr><tr><td colspan="2" align="center">Method: CreateSender</td></tr><tr><td>C++</td><td>Sender createSender(const std::string&amp; address);</td></tr><tr><td>.NET</td><td>public Sender CreateSender(string address);</td></tr><tr><td colspan="2" align="center">Method: CreateReceiver</td></tr><tr><td>C++</td><td>Receiver createReceiver(const Address&amp; address);</td></tr><tr><td>.NET</td><td>public Receiver CreateReceiver(Address address);</td></tr><tr><td colspan="2" align="center">Method: CreateReceiver</td></tr><tr><td>C++</td><td>Receiver createReceiver(const std::string&amp; address);</td></tr><tr><td>.NET</td><td>public Receiver CreateReceiver(string address);</td></tr><tr><td colspan="2" align="center">Method: GetSender</td></tr><tr><td>C++</td><td>Sender getSender(const std::string&amp; name) const;</td></tr><tr><td>.NET</td><td>public Sender GetSender(string name);</
 td></tr><tr><td colspan="2" align="center">Method: GetReceiver</td></tr><tr><td>C++</td><td>Receiver getReceiver(const std::string&amp; name) const;</td></tr><tr><td>.NET</td><td>public Receiver GetReceiver(string name);</td></tr><tr><td colspan="2" align="center">Property: Connection</td></tr><tr><td>C++</td><td>Connection getConnection() const;</td></tr><tr><td>.NET</td><td>public Connection Connection { get; }</td></tr><tr><td colspan="2" align="center">Property: HasError</td></tr><tr><td>C++</td><td>bool hasError();</td></tr><tr><td>.NET</td><td>public bool HasError { get; }</td></tr><tr><td colspan="2" align="center">Method: CheckError</td></tr><tr><td>C++</td><td>void checkError();</td></tr><tr><td>.NET</td><td>public void CheckError();</td></tr></tbody></table></div></div><br class="table-break"></div><div class="section" title="5.3.9. .NET Binding for the C++ Messaging API Class: SessionReceiver"><div class="titlepage"><div><div><h3 class="title"><a name="id2612677"
 ></a>5.3.9. .NET Binding for the C++ Messaging API Class: SessionReceiver</h3></div></div></div><p>
+	The SessionReceiver class provides a convenient callback
+	mechanism for Messages received by all Receivers on a given
+	Session.
+      </p><p>
+	</p><pre class="programlisting">
+using Org.Apache.Qpid.Messaging;
+using System;
+
+namespace Org.Apache.Qpid.Messaging.SessionReceiver
+{
+    public interface ISessionReceiver
+    {
+        void SessionReceiver(Receiver receiver, Message message);
+    }
+
+    public class CallbackServer
+    {
+        public CallbackServer(Session session, ISessionReceiver callback);
+
+        public void Close();
+    }
+}
+
+	</pre><p>
+      </p><p>
+	To use this class a client program includes references to both
+	Org.Apache.Qpid.Messaging and Org.Apache.Qpid.Messaging.SessionReceiver.
+	The calling program creates a function that implements the 
+	ISessionReceiver interface. This function will be called whenever
+	message is received by the session. The callback process is started
+	by creating a CallbackServer and will continue to run until the 
+	client program calls the CallbackServer.Close function.
+      </p><p>
+	A complete operating example of using the SessionReceiver callback
+	is contained in cpp/bindings/qpid/dotnet/examples/csharp.map.callback.receiver.
+      </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch05s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch05.html">Up</a></td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left" valign="top">5.2. .NET Binding for the C++ Messaging Client Examples </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org