Author: aconway
Date: Mon Jun  9 13:55:09 2008
New Revision: 665891

URL: http://svn.apache.org/viewvc?rev=665891&view=rev
Log:
Updated doxygen comments in qpid/client/*.h
Changed request-response example to use SubscriptionManager like the others.

Removed:
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/Exchange.cpp
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/Exchange.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/Queue.cpp
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/Queue.h
Modified:
    incubator/qpid/trunk/qpid/cpp/docs/api/user.doxygen.in
    incubator/qpid/trunk/qpid/cpp/examples/examples/direct/listener.cpp
    incubator/qpid/trunk/qpid/cpp/examples/examples/fanout/listener.cpp
    incubator/qpid/trunk/qpid/cpp/examples/examples/pub-sub/topic_listener.cpp
    incubator/qpid/trunk/qpid/cpp/examples/examples/request-response/client.cpp
    incubator/qpid/trunk/qpid/cpp/examples/examples/request-response/server.cpp
    incubator/qpid/trunk/qpid/cpp/examples/examples/xml-exchange/listener.cpp
    incubator/qpid/trunk/qpid/cpp/src/Makefile.am
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/AckPolicy.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/Completion.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/Connection.cpp
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/Connection.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/Connector.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/Demux.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/Dispatcher.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/Execution.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/Future.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/FutureCompletion.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/FutureResult.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/Message.cpp
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/Message.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/MessageListener.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/Results.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionBase_0_10.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionImpl.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/StateManager.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/TypedResult.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/doxygen_mainpage.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/framing/TransferContent.h
    incubator/qpid/trunk/qpid/cpp/src/tests/FramingTest.cpp

Modified: incubator/qpid/trunk/qpid/cpp/docs/api/user.doxygen.in
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/docs/api/user.doxygen.in?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/docs/api/user.doxygen.in (original)
+++ incubator/qpid/trunk/qpid/cpp/docs/api/user.doxygen.in Mon Jun  9 13:55:09 
2008
@@ -249,7 +249,7 @@
 # the interface are included in the documentation. 
 # If set to NO (the default) only methods in the interface are included.
 
-EXTRACT_LOCAL_METHODS  = YES
+EXTRACT_LOCAL_METHODS  = NO
 
 # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
 # undocumented members of documented classes, files or namespaces. 
@@ -457,7 +457,7 @@
 # directories like "/usr/src/myproject". Separate the files or directories 
 # with spaces.
 
-INPUT                  = @abs_top_srcdir@/src @abs_top_builddir@/src/gen
+INPUT                  = @top_srcdir@/src/qpid @top_builddir@/src/gen/qpid
 
 # If the value of the INPUT tag contains directories, you can use the 
 # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
@@ -477,7 +477,7 @@
 # excluded from the INPUT source files. This way you can easily exclude a 
 # subdirectory from a directory tree whose root is specified with the INPUT 
tag.
 
-EXCLUDE                = test
+EXCLUDE                = test tests broker amqp_0_10 log sys cluster management
 
 # The EXCLUDE_SYMLINKS tag can be used select whether or not files or 
 # directories that are symbolic links (a Unix filesystem feature) are excluded 
@@ -553,7 +553,7 @@
 # Note: To get rid of all source code in the generated output, make sure also 
 # VERBATIM_HEADERS is set to NO.
 
-SOURCE_BROWSER         = NO
+SOURCE_BROWSER         = YES
 
 # Setting the INLINE_SOURCES tag to YES will include the body 
 # of functions and classes directly in the documentation.
@@ -590,7 +590,7 @@
 # will generate a verbatim copy of the header file for each class for 
 # which an include is specified. Set to NO to disable this.
 
-VERBATIM_HEADERS       = YES
+VERBATIM_HEADERS       = NO
 
 #---------------------------------------------------------------------------
 # configuration options related to the alphabetical class index

Modified: incubator/qpid/trunk/qpid/cpp/examples/examples/direct/listener.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/examples/examples/direct/listener.cpp?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/examples/examples/direct/listener.cpp 
(original)
+++ incubator/qpid/trunk/qpid/cpp/examples/examples/direct/listener.cpp Mon Jun 
 9 13:55:09 2008
@@ -24,7 +24,6 @@
  *  the broker using a message listener.
  */
 
-#include <qpid/client/Dispatcher.h>
 #include <qpid/client/Connection.h>
 #include <qpid/client/Session.h>
 #include <qpid/client/Message.h>

Modified: incubator/qpid/trunk/qpid/cpp/examples/examples/fanout/listener.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/examples/examples/fanout/listener.cpp?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/examples/examples/fanout/listener.cpp 
(original)
+++ incubator/qpid/trunk/qpid/cpp/examples/examples/fanout/listener.cpp Mon Jun 
 9 13:55:09 2008
@@ -24,7 +24,6 @@
  *  the broker using a message listener.
  */
 
-#include <qpid/client/Dispatcher.h>
 #include <qpid/client/Connection.h>
 #include <qpid/client/Session.h>
 #include <qpid/client/Message.h>

Modified: 
incubator/qpid/trunk/qpid/cpp/examples/examples/pub-sub/topic_listener.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/examples/examples/pub-sub/topic_listener.cpp?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/examples/examples/pub-sub/topic_listener.cpp 
(original)
+++ incubator/qpid/trunk/qpid/cpp/examples/examples/pub-sub/topic_listener.cpp 
Mon Jun  9 13:55:09 2008
@@ -44,7 +44,6 @@
 #include <qpid/client/Session.h>
 #include <qpid/client/Message.h>
 #include <qpid/client/MessageListener.h>
-#include <qpid/client/Queue.h>
 #include <qpid/client/SubscriptionManager.h>
 
 #include <unistd.h>

Modified: 
incubator/qpid/trunk/qpid/cpp/examples/examples/request-response/client.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/examples/examples/request-response/client.cpp?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/examples/examples/request-response/client.cpp 
(original)
+++ incubator/qpid/trunk/qpid/cpp/examples/examples/request-response/client.cpp 
Mon Jun  9 13:55:09 2008
@@ -39,7 +39,7 @@
 
 
 #include <qpid/client/Connection.h>
-#include <qpid/client/Dispatcher.h>
+#include <qpid/client/SubscriptionManager.h>
 #include <qpid/client/Session.h>
 #include <qpid/client/Message.h>
 #include <qpid/client/MessageListener.h>
@@ -54,53 +54,25 @@
 using namespace qpid::framing;
 
 class Listener : public MessageListener{
-private:
-  Session session;
-  std::string destination_name;
-  Dispatcher dispatcher;
-  int counter;
-public:
-  Listener(Session& session, string destination_name): 
-    session(session),
-    destination_name(destination_name),
-    dispatcher(session),
-    counter(0)
-  {};
-
-  virtual void listen();
-  virtual void wait();
-  virtual void received(Message& message);
-  ~Listener() { };
+  private:
+    SubscriptionManager& subscriptions;
+    int counter;
+  public:
+    Listener(SubscriptionManager& subscriptions);
+    virtual void received(Message& message);
 };
 
-
-void Listener::listen() {
-  std::cout << "Activating response queue listener for: " <<destination_name 
<< std::endl;
-
-  session.messageSubscribe(arg::queue=destination_name, 
arg::destination=destination_name);
-
-  session.messageFlow(arg::destination=destination_name, 
arg::unit=MESSAGE_CREDIT, arg::value=1);
-  session.messageFlow(arg::destination=destination_name, 
arg::unit=BYTE_CREDIT, arg::value=UNLIMITED_CREDIT);
-
-
-  dispatcher.listen(destination_name, this);
-}
-
-
-void Listener::wait() {
-  std::cout << "Waiting for all responses to arrive ..." << std::endl;
-  dispatcher.run();
-}
-
+Listener::Listener(SubscriptionManager& subs) : subscriptions(subs), counter(0)
+{}
 
 void Listener::received(Message& message) {
-  std::cout << "Response: " << message.getData() << std::endl;
+    std::cout << "Response: " << message.getData() << std::endl;
 
-  ++ counter;
-  if (counter > 3) {
-      std::cout << "Shutting down listener for " << destination_name << 
std::endl;
-      dispatcher.stop();
-  }
+    ++ counter;
+    if (counter > 3) {
+        std::cout << "Shutting down listener for " << message.getDestination() 
<< std::endl;
+        subscriptions.cancel(message.getDestination());
+    }
 }
 
 
@@ -116,7 +88,7 @@
         connection.open(host, port);
         Session session =  connection.newSession();
 
-  //--------- Main body of program --------------------------------------------
+        //--------- Main body of program 
--------------------------------------------
 
        // Create a response queue so the server can send us responses
        // to our requests. Use the client's session ID as the name
@@ -130,45 +102,40 @@
        session.queueDeclare(arg::queue=response_queue.str());
         session.exchangeBind(arg::exchange="amq.direct", 
arg::queue=response_queue.str(), arg::bindingKey=response_queue.str());
 
-       // Create a listener for the response queue and start listening.
-
-       Listener listener(session, response_queue.str());
-       listener.listen();
-
-
-       // The routing key for the request queue is simply
-       // "request", and all clients use the same routing key.
-       //
        // Each client sends the name of their own response queue so
        // the service knows where to route messages.
 
        request.getDeliveryProperties().setRoutingKey("request");
        request.getMessageProperties().setReplyTo(ReplyTo("amq.direct", 
response_queue.str()));
 
+       // Create a listener for the response queue and listen for response 
messages.
+        std::cout << "Activating response queue listener for: " << 
response_queue.str() << std::endl;
+        SubscriptionManager subscriptions(session);
+        Listener listener(subscriptions);
+        subscriptions.subscribe(listener, response_queue.str());
+
        // Now send some requests ...
 
        string s[] = {
-               "Twas brillig, and the slithy toves",
-               "Did gire and gymble in the wabe.",
-               "All mimsy were the borogroves,",
-               "And the mome raths outgrabe."
+            "Twas brillig, and the slithy toves",
+            "Did gire and gymble in the wabe.",
+            "All mimsy were the borogroves,",
+            "And the mome raths outgrabe."
         };
 
 
        for (int i=0; i<4; i++) {
-         request.setData(s[i]);
-          // Asynchronous transfer sends messages as quickly as
-          // possible without waiting for confirmation.
-          async(session).messageTransfer(arg::content=request, 
arg::destination="amq.direct");
-         std::cout << "Request: " << s[i] << std::endl;
+            request.setData(s[i]);
+            // Asynchronous transfer sends messages as quickly as
+            // possible without waiting for confirmation.
+            async(session).messageTransfer(arg::content=request, 
arg::destination="amq.direct");
+            std::cout << "Request: " << s[i] << std::endl;
        }
 
-       // And wait for any outstanding responses to arrive
-
-       listener.wait();
-       
+        std::cout << "Waiting for all responses to arrive ..." << std::endl;
+       subscriptions.run();
 
-  
//-----------------------------------------------------------------------------
+        
//-----------------------------------------------------------------------------
 
         connection.close();
         return 0;

Modified: 
incubator/qpid/trunk/qpid/cpp/examples/examples/request-response/server.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/examples/examples/request-response/server.cpp?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/examples/examples/request-response/server.cpp 
(original)
+++ incubator/qpid/trunk/qpid/cpp/examples/examples/request-response/server.cpp 
Mon Jun  9 13:55:09 2008
@@ -39,8 +39,9 @@
 
 
 #include <qpid/client/Connection.h>
-#include <qpid/client/Dispatcher.h>
+#include <qpid/client/SubscriptionManager.h>
 #include <qpid/client/Session.h>
+#include <qpid/client/AsyncSession.h>
 #include <qpid/client/Message.h>
 #include <qpid/client/MessageListener.h>
 
@@ -59,102 +60,79 @@
 using std::string;
 
 class Listener : public MessageListener{
-private:
-  std::string destination_name;
-  Dispatcher dispatcher;
-  Session session;
-public:
-  Listener(Session& session, string destination_name): 
-    destination_name(destination_name),
-    dispatcher(session),
-    session(session)
-  {};
-
-  virtual void listen();
-  virtual void received(Message& message);
-  virtual void wait();
-  ~Listener() { };
+  private:
+    SubscriptionManager& subscriptions;
+    AsyncSession asyncSession;
+  public:
+    Listener(SubscriptionManager& subscriptions, Session& session);
+    virtual void received(Message& message);
 };
 
-
-void Listener::listen() {
-  std::cout << "Activating request queue listener for: " <<destination_name << 
std::endl;
-
-  session.messageSubscribe(arg::queue=destination_name, 
arg::destination=destination_name);
-
-  session.messageFlow(arg::destination=destination_name, 
arg::unit=MESSAGE_CREDIT, arg::value=1);
-  session.messageFlow(arg::destination=destination_name, 
arg::unit=BYTE_CREDIT, arg::value=UNLIMITED_CREDIT);
-
-  dispatcher.listen(destination_name, this);
-}
-
-
-void Listener::wait() {
-  std::cout << "Waiting for requests" << std::endl;
-  dispatcher.run();
-}
-
+Listener::Listener(SubscriptionManager& subs, Session& session)
+    : subscriptions(subs), asyncSession(session)
+{}
 
 void Listener::received(Message& request) {
+    Message response;
 
-  Message response;
-
-  // Get routing key for response from the request's replyTo property
+    // Get routing key for response from the request's replyTo property
+    string routingKey;
 
-  string routingKey;
-
-  if (request.getMessageProperties().hasReplyTo()) {
-    routingKey = request.getMessageProperties().getReplyTo().getRoutingKey();
-  } else {
-    std::cout << "Error: " << "No routing key for request (" << 
request.getData() << ")" << std::endl;
-    return;
-  } 
-
-  std::cout << "Request: " << request.getData() << "  (" <<routingKey << ")" 
<< std::endl;
-
-  // Transform message content to upper case
-  std::string s = request.getData();
-  std::transform (s.begin(), s.end(), s.begin(), toupper);
-  response.setData(s);
-
-  // Send it back to the user
-  response.getDeliveryProperties().setRoutingKey(routingKey);
-
-  // Asynchronous transfer sends messages as quickly as
-  // possible without waiting for confirmation.
-  async(session).messageTransfer(arg::content=response, 
arg::destination="amq.direct");
+    if (request.getMessageProperties().hasReplyTo()) {
+        routingKey = 
request.getMessageProperties().getReplyTo().getRoutingKey();
+    } else {
+        std::cout << "Error: " << "No routing key for request (" << 
request.getData() << ")" << std::endl;
+        return;
+    } 
+
+    std::cout << "Request: " << request.getData() << "  (" <<routingKey << ")" 
<< std::endl;
+
+    // Transform message content to upper case
+    std::string s = request.getData();
+    std::transform (s.begin(), s.end(), s.begin(), toupper);
+    response.setData(s);
+
+    // Send it back to the user
+    response.getDeliveryProperties().setRoutingKey(routingKey);
+
+    // Asynchronous transfer sends messages as quickly as
+    // possible without waiting for confirmation.
+    asyncSession.messageTransfer(arg::content=response, 
arg::destination="amq.direct");
 }
 
 
 int main(int argc, char** argv) {
     const char* host = argc>1 ? argv[1] : "127.0.0.1";
     int port = argc>2 ? atoi(argv[2]) : 5672;
-  Connection connection;
+    Connection connection;
     Message message;
     try {
         connection.open(host, port);
         Session session =  connection.newSession();
 
-  //--------- Main body of program --------------------------------------------
+        //--------- Main body of program 
--------------------------------------------
+
 
        // Create a request queue for clients to use when making
        // requests.
-
        string request_queue = "request";
 
         // Use the name of the request queue as the routing key
-
        session.queueDeclare(arg::queue=request_queue);
         session.exchangeBind(arg::exchange="amq.direct", 
arg::queue=request_queue, arg::bindingKey=request_queue);
 
-       // Create a listener for the request queue and start listening.
-
-       Listener listener(session, request_queue);
-       listener.listen();
-       listener.wait();
+        // Create a listener and subscribe it to the request_queue
+        std::cout << "Activating request queue listener for: " << 
request_queue << std::endl;
+        SubscriptionManager subscriptions(session);
+        Listener listener(subscriptions, session);
+        subscriptions.subscribe(listener, request_queue);
+        // Deliver messages until the subscription is cancelled
+        // by Listener::received()
 
+        std::cout << "Waiting for requests" << std::endl;
+        subscriptions.run();
 
-  
//-----------------------------------------------------------------------------
+        
//-----------------------------------------------------------------------------
 
         connection.close();
         return 0;

Modified: 
incubator/qpid/trunk/qpid/cpp/examples/examples/xml-exchange/listener.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/examples/examples/xml-exchange/listener.cpp?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/examples/examples/xml-exchange/listener.cpp 
(original)
+++ incubator/qpid/trunk/qpid/cpp/examples/examples/xml-exchange/listener.cpp 
Mon Jun  9 13:55:09 2008
@@ -24,7 +24,6 @@
  *  the broker using a message listener.
  */
 
-#include <qpid/client/Dispatcher.h>
 #include <qpid/client/Connection.h>
 #include <qpid/client/Session.h>
 #include <qpid/client/Message.h>

Modified: incubator/qpid/trunk/qpid/cpp/src/Makefile.am
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/Makefile.am?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/Makefile.am (original)
+++ incubator/qpid/trunk/qpid/cpp/src/Makefile.am Mon Jun  9 13:55:09 2008
@@ -321,14 +321,12 @@
   qpid/client/ConnectionSettings.cpp           \
   qpid/client/Demux.cpp                                \
   qpid/client/Dispatcher.cpp                   \
-  qpid/client/Exchange.cpp                     \
   qpid/client/Future.cpp                       \
   qpid/client/FutureCompletion.cpp             \
   qpid/client/FutureResult.cpp                 \
   qpid/client/LocalQueue.cpp                   \
   qpid/client/Message.cpp                      \
   qpid/client/MessageListener.cpp              \
-  qpid/client/Queue.cpp                                \
   qpid/client/Results.cpp                      \
   qpid/client/SessionBase_0_10.cpp             \
   qpid/client/SessionBase_0_10.h               \
@@ -444,7 +442,6 @@
   qpid/client/ChainableFrameHandler.h  \
   qpid/client/Demux.h \
   qpid/client/Dispatcher.h \
-  qpid/client/Exchange.h \
   qpid/client/Execution.h \
   qpid/client/Future.h \
   qpid/client/FutureCompletion.h \
@@ -453,7 +450,6 @@
   qpid/client/Message.h \
   qpid/client/MessageListener.h \
   qpid/client/MessageQueue.h \
-  qpid/client/Queue.h \
   qpid/client/Results.h \
   qpid/client/SessionBase_0_10.h \
   qpid/client/Session.h \

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/AckPolicy.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/AckPolicy.h?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/AckPolicy.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/AckPolicy.h Mon Jun  9 
13:55:09 2008
@@ -30,6 +30,7 @@
 
 /**
  * Policy for automatic acknowledgement of messages.
+ * 
  *
  * \ingroup clientapi
  */

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/Completion.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/Completion.h?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/Completion.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/Completion.h Mon Jun  9 
13:55:09 2008
@@ -30,9 +30,13 @@
 namespace client {
 
 /** 
- * Returned by asynchronous commands that do not return any result.
- * You can use this to wait for an individual command to complete.
- * \clientapi
+ * Asynchronous commands that do not return a result will return a
+ * Completion. You can use the completion to wait for that specific
+ * command to complete.
+ *
+ [EMAIL PROTECTED] TypedResult
+ *
+ *\ingroup clientapi
  */
 class Completion
 {
@@ -41,11 +45,17 @@
     shared_ptr<SessionImpl> session;
 
 public:
+    ///@internal
     Completion() {}
 
+    ///@internal
     Completion(Future f, shared_ptr<SessionImpl> s) : future(f), session(s) {}
 
-    /** Wait for the command to complete */
+    /** Wait for the asynchronous command that returned this
+     *Completion to complete.
+     *
+     [EMAIL PROTECTED] If the command returns an error, get() throws an 
exception.
+     */
     void wait()
     {
         future.wait(*session);

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/Connection.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/Connection.cpp?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/Connection.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/Connection.cpp Mon Jun  9 
13:55:09 2008
@@ -27,6 +27,7 @@
 #include "qpid/log/Options.h"
 #include "qpid/log/Statement.h"
 #include "qpid/shared_ptr.h"
+#include "qpid/framing/AMQP_HighestVersion.h"
 
 #include <algorithm>
 #include <iostream>
@@ -42,8 +43,7 @@
 namespace qpid {
 namespace client {
 
-Connection::Connection(framing::ProtocolVersion _version) : 
-    channelIdCounter(0), version(_version) {}
+Connection::Connection() : channelIdCounter(0), 
version(framing::highestProtocolVersion) {}
 
 Connection::~Connection(){ }
 

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/Connection.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/Connection.h?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/Connection.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/Connection.h Mon Jun  9 
13:55:09 2008
@@ -25,27 +25,16 @@
 #include <string>
 #include "ConnectionImpl.h"
 #include "qpid/client/Session.h"
-#include "qpid/framing/AMQP_HighestVersion.h"
 
 namespace qpid {
-
-/**
- * The client namespace contains all classes that make up a client
- * implementation of the AMQP protocol. The key classes that form
- * the basis of the client API to be used by applications are
- * Connection and Channel.
- */
 namespace client {
 
 class ConnectionSettings;
-/**
- * \defgroup clientapi Application API for an AMQP client.
- */
 
 /**
  * Represents a connection to an AMQP broker. All communication is
- * initiated by establishing a connection, then opening one or
- * more Channels over that connection.
+ * initiated by establishing a connection, then creating one or more
+ * Session objecst using the connection. @see newSession()
  * 
  * \ingroup clientapi
  */
@@ -60,12 +49,10 @@
 
   public:
     /**
-     * Creates a connection object, but does not open the
-     * connection.  
-     * 
-     * @param _version the version of the protocol to connect with.
+     * Creates a connection object, but does not open the connection.
+     * @see open()
      */
-    Connection(framing::ProtocolVersion=framing::highestProtocolVersion);
+    Connection();
     ~Connection();
 
     /**

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/Connector.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/Connector.h?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/Connector.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/Connector.h Mon Jun  9 
13:55:09 2008
@@ -48,6 +48,7 @@
 class ConnectionSettings;
 class ConnectionImpl;
 
+///@internal
 class Connector : public framing::OutputHandler, 
                   private sys::Runnable
 {

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/Demux.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/Demux.h?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/Demux.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/Demux.h Mon Jun  9 13:55:09 
2008
@@ -32,6 +32,7 @@
 namespace qpid {
 namespace client {
 
+///@internal
 class ByTransferDest
 {
     const std::string dest;
@@ -40,6 +41,7 @@
     bool operator()(const framing::FrameSet& frameset) const;
 };
 
+///@internal
 class Demux
 {
 public:

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/Dispatcher.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/Dispatcher.h?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/Dispatcher.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/Dispatcher.h Mon Jun  9 
13:55:09 2008
@@ -35,6 +35,7 @@
 namespace qpid {
 namespace client {
 
+///@internal
 class Subscriber : public MessageListener
 {
     AsyncSession session;
@@ -48,8 +49,10 @@
     
 };
 
+///@internal
 typedef framing::Handler<framing::FrameSet> FrameSetHandler;
 
+///@internal
 class Dispatcher : public sys::Runnable
 {
     typedef std::map<std::string, Subscriber::shared_ptr> Listeners;

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/Execution.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/Execution.h?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/Execution.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/Execution.h Mon Jun  9 
13:55:09 2008
@@ -27,7 +27,8 @@
 namespace qpid {
 namespace client {
 
-/**
+/[EMAIL PROTECTED]
+ * 
  * Provides access to more detailed aspects of the session
  * implementation.
  */

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/Future.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/Future.h?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/Future.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/Future.h Mon Jun  9 13:55:09 
2008
@@ -34,6 +34,7 @@
 namespace qpid {
 namespace client {
 
+/[EMAIL PROTECTED] */
 class Future : private framing::StructHelper
 {
     framing::SequenceNumber command;

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/FutureCompletion.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/FutureCompletion.h?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/FutureCompletion.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/FutureCompletion.h Mon Jun  9 
13:55:09 2008
@@ -28,6 +28,7 @@
 namespace qpid {
 namespace client {
 
+///@internal
 class FutureCompletion 
 {
 protected:

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/FutureResult.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/FutureResult.h?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/FutureResult.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/FutureResult.h Mon Jun  9 
13:55:09 2008
@@ -31,6 +31,7 @@
 
 class SessionImpl;
 
+///@internal
 class FutureResult : public FutureCompletion 
 {
     std::string result;

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.h?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.h Mon Jun  9 
13:55:09 2008
@@ -30,23 +30,45 @@
 namespace client {
 
 /**
- * Local representation of a remote queue.
+ * A local queue to collect messages retrieved from a remote broker
+ * queue. Create a queue and subscribe it using the SubscriptionManager.
+ * Messages from the remote queue on the broker will be stored in the
+ * local queue until you retrieve them.
  *
  * \ingroup clientapi
  */
 class LocalQueue
 {
   public:
-    LocalQueue(AckPolicy=AckPolicy());
+    /** Create a local queue. Subscribe the local queue to a remote broker
+     * queue with a SubscriptionManager.
+     * 
+     * LocalQueue is an alternative to implementing a MessageListener.
+     * 
+     [EMAIL PROTECTED] ackPolicy Policy for acknowledging messages. @see 
AckPolicy.
+     */
+    LocalQueue(AckPolicy ackPolicy=AckPolicy());
+
     ~LocalQueue();
 
-    /** Pop the next message off the queue.
+    /** Pop the next message off the local queue.
      [EMAIL PROTECTED] ClosedException if subscription has been closed.
      */
     Message pop();
+
+    /** Synonym for get(). */
+    Message get() { return pop(); }
+    
+    /** Return true if local queue is empty. */
     bool empty() const;
+
+    /** Number of messages on the local queue */
     size_t size() const;
+
+    /** Set the message acknowledgement policy. @see AckPolicy. */
     void setAckPolicy(AckPolicy);
+
+    /** Get the message acknowledgement policy. @see AckPolicy. */
     AckPolicy& getAckPolicy();
 
   private:

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/Message.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/Message.cpp?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/Message.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/Message.cpp Mon Jun  9 
13:55:09 2008
@@ -24,45 +24,50 @@
 namespace qpid {
 namespace client {
 
-    Message::Message(const std::string& data_,
-                     const std::string& routingKey,
-                     const std::string& exchange) : TransferContent(data_, 
routingKey, exchange) {}
-
-    std::string Message::getDestination() const 
-    { 
-        return method.getDestination(); 
-    }
-
-    bool Message::isRedelivered() const 
-    { 
-        return hasDeliveryProperties() && 
getDeliveryProperties().getRedelivered(); 
-    }
-
-    void Message::setRedelivered(bool redelivered) 
-    { 
-        getDeliveryProperties().setRedelivered(redelivered); 
-    }
-
-    framing::FieldTable& Message::getHeaders() 
-    { 
-        return getMessageProperties().getApplicationHeaders(); 
-    }
-
-    const framing::MessageTransferBody& Message::getMethod() const
-    {
-        return method;
-    }
-
-    const framing::SequenceNumber& Message::getId() const
-    {
-        return id;
-    }
-
-    /[EMAIL PROTECTED] for incoming messages */
-    Message::Message(const framing::FrameSet& frameset) :
-        method(*frameset.as<framing::MessageTransferBody>()), 
id(frameset.getId())
-    {
-        populate(frameset);
-    }
+Message::Message(const std::string& data_,
+                 const std::string& routingKey,
+                 const std::string& exchange) : TransferContent(data_, 
routingKey, exchange) {}
+
+std::string Message::getDestination() const 
+{ 
+    return method.getDestination(); 
+}
+
+bool Message::isRedelivered() const 
+{ 
+    return hasDeliveryProperties() && 
getDeliveryProperties().getRedelivered(); 
+}
+
+void Message::setRedelivered(bool redelivered) 
+{ 
+    getDeliveryProperties().setRedelivered(redelivered); 
+}
+
+framing::FieldTable& Message::getHeaders() 
+{ 
+    return getMessageProperties().getApplicationHeaders(); 
+}
+
+const framing::FieldTable& Message::getHeaders() const
+{ 
+    return getMessageProperties().getApplicationHeaders(); 
+}
+
+const framing::MessageTransferBody& Message::getMethod() const
+{
+    return method;
+}
+
+const framing::SequenceNumber& Message::getId() const
+{
+    return id;
+}
+
+/[EMAIL PROTECTED] for incoming messages */
+Message::Message(const framing::FrameSet& frameset) :
+    method(*frameset.as<framing::MessageTransferBody>()), id(frameset.getId())
+{
+    populate(frameset);
+}
 
 }}

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/Message.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/Message.h?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/Message.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/Message.h Mon Jun  9 13:55:09 
2008
@@ -30,26 +30,48 @@
 namespace client {
 
 /**
- * A representation of messages sent or received through the
- * client api.
+ * A message sent to or received from the broker.
  *
  * \ingroup clientapi
  */
 class Message : public framing::TransferContent 
 {
 public:
+    /** Create a Message.
+     [EMAIL PROTECTED] data Data for the message body.
+     [EMAIL PROTECTED] routingKey Passed to the exchange that routes the 
message.
+     [EMAIL PROTECTED] exchange Name of the exchange that should route the 
message.
+     */
     Message(const std::string& data=std::string(),
             const std::string& routingKey=std::string(),
             const std::string& exchange=std::string());
+
+    /** The destination of messages sent to the broker is the exchange
+     * name.  The destination of messages received from the broker is
+     * the delivery tag identifyig the local subscription (often this
+     * is the name of the subscribed queue.)
+     */
     std::string getDestination() const;
+
+    /** Check the redelivered flag. */
     bool isRedelivered() const;
+    /** Set the redelivered flag. */
     void setRedelivered(bool redelivered);
+
+    /** Get a modifyable reference to the message headers. */
     framing::FieldTable& getHeaders();
+
+    /** Get a non-modifyable reference to the message headers. */
+    const framing::FieldTable& getHeaders() const;
+
+    ///@internal
     const framing::MessageTransferBody& getMethod() const;
+    ///@internal
     const framing::SequenceNumber& getId() const;
 
     /[EMAIL PROTECTED] for incoming messages */
     Message(const framing::FrameSet& frameset);
+    
 private:
     //method and id are only set for received messages:
     framing::MessageTransferBody method;

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/MessageListener.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/MessageListener.h?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/MessageListener.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/MessageListener.h Mon Jun  9 
13:55:09 2008
@@ -29,16 +29,20 @@
 namespace client {
 
     /**
-     * An interface through which asynchronously delivered messages
-     * can be received by an application. 
-     * 
-     * @see Channel::consume()
+     * Implement a subclass of MessageListener and subscribe it using
+     * the SubscriptionManager to receive messages.
+     *
+     * Another way to receive messages is by using a LocalQueue.
      * 
      * \ingroup clientapi
      */
     class MessageListener{
     public:
         virtual ~MessageListener();
+
+        /** Called for each message arriving from the broker. Override
+         * in your own subclass to process messages.
+         */
        virtual void received(Message& msg) = 0;
     };
 

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/Results.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/Results.h?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/Results.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/Results.h Mon Jun  9 13:55:09 
2008
@@ -31,6 +31,7 @@
 
 class FutureResult;
 
+///@internal
 class Results
 {
 public:

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionBase_0_10.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionBase_0_10.h?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionBase_0_10.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionBase_0_10.h Mon Jun  9 
13:55:09 2008
@@ -48,6 +48,7 @@
 using qpid::SessionId;
 using framing::Xid;
 
+/** Unit of message credit: messages or bytes */
 enum CreditUnit { MESSAGE_CREDIT=0, BYTE_CREDIT=1, UNLIMITED_CREDIT=0xFFFFFFFF 
};
 
 /**
@@ -61,6 +62,7 @@
     
     typedef framing::TransferContent DefaultContent;
 
+    ///@internal
     SessionBase_0_10();
     ~SessionBase_0_10();
 

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionImpl.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionImpl.h?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionImpl.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/SessionImpl.h Mon Jun  9 
13:55:09 2008
@@ -53,6 +53,7 @@
 class Future;
 class ConnectionImpl;
 
+///@internal
 class SessionImpl : public framing::FrameHandler::InOutHandler,
                     public Execution,
                     private framing::AMQP_ClientOperations::SessionHandler,

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/StateManager.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/StateManager.h?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/StateManager.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/StateManager.h Mon Jun  9 
13:55:09 2008
@@ -27,6 +27,7 @@
 namespace qpid {
 namespace client {
 
+///@internal
 class StateManager
 {
     int state;

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.h?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.h 
(original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.h Mon Jun 
 9 13:55:09 2008
@@ -36,7 +36,10 @@
 namespace client {
 
 /**
- * Utility to assist with creating subscriptions.
+ * A class to help create and manage subscriptions.
+ * 
+ * Set up your subscriptions, then call run() to have messages
+ * delivered.
  *  
  * \ingroup clientapi
  */
@@ -58,10 +61,14 @@
     bool autoStop;
     
   public:
+    /** Create a new SubscriptionManager associated with a session */
     SubscriptionManager(const Session& session);
     
     /**
      * Subscribe a MessagesListener to receive messages from queue.
+     *
+     * Provide your own subclass of MessagesListener to process
+     * incoming messages. It will be called for each message received.
      * 
      [EMAIL PROTECTED] listener Listener object to receive messages.
      [EMAIL PROTECTED] queue Name of the queue to subscribe to.
@@ -69,12 +76,14 @@
      * If not specified, the queue name is used.
      */
     void subscribe(MessageListener& listener,
-                         const std::string& queue,
-                         const std::string& tag=std::string());
+                   const std::string& queue,
+                   const std::string& tag=std::string());
 
     /**
      * Subscribe a LocalQueue to receive messages from queue.
      * 
+     * Incoming messages are stored in the queue for you to retrieve.
+     * 
      [EMAIL PROTECTED] queue Name of the queue to subscribe to.
      [EMAIL PROTECTED] tag Unique destination tag for the listener.
      * If not specified, the queue name is used.

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/TypedResult.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/TypedResult.h?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/TypedResult.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/TypedResult.h Mon Jun  9 
13:55:09 2008
@@ -30,7 +30,7 @@
 /**
  * Returned by asynchronous commands that return a result.
  * You can use get() to wait for completion and get the result value.
- * \clientapi
+ * \ingroup clientapi
  */
 template <class T> class TypedResult : public Completion
 {
@@ -38,9 +38,17 @@
     bool decoded;
 
 public:
+    ///@internal
     TypedResult(Future f, shared_ptr<SessionImpl> s) : Completion(f, s), 
decoded(false) {}
 
-    /** Wait for command to complete and return the result */
+    /**
+     * Wait for the asynchronous command that returned this TypedResult to 
complete
+     * and return its result.
+     * 
+     [EMAIL PROTECTED] The result returned by the command.
+     [EMAIL PROTECTED] If the command returns an error, get() throws an 
exception.
+     *
+     */
     T& get() 
     {
         if (!decoded) {

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/doxygen_mainpage.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/doxygen_mainpage.h?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/doxygen_mainpage.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/doxygen_mainpage.h Mon Jun  9 
13:55:09 2008
@@ -1,45 +1,28 @@
 // This header file is just for doxygen documentation purposes.
 
-/*!\mainpage Qpid C++ Developer Kit.
+/** \mainpage Qpid C++ Developer Kit.
  *
- *\section intro_sec Introduction
- *
- * The <a href=http://incubator.apache.org/qpid/index.html>Qpid project</a> 
provides implementations of the <a href="http://amqp.org/";>AMQP messaging 
specification</a> in several programming language.
- * 
- * Qpidc provides APIs and libraries to implement AMQP
- * clients in C++. Qpidc clients can interact with any compliant AMQP
- * message broker. The Qpid project also provides an AMQP broker
- * daemon called qpidd that you can use with your qpidc clients.
- *
- *\section install_sec Installation
- *
- * If you are installing from the source distribution
- <pre>
-   > ./configure && make
-   > make install  </pre>
- * This will build and install the client development kit and the broker
- * in standard places. Use
- * <code>./configure --help</code> for more options.
+ * The <a href=http://incubator.apache.org/qpid>Qpid project</a> provides 
implementations of the <a href="http://amqp.org/";>AMQP messaging 
specification</a> in several programming language.
  * 
- * You can also install from RPMs with the <code>rpm -i</code> command.
- * You will need
- *  - <code>qpidc</code> for core libraries.
- *  - <code>qpidc-devel</code> for header files and developer documentation.
- *  - <code>qpidd</code> for the broker daemon.
+ * Qpidc provides APIs and libraries to implement AMQP clients in
+ * C++. Qpidc clients can interact with any compliant AMQP message
+ * broker. The Qpid project also provides an AMQP broker daemon called
+ * qpidd that you can use with your qpidc clients.
  *
- *\section getstart_sec Getting Started
- * 
- * If you have installed in the standard places you should use
- * these compile flags:
- * 
- *<code>  -I/usr/include/qpidc -I/usr/include/qpidc/framing 
-I/usr/include/qpidc/sys</code>
+ * See the \ref clientapi "client API reference" to get started.
  *
- * and these link flags:
- * 
- *<code>  -lqpidcommon -lqpidclient</code>
- *
- * If you have installed somewhere else you should modify the flags
- * appropriately.
+ */
+
+
+/**
+ * \defgroup clientapi Application API for an AMQP client.
  *
- * See the \ref clientapi "client API module" for more on the client API. 
+ * A typical client takes the following steps:
+ *  - Connect to the broker using qpid::client::Connection::open()
+ *  - Create a qpid::client::Session object.
+ *  
+ * Once a session is created the client can work with the broker:
+ *  - Create and bind queues using the qpid::client::Session commands.
+ *  - Send messages using qpid::client::Session::messageTransfer.
+ *  - Subscribe to queues using qpid::client::SubscriptionManager
  */

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/framing/TransferContent.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/framing/TransferContent.h?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/framing/TransferContent.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/framing/TransferContent.h Mon Jun  9 
13:55:09 2008
@@ -30,6 +30,7 @@
 namespace qpid {
 namespace framing {
 
+/** Message content */
 class TransferContent : public MethodContent
 {
     AMQHeaderBody header;
@@ -39,19 +40,24 @@
                     const std::string& routingKey = std::string(),
                     const std::string& exchange = std::string());
 
+    ///@internal
     AMQHeaderBody getHeader() const;
-    void setData(const std::string&);
-    void appendData(const std::string&);
-    MessageProperties& getMessageProperties();
-    DeliveryProperties& getDeliveryProperties();
 
+    void setData(const std::string&);
     const std::string& getData() const;
     std::string& getData();
-    const MessageProperties& getMessageProperties() const;
-    const DeliveryProperties& getDeliveryProperties() const;
+
+    void appendData(const std::string&);
+
     bool hasMessageProperties() const;
+    MessageProperties& getMessageProperties();
+    const MessageProperties& getMessageProperties() const;
+
     bool hasDeliveryProperties() const;
+    DeliveryProperties& getDeliveryProperties();
+    const DeliveryProperties& getDeliveryProperties() const;
 
+    ///@internal
     void populate(const FrameSet& frameset);
 };
 

Modified: incubator/qpid/trunk/qpid/cpp/src/tests/FramingTest.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/tests/FramingTest.cpp?rev=665891&r1=665890&r2=665891&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/tests/FramingTest.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/tests/FramingTest.cpp Mon Jun  9 13:55:09 
2008
@@ -18,8 +18,6 @@
  * under the License.
  *
  */
-#include "qpid/client/Exchange.h"
-#include "qpid/client/Queue.h"
 #include "qpid/client/Connection.h"
 #include "qpid/client/Connector.h"
 #include "qpid/framing/AMQP_HighestVersion.h"


Reply via email to