summaryrefslogtreecommitdiff
path: root/cpp/lib
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2007-01-05 00:52:33 +0000
committerAlan Conway <aconway@apache.org>2007-01-05 00:52:33 +0000
commite614b63e6703b98407129deb3e4e533de868ef30 (patch)
tree2447ad354b9d180f843a51ee6cdd0a54819bcd32 /cpp/lib
parent04f454c9c580a7ad77698e7e4a7e8ce25e59b14f (diff)
downloadqpid-python-e614b63e6703b98407129deb3e4e533de868ef30.tar.gz
0-9 branch now compiles but is not yet functional.
Areas needing attention are marked FIXME. It includes both 0-8 Basic etc. classes 0-9 Message claasses, 0-8 classes cannot be removed till 0-9 Message is ready to replace them. Summary of fixes: - added 0-9 methods to SessionHandlerImpl.h, no implementation yet. - added missing framing::Content methods - unimplemented methods do { assert(0); // FIXME git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@492840 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/lib')
-rw-r--r--cpp/lib/broker/SessionHandlerImpl.cpp65
-rw-r--r--cpp/lib/broker/SessionHandlerImpl.h29
-rw-r--r--cpp/lib/common/framing/FramingContent.cpp30
-rw-r--r--cpp/lib/common/framing/FramingContent.h27
4 files changed, 108 insertions, 43 deletions
diff --git a/cpp/lib/broker/SessionHandlerImpl.cpp b/cpp/lib/broker/SessionHandlerImpl.cpp
index 9131060b81..d0971c4fae 100644
--- a/cpp/lib/broker/SessionHandlerImpl.cpp
+++ b/cpp/lib/broker/SessionHandlerImpl.cpp
@@ -217,9 +217,13 @@ void SessionHandlerImpl::ConnectionHandlerImpl::closeOk(u_int16_t /*channel*/){
void SessionHandlerImpl::ChannelHandlerImpl::open(u_int16_t channel, const string& /*outOfBand*/){
- parent->channels[channel] = new Channel(parent->client->getProtocolVersion() , parent->context, channel, parent->framemax,
- parent->queues->getStore(), parent->settings.stagingThreshold);
- parent->client->getChannel().openOk(channel);
+ parent->channels[channel] = new Channel(
+ parent->client->getProtocolVersion() , parent->context, channel,
+ parent->framemax, parent->queues->getStore(),
+ parent->settings.stagingThreshold);
+
+ // FIXME aconway 2007-01-04: provide valid channel Id as per ampq 0-9
+ parent->client->getChannel().openOk(channel, std::string()/* ID */);
}
void SessionHandlerImpl::ChannelHandlerImpl::flow(u_int16_t /*channel*/, bool /*active*/){}
@@ -262,7 +266,21 @@ void SessionHandlerImpl::ExchangeHandlerImpl::declare(u_int16_t channel, u_int16
if(!nowait){
parent->client->getExchange().declareOk(channel);
}
-}
+}
+
+
+void SessionHandlerImpl::ExchangeHandlerImpl::unbind(
+ u_int16_t /*channel*/,
+ u_int16_t /*ticket*/,
+ const string& /*queue*/,
+ const string& /*exchange*/,
+ const string& /*routingKey*/,
+ const qpid::framing::FieldTable& /*arguments*/ )
+{
+ assert(0); // FIXME aconway 2007-01-04: 0-9 feature
+}
+
+
void SessionHandlerImpl::ExchangeHandlerImpl::delete_(u_int16_t channel, u_int16_t /*ticket*/,
const string& exchange, bool /*ifUnused*/, bool nowait){
@@ -453,3 +471,42 @@ void SessionHandlerImpl::TxHandlerImpl::rollback(u_int16_t channel){
parent->getChannel(channel)->recover(false);
}
+void
+SessionHandlerImpl::QueueHandlerImpl::unbind(
+ u_int16_t /*channel*/,
+ u_int16_t /*ticket*/,
+ const string& /*queue*/,
+ const string& /*exchange*/,
+ const string& /*routingKey*/,
+ const qpid::framing::FieldTable& /*arguments*/ )
+{
+ assert(0); // FIXME aconway 2007-01-04: 0-9 feature
+}
+
+void
+SessionHandlerImpl::ChannelHandlerImpl::ok( u_int16_t /*channel*/ )
+{
+ assert(0); // FIXME aconway 2007-01-04: 0-9 feature
+}
+
+void
+SessionHandlerImpl::ChannelHandlerImpl::ping( u_int16_t /*channel*/ )
+{
+ assert(0); // FIXME aconway 2007-01-04: 0-9 feature
+}
+
+void
+SessionHandlerImpl::ChannelHandlerImpl::pong( u_int16_t /*channel*/ )
+{
+ assert(0); // FIXME aconway 2007-01-04: 0-9 feature
+}
+
+void
+SessionHandlerImpl::ChannelHandlerImpl::resume(
+ u_int16_t /*channel*/,
+ const string& /*channelId*/ )
+{
+ assert(0); // FIXME aconway 2007-01-04: 0-9 feature
+}
+
+
diff --git a/cpp/lib/broker/SessionHandlerImpl.h b/cpp/lib/broker/SessionHandlerImpl.h
index cdfccead27..c4ce9e7fd0 100644
--- a/cpp/lib/broker/SessionHandlerImpl.h
+++ b/cpp/lib/broker/SessionHandlerImpl.h
@@ -157,7 +157,15 @@ class SessionHandlerImpl : public virtual qpid::sys::SessionHandler,
virtual void flowOk(u_int16_t channel, bool active);
- // Change to match new code generator function signature (adding const to string&) - kpvdr 2006-11-20
+ virtual void ok( u_int16_t channel );
+
+ virtual void ping( u_int16_t channel );
+
+ virtual void pong( u_int16_t channel );
+
+ virtual void resume( u_int16_t channel,
+ const string& channelId );
+
virtual void close(u_int16_t channel, u_int16_t replyCode, const string& replyText,
u_int16_t classId, u_int16_t methodId);
@@ -175,9 +183,15 @@ class SessionHandlerImpl : public virtual qpid::sys::SessionHandler,
bool passive, bool durable, bool autoDelete, bool internal, bool nowait,
const qpid::framing::FieldTable& arguments);
- // Change to match new code generator function signature (adding const to string&) - kpvdr 2006-11-20
virtual void delete_(u_int16_t channel, u_int16_t ticket, const string& exchange, bool ifUnused, bool nowait);
+ virtual void unbind(u_int16_t channel,
+ u_int16_t ticket,
+ const string& queue,
+ const string& exchange,
+ const string& routingKey,
+ const qpid::framing::FieldTable& arguments );
+
virtual ~ExchangeHandlerImpl(){}
};
@@ -195,6 +209,13 @@ class SessionHandlerImpl : public virtual qpid::sys::SessionHandler,
const string& exchange, const string& routingKey, bool nowait,
const qpid::framing::FieldTable& arguments);
+ virtual void unbind(u_int16_t channel,
+ u_int16_t ticket,
+ const string& queue,
+ const string& exchange,
+ const string& routingKey,
+ const qpid::framing::FieldTable& arguments );
+
virtual void purge(u_int16_t channel, u_int16_t ticket, const string& queue,
bool nowait);
@@ -258,7 +279,9 @@ class SessionHandlerImpl : public virtual qpid::sys::SessionHandler,
inline virtual DtxHandler* getDtxHandler(){ throw ConnectionException(540, "Dtx class not implemented"); }
inline virtual TunnelHandler* getTunnelHandler(){ throw ConnectionException(540, "Tunnel class not implemented"); }
- // FIXME aconway 2007-01-04: what's this about?
+ virtual AMQP_ServerOperations::MessageHandler* getMessageHandler(){ throw ConnectionException(540, "Message class not implemented"); }
+
+ // FIXME aconway 2007-01-04: Remove?
// Temporary add-in to resolve version conflicts: AMQP v8.0 still defines class Test;
// however v0.9 will not - kpvdr 2006-11-17
// inline virtual TestHandler* getTestHandler(){ throw ConnectionException(540, "Test class not implemented"); }
diff --git a/cpp/lib/common/framing/FramingContent.cpp b/cpp/lib/common/framing/FramingContent.cpp
index e5f50b5075..70c56e1fdd 100644
--- a/cpp/lib/common/framing/FramingContent.cpp
+++ b/cpp/lib/common/framing/FramingContent.cpp
@@ -18,24 +18,30 @@
* under the License.
*
*/
-#include <Buffer.h>
-#include <FramingContent.h>
+#include <assert.h>
-namespace qpid
-{
-namespace framing
-{
+#include "Buffer.h"
+#include "FramingContent.h"
+
+namespace qpid {
+namespace framing {
Content::~Content() {}
-void Content::encode(Buffer&) const
-{
+void Content::encode(Buffer&) const {
+ assert(0); // FIXME aconway 2007-01-04: 0-9 feature
+}
+
+void Content::decode(Buffer&) {
+ assert(0); // FIXME aconway 2007-01-04: 0-9 feature
}
-void Content::decode(Buffer&)
-{
+size_t Content::size() const {
+ assert(0); // FIXME aconway 2007-01-04: 0-9 feature
}
+std::ostream& operator<<(std::ostream&, const Content&) {
+ assert(0); // FIXME aconway 2007-01-04: 0-9 feature
+}
-} // namespace framing
-} // namespace qpid
+}} // namespace framing::qpid
diff --git a/cpp/lib/common/framing/FramingContent.h b/cpp/lib/common/framing/FramingContent.h
index d9556e5188..833e766f9a 100644
--- a/cpp/lib/common/framing/FramingContent.h
+++ b/cpp/lib/common/framing/FramingContent.h
@@ -1,26 +1,5 @@
-/*
- *
- * 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.
- *
- */
-
-#ifndef _Content_
-#define _Content_
+#ifndef _framing_FramingContent_h
+#define _framing_FramingContent_h
#include <ostream>
@@ -45,4 +24,4 @@ class Content
}} // namespace qpid::framing
-#endif
+#endif /*!_framing_FramingContent_h*/