diff options
author | Gordon Sim <gsim@apache.org> | 2008-04-24 21:07:34 +0000 |
---|---|---|
committer | Gordon Sim <gsim@apache.org> | 2008-04-24 21:07:34 +0000 |
commit | 1c86294add5cbb640aac7f458c4de693de48dd9f (patch) | |
tree | 22d7774e00c7514c4b76be5cf8b50727b74fe4e3 /cpp/src/qpid/broker/SemanticHandler.h | |
parent | 96f12949244b5af2b717156823309b66fe7bfb84 (diff) | |
download | qpid-python-1c86294add5cbb640aac7f458c4de693de48dd9f.tar.gz |
Generate c++ code from final 0-10 spec
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@651423 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/SemanticHandler.h')
-rw-r--r-- | cpp/src/qpid/broker/SemanticHandler.h | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/cpp/src/qpid/broker/SemanticHandler.h b/cpp/src/qpid/broker/SemanticHandler.h deleted file mode 100644 index 893a0cbded..0000000000 --- a/cpp/src/qpid/broker/SemanticHandler.h +++ /dev/null @@ -1,102 +0,0 @@ -/* - * - * 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 _SemanticHandler_ -#define _SemanticHandler_ - -#include <memory> -#include "BrokerAdapter.h" -#include "DeliveryAdapter.h" -#include "MessageBuilder.h" -#include "IncomingExecutionContext.h" -#include "HandlerImpl.h" - -#include "qpid/framing/amqp_types.h" -#include "qpid/framing/AMQP_ServerOperations.h" -#include "qpid/framing/FrameHandler.h" -#include "qpid/framing/SequenceNumber.h" - -#include <boost/function.hpp> - -namespace qpid { - -namespace framing { -class AMQMethodBody; -class AMQHeaderBody; -class AMQContentBody; -class AMQHeaderBody; -} - -namespace broker { - -class SessionContext; - -class SemanticHandler : public DeliveryAdapter, - public framing::FrameHandler, - public framing::AMQP_ServerOperations::ExecutionHandler - -{ - typedef boost::function<void(DeliveryId, DeliveryId)> RangedOperation; - - SemanticState state; - SessionContext& session; - // TODO aconway 2007-09-20: Why are these on the handler rather than the - // state? - IncomingExecutionContext incoming; - framing::Window outgoing; - MessageBuilder msgBuilder; - RangedOperation ackOp; - - enum TrackId {EXECUTION_CONTROL_TRACK, MODEL_COMMAND_TRACK, MODEL_CONTENT_TRACK}; - TrackId getTrack(const framing::AMQFrame& frame); - - void handleL3(framing::AMQMethodBody* method); - void handleCommand(framing::AMQMethodBody* method); - void handleContent(framing::AMQFrame& frame); - - void sendCompletion(); - - //delivery adapter methods: - DeliveryId deliver(QueuedMessage& msg, DeliveryToken::shared_ptr token); - - framing::AMQP_ClientProxy& getProxy() { return session.getProxy(); } - //Connection& getConnection() { return session.getConnection(); } - Broker& getBroker() { return session.getConnection().getBroker(); } - -public: - SemanticHandler(SessionContext& session); - - //frame handler: - void handle(framing::AMQFrame& frame); - - //execution class method handlers: - void complete(uint32_t cumulativeExecutionMark, const framing::SequenceNumberSet& range); - void flush(); - void noop(); - void result(uint32_t command, const std::string& data); - void sync(); - - - SemanticState& getSemanticState() { return state; } -}; - -}} - -#endif |