summaryrefslogtreecommitdiff
path: root/qpid/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
commit036527ef6d2460d13b29857f34a0e0c91814246a (patch)
treef6e9ba4d794368d5fbfb1bf66db14ba60908532b /qpid/cpp/lib/client/ClientQueue.h
parent2b03d1a8dce5bc9d7d6baa19497554764f03721b (diff)
downloadqpid-python-036527ef6d2460d13b29857f34a0e0c91814246a.tar.gz
Added some doxygen comments for the client API.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@486747 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/lib/client/ClientQueue.h')
-rw-r--r--qpid/cpp/lib/client/ClientQueue.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/qpid/cpp/lib/client/ClientQueue.h b/qpid/cpp/lib/client/ClientQueue.h
index df7235e4ab..037856ecd2 100644
--- a/qpid/cpp/lib/client/ClientQueue.h
+++ b/qpid/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&);