summaryrefslogtreecommitdiff
path: root/cpp/docs/api/doxygen_mainpage.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/docs/api/doxygen_mainpage.h')
-rw-r--r--cpp/docs/api/doxygen_mainpage.h133
1 files changed, 133 insertions, 0 deletions
diff --git a/cpp/docs/api/doxygen_mainpage.h b/cpp/docs/api/doxygen_mainpage.h
new file mode 100644
index 0000000000..83efaba31d
--- /dev/null
+++ b/cpp/docs/api/doxygen_mainpage.h
@@ -0,0 +1,133 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+// This header file is just for doxygen documentation purposes.
+
+/** \mainpage Qpid C++ API Reference
+ *
+ * <h2>Messaging Client API classes</h2>
+ * <ul>
+ * <li><p>\ref clientapi</p></li>
+ * <li><p>\ref qmfapi</p></li>
+ * </ul>
+ *
+ * <h2>Code for common tasks</h2>
+ *
+ * <ul><li><p>Includes and Namespaces</p>
+ * <pre> \#include <qpid/client/Connection.h>
+ * \#include <qpid/client/Session.h>
+ * \#include <qpid/client/Message.h>
+ * \#include <qpid/client/SubscriptionManager.h>
+ *
+ *
+ * using namespace qpid::client;
+ * using namespace qpid::framing;</pre></li>
+ *
+ * <li><p>Opening and closing connections and sessions</p>
+ * <pre> Connection connection;
+ * try {
+ * connection.open(host, port);
+ * Session session = connection.newSession();
+ * ...
+ * connection.close();
+ * return 0;
+ * } catch(const std::exception& error) {
+ * std::cout << error.what() << std::endl;
+ * }
+ * return 1;</pre>
+ *
+ *
+ * <li><p>Declaring and binding queues:</p>
+ *
+ * <pre> session.queueDeclare(arg::queue="message_queue");
+ * session.exchangeBind(arg::exchange="amq.direct", arg::queue="message_queue", arg::bindingKey="routing_key");</pre></li>
+ *
+ * <li><p>Sending a message:</p>
+ *
+ * <pre> message.getDeliveryProperties().setRoutingKey("routing_key");
+ * message.setData("Hi, Mom!");
+ * session.messageTransfer(arg::content=message, arg::destination="amq.direct");</pre></li>
+ *
+ * <li><p>Sending a message (asynchronous):</p>
+ *
+ * <pre> ##include <qpid/client/AsyncSession.h>
+ * async(session).messageTransfer(arg::content=message, arg::destination="amq.direct");
+ * ...
+ * session.sync();</pre></li>
+ *
+ *
+ * <li><p>Replying to a message:</p>
+ * <pre> Message request, response;
+ * ...
+ * if (request.getMessageProperties().hasReplyTo()) {
+ * string routingKey = request.getMessageProperties().getReplyTo().getRoutingKey();
+ * string exchange = request.getMessageProperties().getReplyTo().getExchange();
+ * response.getDeliveryProperties().setRoutingKey(routingKey);
+ * messageTransfer(arg::content=response, arg::destination=exchange);
+ * }
+ * </pre></li>
+ *
+ * <li><p>A message listener:</p>
+ *
+ * <pre> class Listener : public MessageListener{
+ * private:
+ * SubscriptionManager& subscriptions;
+ * public:
+ * Listener(SubscriptionManager& subscriptions);
+ * virtual void received(Message& message);
+ * };
+ *
+ * void Listener::received(Message& message) {
+ * std::cout << "Message: " << message.getData() << std::endl;
+ * if (endCondition(message)) {
+ * subscriptions.cancel(message.getDestination());
+ * }
+ * }</pre></li>
+ *
+ * <li><p>Using a message listener with a subscription manager:</p>
+ *
+ * <pre> SubscriptionManager subscriptions(session);
+ *
+ * Listener listener(subscriptions);
+ * subscriptions.subscribe(listener, "message_queue");
+ * subscriptions.run();</pre></li>
+ *
+ * <li><p>Using a LocalQueue with a subscription manager</p>
+ *
+ * <pre> SubscriptionManager subscriptions(session);
+ *
+ * LocalQueue local_queue;
+ * subscriptions.subscribe(local_queue, string("message_queue"));
+ *
+ * Message message;
+ * for (int i=0; i<10; i++) {
+ * local_queue.get(message, 10000);
+ * std::cout << message.getData() << std::endl;
+ * }</pre></li><ul>
+ *
+ *
+ */
+
+/**
+ * \defgroup clientapi Qpid C++ Client API
+ * \defgroup qmfapi Qpid Management Framework C++ API
+ *
+ */