summaryrefslogtreecommitdiff
path: root/cpp/lib/client/ClientQueue.h
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2006-12-13 17:15:01 +0000
committerGordon Sim <gsim@apache.org>2006-12-13 17:15:01 +0000
commit346760b8e03bb50c1704d9e7e762fa4f5a284fb6 (patch)
tree0271c7fc7d0799f7ecf80b362512b68cb2c5eeec /cpp/lib/client/ClientQueue.h
parent9b87937e2657848cd8497bda70266e38dc8c0f90 (diff)
downloadqpid-python-346760b8e03bb50c1704d9e7e762fa4f5a284fb6.tar.gz
Added some doxygen comments for the client API.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@486747 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/lib/client/ClientQueue.h')
-rw-r--r--cpp/lib/client/ClientQueue.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/cpp/lib/client/ClientQueue.h b/cpp/lib/client/ClientQueue.h
index df7235e4ab..037856ecd2 100644
--- a/cpp/lib/client/ClientQueue.h
+++ b/cpp/lib/client/ClientQueue.h
@@ -26,6 +26,31 @@
namespace qpid {
namespace client {
+ /**
+ * A 'handle' used to represent an AMQP queue in the Channel
+ * methods. Creating an instance of this class does not cause the
+ * queue to be created on the broker. Rather, an instance of this
+ * class should be passed to Channel::declareQueue() to ensure
+ * that the queue exists or is created.
+ *
+ * Queues hold messages and allow clients to consume
+ * (see Channel::consume()) or get (see Channel::get()) those messags. A
+ * queue receives messages by being bound to one or more Exchange;
+ * messages published to that exchange may then be routed to the
+ * queue based on the details of the binding and the type of the
+ * exchange (see Channel::bind()).
+ *
+ * Queues are identified by a name. They can be exclusive (in which
+ * case they can only be used in the context of the connection
+ * over which they were declared, and are deleted when then
+ * connection closes), or they can be shared. Shared queues can be
+ * auto deleted when they have no consumers.
+ *
+ * We use the term 'temporary queue' to refer to an exclusive
+ * queue.
+ *
+ * \ingroup clientapi
+ */
class Queue{
std::string name;
const bool autodelete;
@@ -33,9 +58,35 @@ namespace client {
public:
+ /**
+ * Creates an unnamed, temporary queue. A name will be
+ * assigned to this queue instance by a call to
+ * Channel::declareQueue().
+ */
Queue();
+ /**
+ * Creates a shared queue with a given name, that will not be
+ * autodeleted.
+ *
+ * @param name the name of the queue
+ */
Queue(std::string name);
+ /**
+ * Creates a queue with a given name.
+ *
+ * @param name the name of the queue
+ *
+ * @param temp if true the queue will be a temporary queue, if
+ * false it will be shared and not autodeleted.
+ */
Queue(std::string name, bool temp);
+ /**
+ * This constructor allows the autodelete and exclusive
+ * propeties to be explictly set. Note however that if
+ * exclusive is true, autodelete has no meaning as exclusive
+ * queues are always destroyed when the connection that
+ * created them is closed.
+ */
Queue(std::string name, bool autodelete, bool exclusive);
const std::string& getName() const;
void setName(const std::string&);