Apache Qpid - AMQP Messaging for Java JMS, C++, Python, Ruby, and .NET | Apache Qpid Documentation |
00001 #ifndef QPID_FRAMING_SERVERINVOKER_H 00002 #define QPID_FRAMING_SERVERINVOKER_H 00003 /* 00004 * 00005 * Licensed to the Apache Software Foundation (ASF) under one 00006 * or more contributor license agreements. See the NOTICE file 00007 * distributed with this work for additional information 00008 * regarding copyright ownership. The ASF licenses this file 00009 * to you under the Apache License, Version 2.0 (the 00010 * "License"); you may not use this file except in compliance 00011 * with the License. You may obtain a copy of the License at 00012 * 00013 * http://www.apache.org/licenses/LICENSE-2.0 00014 * 00015 * Unless required by applicable law or agreed to in writing, 00016 * software distributed under the License is distributed on an 00017 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 00018 * KIND, either express or implied. See the License for the 00019 * specific language governing permissions and limitations 00020 * under the License. 00021 * 00022 */ 00023 00028 00029 00030 #include "qpid/framing/AMQP_ServerOperations.h" 00031 #include "qpid/framing/Invoker.h" 00032 00033 namespace qpid { 00034 namespace framing { 00035 00036 00037 class AMQP_ServerOperations::Invoker: 00038 public qpid::framing::Invoker 00039 { 00040 AMQP_ServerOperations& target; 00041 public: 00042 Invoker(AMQP_ServerOperations& target_) : target(target_) {} 00043 using MethodBodyDefaultVisitor::visit; 00044 void visit(const ConnectionStartOkBody& body); 00045 void visit(const ConnectionSecureOkBody& body); 00046 void visit(const ConnectionTuneOkBody& body); 00047 void visit(const ConnectionOpenBody& body); 00048 void visit(const ConnectionHeartbeatBody& body); 00049 void visit(const ConnectionCloseBody& body); 00050 void visit(const ConnectionCloseOkBody& body); 00051 void visit(const SessionAttachBody& body); 00052 void visit(const SessionAttachedBody& body); 00053 void visit(const SessionDetachBody& body); 00054 void visit(const SessionDetachedBody& body); 00055 void visit(const SessionRequestTimeoutBody& body); 00056 void visit(const SessionTimeoutBody& body); 00057 void visit(const SessionCommandPointBody& body); 00058 void visit(const SessionExpectedBody& body); 00059 void visit(const SessionConfirmedBody& body); 00060 void visit(const SessionCompletedBody& body); 00061 void visit(const SessionKnownCompletedBody& body); 00062 void visit(const SessionFlushBody& body); 00063 void visit(const SessionGapBody& body); 00064 void visit(const ExecutionSyncBody& body); 00065 void visit(const ExecutionResultBody& body); 00066 void visit(const ExecutionExceptionBody& body); 00067 void visit(const MessageAcceptBody& body); 00068 void visit(const MessageRejectBody& body); 00069 void visit(const MessageReleaseBody& body); 00070 void visit(const MessageAcquireBody& body); 00071 void visit(const MessageResumeBody& body); 00072 void visit(const MessageSubscribeBody& body); 00073 void visit(const MessageCancelBody& body); 00074 void visit(const MessageSetFlowModeBody& body); 00075 void visit(const MessageFlowBody& body); 00076 void visit(const MessageFlushBody& body); 00077 void visit(const MessageStopBody& body); 00078 void visit(const TxSelectBody& body); 00079 void visit(const TxCommitBody& body); 00080 void visit(const TxRollbackBody& body); 00081 void visit(const DtxSelectBody& body); 00082 void visit(const DtxStartBody& body); 00083 void visit(const DtxEndBody& body); 00084 void visit(const DtxCommitBody& body); 00085 void visit(const DtxForgetBody& body); 00086 void visit(const DtxGetTimeoutBody& body); 00087 void visit(const DtxPrepareBody& body); 00088 void visit(const DtxRecoverBody& body); 00089 void visit(const DtxRollbackBody& body); 00090 void visit(const DtxSetTimeoutBody& body); 00091 void visit(const ExchangeDeclareBody& body); 00092 void visit(const ExchangeDeleteBody& body); 00093 void visit(const ExchangeQueryBody& body); 00094 void visit(const ExchangeBindBody& body); 00095 void visit(const ExchangeUnbindBody& body); 00096 void visit(const ExchangeBoundBody& body); 00097 void visit(const QueueDeclareBody& body); 00098 void visit(const QueueDeleteBody& body); 00099 void visit(const QueuePurgeBody& body); 00100 void visit(const QueueQueryBody& body); 00101 void visit(const FileQosBody& body); 00102 void visit(const FileConsumeBody& body); 00103 void visit(const FileCancelBody& body); 00104 void visit(const FileOpenBody& body); 00105 void visit(const FileOpenOkBody& body); 00106 void visit(const FilePublishBody& body); 00107 void visit(const FileAckBody& body); 00108 void visit(const FileRejectBody& body); 00109 void visit(const StreamQosBody& body); 00110 void visit(const StreamConsumeBody& body); 00111 void visit(const StreamCancelBody& body); 00112 }; 00113 00114 class AMQP_ServerOperations::ConnectionHandler::Invoker: 00115 public qpid::framing::Invoker 00116 { 00117 AMQP_ServerOperations::ConnectionHandler& target; 00118 public: 00119 Invoker(AMQP_ServerOperations::ConnectionHandler& target_) : target(target_) {} 00120 using MethodBodyDefaultVisitor::visit; 00121 void visit(const ConnectionStartOkBody& body); 00122 void visit(const ConnectionSecureOkBody& body); 00123 void visit(const ConnectionTuneOkBody& body); 00124 void visit(const ConnectionOpenBody& body); 00125 void visit(const ConnectionHeartbeatBody& body); 00126 void visit(const ConnectionCloseBody& body); 00127 void visit(const ConnectionCloseOkBody& body); 00128 }; 00129 00130 class AMQP_ServerOperations::SessionHandler::Invoker: 00131 public qpid::framing::Invoker 00132 { 00133 AMQP_ServerOperations::SessionHandler& target; 00134 public: 00135 Invoker(AMQP_ServerOperations::SessionHandler& target_) : target(target_) {} 00136 using MethodBodyDefaultVisitor::visit; 00137 void visit(const SessionAttachBody& body); 00138 void visit(const SessionAttachedBody& body); 00139 void visit(const SessionDetachBody& body); 00140 void visit(const SessionDetachedBody& body); 00141 void visit(const SessionRequestTimeoutBody& body); 00142 void visit(const SessionTimeoutBody& body); 00143 void visit(const SessionCommandPointBody& body); 00144 void visit(const SessionExpectedBody& body); 00145 void visit(const SessionConfirmedBody& body); 00146 void visit(const SessionCompletedBody& body); 00147 void visit(const SessionKnownCompletedBody& body); 00148 void visit(const SessionFlushBody& body); 00149 void visit(const SessionGapBody& body); 00150 }; 00151 00152 class AMQP_ServerOperations::ExecutionHandler::Invoker: 00153 public qpid::framing::Invoker 00154 { 00155 AMQP_ServerOperations::ExecutionHandler& target; 00156 public: 00157 Invoker(AMQP_ServerOperations::ExecutionHandler& target_) : target(target_) {} 00158 using MethodBodyDefaultVisitor::visit; 00159 void visit(const ExecutionSyncBody& body); 00160 void visit(const ExecutionResultBody& body); 00161 void visit(const ExecutionExceptionBody& body); 00162 }; 00163 00164 class AMQP_ServerOperations::MessageHandler::Invoker: 00165 public qpid::framing::Invoker 00166 { 00167 AMQP_ServerOperations::MessageHandler& target; 00168 public: 00169 Invoker(AMQP_ServerOperations::MessageHandler& target_) : target(target_) {} 00170 using MethodBodyDefaultVisitor::visit; 00171 void visit(const MessageAcceptBody& body); 00172 void visit(const MessageRejectBody& body); 00173 void visit(const MessageReleaseBody& body); 00174 void visit(const MessageAcquireBody& body); 00175 void visit(const MessageResumeBody& body); 00176 void visit(const MessageSubscribeBody& body); 00177 void visit(const MessageCancelBody& body); 00178 void visit(const MessageSetFlowModeBody& body); 00179 void visit(const MessageFlowBody& body); 00180 void visit(const MessageFlushBody& body); 00181 void visit(const MessageStopBody& body); 00182 }; 00183 00184 class AMQP_ServerOperations::TxHandler::Invoker: 00185 public qpid::framing::Invoker 00186 { 00187 AMQP_ServerOperations::TxHandler& target; 00188 public: 00189 Invoker(AMQP_ServerOperations::TxHandler& target_) : target(target_) {} 00190 using MethodBodyDefaultVisitor::visit; 00191 void visit(const TxSelectBody& body); 00192 void visit(const TxCommitBody& body); 00193 void visit(const TxRollbackBody& body); 00194 }; 00195 00196 class AMQP_ServerOperations::DtxHandler::Invoker: 00197 public qpid::framing::Invoker 00198 { 00199 AMQP_ServerOperations::DtxHandler& target; 00200 public: 00201 Invoker(AMQP_ServerOperations::DtxHandler& target_) : target(target_) {} 00202 using MethodBodyDefaultVisitor::visit; 00203 void visit(const DtxSelectBody& body); 00204 void visit(const DtxStartBody& body); 00205 void visit(const DtxEndBody& body); 00206 void visit(const DtxCommitBody& body); 00207 void visit(const DtxForgetBody& body); 00208 void visit(const DtxGetTimeoutBody& body); 00209 void visit(const DtxPrepareBody& body); 00210 void visit(const DtxRecoverBody& body); 00211 void visit(const DtxRollbackBody& body); 00212 void visit(const DtxSetTimeoutBody& body); 00213 }; 00214 00215 class AMQP_ServerOperations::ExchangeHandler::Invoker: 00216 public qpid::framing::Invoker 00217 { 00218 AMQP_ServerOperations::ExchangeHandler& target; 00219 public: 00220 Invoker(AMQP_ServerOperations::ExchangeHandler& target_) : target(target_) {} 00221 using MethodBodyDefaultVisitor::visit; 00222 void visit(const ExchangeDeclareBody& body); 00223 void visit(const ExchangeDeleteBody& body); 00224 void visit(const ExchangeQueryBody& body); 00225 void visit(const ExchangeBindBody& body); 00226 void visit(const ExchangeUnbindBody& body); 00227 void visit(const ExchangeBoundBody& body); 00228 }; 00229 00230 class AMQP_ServerOperations::QueueHandler::Invoker: 00231 public qpid::framing::Invoker 00232 { 00233 AMQP_ServerOperations::QueueHandler& target; 00234 public: 00235 Invoker(AMQP_ServerOperations::QueueHandler& target_) : target(target_) {} 00236 using MethodBodyDefaultVisitor::visit; 00237 void visit(const QueueDeclareBody& body); 00238 void visit(const QueueDeleteBody& body); 00239 void visit(const QueuePurgeBody& body); 00240 void visit(const QueueQueryBody& body); 00241 }; 00242 00243 class AMQP_ServerOperations::FileHandler::Invoker: 00244 public qpid::framing::Invoker 00245 { 00246 AMQP_ServerOperations::FileHandler& target; 00247 public: 00248 Invoker(AMQP_ServerOperations::FileHandler& target_) : target(target_) {} 00249 using MethodBodyDefaultVisitor::visit; 00250 void visit(const FileQosBody& body); 00251 void visit(const FileConsumeBody& body); 00252 void visit(const FileCancelBody& body); 00253 void visit(const FileOpenBody& body); 00254 void visit(const FileOpenOkBody& body); 00255 void visit(const FilePublishBody& body); 00256 void visit(const FileAckBody& body); 00257 void visit(const FileRejectBody& body); 00258 }; 00259 00260 class AMQP_ServerOperations::StreamHandler::Invoker: 00261 public qpid::framing::Invoker 00262 { 00263 AMQP_ServerOperations::StreamHandler& target; 00264 public: 00265 Invoker(AMQP_ServerOperations::StreamHandler& target_) : target(target_) {} 00266 using MethodBodyDefaultVisitor::visit; 00267 void visit(const StreamQosBody& body); 00268 void visit(const StreamConsumeBody& body); 00269 void visit(const StreamCancelBody& body); 00270 }; 00271 00272 }} // namespace qpid::framing 00273 00274 #endif