/home/aconway/svn/qpid/cpp/gen/qpid/framing/AMQP_ServerOperations.h

00001 /*
00002  *
00003  * Licensed to the Apache Software Foundation (ASF) under one
00004  * or more contributor license agreements.  See the NOTICE file
00005  * distributed with this work for additional information
00006  * regarding copyright ownership.  The ASF licenses this file
00007  * to you under the Apache License, Version 2.0 (the
00008  * "License"); you may not use this file except in compliance
00009  * with the License.  You may obtain a copy of the License at
00010  * 
00011  *   http://www.apache.org/licenses/LICENSE-2.0
00012  * 
00013  * Unless required by applicable law or agreed to in writing,
00014  * software distributed under the License is distributed on an
00015  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
00016  * KIND, either express or implied.  See the License for the
00017  * specific language governing permissions and limitations
00018  * under the License.
00019  *
00020  */
00021 
00022 /*
00023  * This file is auto-generated by Qpid Gentools v.0.1 - do not modify.
00024  * Supported AMQP versions:
00025  *   0-9
00026  */
00027  
00028 #ifndef qpid_framing_AMQP_ServerOperations__
00029 #define qpid_framing_AMQP_ServerOperations__
00030 
00031 #include "qpid/framing/ProtocolVersion.h"
00032 
00033 namespace qpid {
00034 namespace framing {
00035 
00036 class MethodContext;
00037 
00038 class AMQP_ServerOperations
00039 {
00040 protected:
00041     ProtocolVersion version;
00042 
00043 public:
00044     virtual ~AMQP_ServerOperations() {}
00045 
00046     virtual ProtocolVersion getVersion() const = 0;
00047     
00048     // Include framing constant declarations
00049     #include "AMQP_Constants.h"
00050 
00051     // Inner classes
00052 
00053     // ==================== class AccessHandler ====================
00054     class AccessHandler
00055     {
00056         // Constructors and destructors
00057     public:
00058         AccessHandler(){};
00059         virtual ~AccessHandler() {}
00060 
00061         // Protocol methods
00062 
00063         virtual void request(const MethodContext& context,
00064                             const string& realm,
00065                             bool exclusive,
00066                             bool passive,
00067                             bool active,
00068                             bool write,
00069                             bool read ) = 0;
00070     }; // class AccessHandler
00071 
00072     // ==================== class BasicHandler ====================
00073     class BasicHandler
00074     {
00075         // Constructors and destructors
00076     public:
00077         BasicHandler(){};
00078         virtual ~BasicHandler() {}
00079 
00080         // Protocol methods
00081 
00082         virtual void ack(const MethodContext& context,
00083                             u_int64_t deliveryTag,
00084                             bool multiple ) = 0;
00085 
00086         virtual void cancel(const MethodContext& context,
00087                             const string& consumerTag,
00088                             bool nowait ) = 0;
00089 
00090         virtual void consume(const MethodContext& context,
00091                             u_int16_t ticket,
00092                             const string& queue,
00093                             const string& consumerTag,
00094                             bool noLocal,
00095                             bool noAck,
00096                             bool exclusive,
00097                             bool nowait,
00098                             const FieldTable& filter ) = 0;
00099 
00100         virtual void get(const MethodContext& context,
00101                             u_int16_t ticket,
00102                             const string& queue,
00103                             bool noAck ) = 0;
00104 
00105         virtual void publish(const MethodContext& context,
00106                             u_int16_t ticket,
00107                             const string& exchange,
00108                             const string& routingKey,
00109                             bool mandatory,
00110                             bool immediate ) = 0;
00111 
00112         virtual void qos(const MethodContext& context,
00113                             u_int32_t prefetchSize,
00114                             u_int16_t prefetchCount,
00115                             bool global ) = 0;
00116 
00117         virtual void recover(const MethodContext& context,
00118                             bool requeue ) = 0;
00119 
00120         virtual void reject(const MethodContext& context,
00121                             u_int64_t deliveryTag,
00122                             bool requeue ) = 0;
00123     }; // class BasicHandler
00124 
00125     // ==================== class ChannelHandler ====================
00126     class ChannelHandler
00127     {
00128         // Constructors and destructors
00129     public:
00130         ChannelHandler(){};
00131         virtual ~ChannelHandler() {}
00132 
00133         // Protocol methods
00134 
00135         virtual void close(const MethodContext& context,
00136                             u_int16_t replyCode,
00137                             const string& replyText,
00138                             u_int16_t classId,
00139                             u_int16_t methodId ) = 0;
00140 
00141         virtual void closeOk(const MethodContext& context ) = 0;
00142 
00143         virtual void flow(const MethodContext& context,
00144                             bool active ) = 0;
00145 
00146         virtual void flowOk(const MethodContext& context,
00147                             bool active ) = 0;
00148 
00149         virtual void ok(const MethodContext& context ) = 0;
00150 
00151         virtual void open(const MethodContext& context,
00152                             const string& outOfBand ) = 0;
00153 
00154         virtual void ping(const MethodContext& context ) = 0;
00155 
00156         virtual void pong(const MethodContext& context ) = 0;
00157 
00158         virtual void resume(const MethodContext& context,
00159                             const string& channelId ) = 0;
00160     }; // class ChannelHandler
00161 
00162     // ==================== class ConnectionHandler ====================
00163     class ConnectionHandler
00164     {
00165         // Constructors and destructors
00166     public:
00167         ConnectionHandler(){};
00168         virtual ~ConnectionHandler() {}
00169 
00170         // Protocol methods
00171 
00172         virtual void close(const MethodContext& context,
00173                             u_int16_t replyCode,
00174                             const string& replyText,
00175                             u_int16_t classId,
00176                             u_int16_t methodId ) = 0;
00177 
00178         virtual void closeOk(const MethodContext& context ) = 0;
00179 
00180         virtual void open(const MethodContext& context,
00181                             const string& virtualHost,
00182                             const string& capabilities,
00183                             bool insist ) = 0;
00184 
00185         virtual void secureOk(const MethodContext& context,
00186                             const string& response ) = 0;
00187 
00188         virtual void startOk(const MethodContext& context,
00189                             const FieldTable& clientProperties,
00190                             const string& mechanism,
00191                             const string& response,
00192                             const string& locale ) = 0;
00193 
00194         virtual void tuneOk(const MethodContext& context,
00195                             u_int16_t channelMax,
00196                             u_int32_t frameMax,
00197                             u_int16_t heartbeat ) = 0;
00198     }; // class ConnectionHandler
00199 
00200     // ==================== class DtxHandler ====================
00201     class DtxHandler
00202     {
00203         // Constructors and destructors
00204     public:
00205         DtxHandler(){};
00206         virtual ~DtxHandler() {}
00207 
00208         // Protocol methods
00209 
00210         virtual void select(const MethodContext& context ) = 0;
00211 
00212         virtual void start(const MethodContext& context,
00213                             const string& dtxIdentifier ) = 0;
00214     }; // class DtxHandler
00215 
00216     // ==================== class ExchangeHandler ====================
00217     class ExchangeHandler
00218     {
00219         // Constructors and destructors
00220     public:
00221         ExchangeHandler(){};
00222         virtual ~ExchangeHandler() {}
00223 
00224         // Protocol methods
00225 
00226         virtual void declare(const MethodContext& context,
00227                             u_int16_t ticket,
00228                             const string& exchange,
00229                             const string& type,
00230                             bool passive,
00231                             bool durable,
00232                             bool autoDelete,
00233                             bool internal,
00234                             bool nowait,
00235                             const FieldTable& arguments ) = 0;
00236 
00237         virtual void delete_(const MethodContext& context,
00238                             u_int16_t ticket,
00239                             const string& exchange,
00240                             bool ifUnused,
00241                             bool nowait ) = 0;
00242     }; // class ExchangeHandler
00243 
00244     // ==================== class FileHandler ====================
00245     class FileHandler
00246     {
00247         // Constructors and destructors
00248     public:
00249         FileHandler(){};
00250         virtual ~FileHandler() {}
00251 
00252         // Protocol methods
00253 
00254         virtual void ack(const MethodContext& context,
00255                             u_int64_t deliveryTag,
00256                             bool multiple ) = 0;
00257 
00258         virtual void cancel(const MethodContext& context,
00259                             const string& consumerTag,
00260                             bool nowait ) = 0;
00261 
00262         virtual void consume(const MethodContext& context,
00263                             u_int16_t ticket,
00264                             const string& queue,
00265                             const string& consumerTag,
00266                             bool noLocal,
00267                             bool noAck,
00268                             bool exclusive,
00269                             bool nowait,
00270                             const FieldTable& filter ) = 0;
00271 
00272         virtual void open(const MethodContext& context,
00273                             const string& identifier,
00274                             u_int64_t contentSize ) = 0;
00275 
00276         virtual void openOk(const MethodContext& context,
00277                             u_int64_t stagedSize ) = 0;
00278 
00279         virtual void publish(const MethodContext& context,
00280                             u_int16_t ticket,
00281                             const string& exchange,
00282                             const string& routingKey,
00283                             bool mandatory,
00284                             bool immediate,
00285                             const string& identifier ) = 0;
00286 
00287         virtual void qos(const MethodContext& context,
00288                             u_int32_t prefetchSize,
00289                             u_int16_t prefetchCount,
00290                             bool global ) = 0;
00291 
00292         virtual void reject(const MethodContext& context,
00293                             u_int64_t deliveryTag,
00294                             bool requeue ) = 0;
00295 
00296         virtual void stage(const MethodContext& context ) = 0;
00297     }; // class FileHandler
00298 
00299     // ==================== class MessageHandler ====================
00300     class MessageHandler
00301     {
00302         // Constructors and destructors
00303     public:
00304         MessageHandler(){};
00305         virtual ~MessageHandler() {}
00306 
00307         // Protocol methods
00308 
00309         virtual void append(const MethodContext& context,
00310                             const string& reference,
00311                             const string& bytes ) = 0;
00312 
00313         virtual void cancel(const MethodContext& context,
00314                             const string& destination ) = 0;
00315 
00316         virtual void checkpoint(const MethodContext& context,
00317                             const string& reference,
00318                             const string& identifier ) = 0;
00319 
00320         virtual void close(const MethodContext& context,
00321                             const string& reference ) = 0;
00322 
00323         virtual void consume(const MethodContext& context,
00324                             u_int16_t ticket,
00325                             const string& queue,
00326                             const string& destination,
00327                             bool noLocal,
00328                             bool noAck,
00329                             bool exclusive,
00330                             const FieldTable& filter ) = 0;
00331 
00332         virtual void empty(const MethodContext& context ) = 0;
00333 
00334         virtual void get(const MethodContext& context,
00335                             u_int16_t ticket,
00336                             const string& queue,
00337                             const string& destination,
00338                             bool noAck ) = 0;
00339 
00340         virtual void offset(const MethodContext& context,
00341                             u_int64_t value ) = 0;
00342 
00343         virtual void ok(const MethodContext& context ) = 0;
00344 
00345         virtual void open(const MethodContext& context,
00346                             const string& reference ) = 0;
00347 
00348         virtual void qos(const MethodContext& context,
00349                             u_int32_t prefetchSize,
00350                             u_int16_t prefetchCount,
00351                             bool global ) = 0;
00352 
00353         virtual void recover(const MethodContext& context,
00354                             bool requeue ) = 0;
00355 
00356         virtual void reject(const MethodContext& context,
00357                             u_int16_t code,
00358                             const string& text ) = 0;
00359 
00360         virtual void resume(const MethodContext& context,
00361                             const string& reference,
00362                             const string& identifier ) = 0;
00363 
00364         virtual void transfer(const MethodContext& context,
00365                             u_int16_t ticket,
00366                             const string& destination,
00367                             bool redelivered,
00368                             bool immediate,
00369                             u_int64_t ttl,
00370                             u_int8_t priority,
00371                             u_int64_t timestamp,
00372                             u_int8_t deliveryMode,
00373                             u_int64_t expiration,
00374                             const string& exchange,
00375                             const string& routingKey,
00376                             const string& messageId,
00377                             const string& correlationId,
00378                             const string& replyTo,
00379                             const string& contentType,
00380                             const string& contentEncoding,
00381                             const string& userId,
00382                             const string& appId,
00383                             const string& transactionId,
00384                             const string& securityToken,
00385                             const FieldTable& applicationHeaders,
00386                             const Content& body,
00387                             bool mandatory ) = 0;
00388     }; // class MessageHandler
00389 
00390     // ==================== class QueueHandler ====================
00391     class QueueHandler
00392     {
00393         // Constructors and destructors
00394     public:
00395         QueueHandler(){};
00396         virtual ~QueueHandler() {}
00397 
00398         // Protocol methods
00399 
00400         virtual void bind(const MethodContext& context,
00401                             u_int16_t ticket,
00402                             const string& queue,
00403                             const string& exchange,
00404                             const string& routingKey,
00405                             bool nowait,
00406                             const FieldTable& arguments ) = 0;
00407 
00408         virtual void declare(const MethodContext& context,
00409                             u_int16_t ticket,
00410                             const string& queue,
00411                             bool passive,
00412                             bool durable,
00413                             bool exclusive,
00414                             bool autoDelete,
00415                             bool nowait,
00416                             const FieldTable& arguments ) = 0;
00417 
00418         virtual void delete_(const MethodContext& context,
00419                             u_int16_t ticket,
00420                             const string& queue,
00421                             bool ifUnused,
00422                             bool ifEmpty,
00423                             bool nowait ) = 0;
00424 
00425         virtual void purge(const MethodContext& context,
00426                             u_int16_t ticket,
00427                             const string& queue,
00428                             bool nowait ) = 0;
00429 
00430         virtual void unbind(const MethodContext& context,
00431                             u_int16_t ticket,
00432                             const string& queue,
00433                             const string& exchange,
00434                             const string& routingKey,
00435                             const FieldTable& arguments ) = 0;
00436     }; // class QueueHandler
00437 
00438     // ==================== class StreamHandler ====================
00439     class StreamHandler
00440     {
00441         // Constructors and destructors
00442     public:
00443         StreamHandler(){};
00444         virtual ~StreamHandler() {}
00445 
00446         // Protocol methods
00447 
00448         virtual void cancel(const MethodContext& context,
00449                             const string& consumerTag,
00450                             bool nowait ) = 0;
00451 
00452         virtual void consume(const MethodContext& context,
00453                             u_int16_t ticket,
00454                             const string& queue,
00455                             const string& consumerTag,
00456                             bool noLocal,
00457                             bool exclusive,
00458                             bool nowait,
00459                             const FieldTable& filter ) = 0;
00460 
00461         virtual void publish(const MethodContext& context,
00462                             u_int16_t ticket,
00463                             const string& exchange,
00464                             const string& routingKey,
00465                             bool mandatory,
00466                             bool immediate ) = 0;
00467 
00468         virtual void qos(const MethodContext& context,
00469                             u_int32_t prefetchSize,
00470                             u_int16_t prefetchCount,
00471                             u_int32_t consumeRate,
00472                             bool global ) = 0;
00473     }; // class StreamHandler
00474 
00475     // ==================== class TunnelHandler ====================
00476     class TunnelHandler
00477     {
00478         // Constructors and destructors
00479     public:
00480         TunnelHandler(){};
00481         virtual ~TunnelHandler() {}
00482 
00483         // Protocol methods
00484 
00485         virtual void request(const MethodContext& context,
00486                             const FieldTable& metaData ) = 0;
00487     }; // class TunnelHandler
00488 
00489     // ==================== class TxHandler ====================
00490     class TxHandler
00491     {
00492         // Constructors and destructors
00493     public:
00494         TxHandler(){};
00495         virtual ~TxHandler() {}
00496 
00497         // Protocol methods
00498 
00499         virtual void commit(const MethodContext& context ) = 0;
00500 
00501         virtual void rollback(const MethodContext& context ) = 0;
00502 
00503         virtual void select(const MethodContext& context ) = 0;
00504     }; // class TxHandler
00505 
00506     // Method handler get methods
00507 
00508     virtual AMQP_ServerOperations::AccessHandler* getAccessHandler() = 0;
00509     virtual AMQP_ServerOperations::BasicHandler* getBasicHandler() = 0;
00510     virtual AMQP_ServerOperations::ChannelHandler* getChannelHandler() = 0;
00511     virtual AMQP_ServerOperations::ConnectionHandler* getConnectionHandler() = 0;
00512     virtual AMQP_ServerOperations::DtxHandler* getDtxHandler() = 0;
00513     virtual AMQP_ServerOperations::ExchangeHandler* getExchangeHandler() = 0;
00514     virtual AMQP_ServerOperations::FileHandler* getFileHandler() = 0;
00515     virtual AMQP_ServerOperations::MessageHandler* getMessageHandler() = 0;
00516     virtual AMQP_ServerOperations::QueueHandler* getQueueHandler() = 0;
00517     virtual AMQP_ServerOperations::StreamHandler* getStreamHandler() = 0;
00518     virtual AMQP_ServerOperations::TunnelHandler* getTunnelHandler() = 0;
00519     virtual AMQP_ServerOperations::TxHandler* getTxHandler() = 0;
00520 
00521 }; /* class AMQP_ServerOperations */
00522 
00523 } /* namespace framing */
00524 } /* namespace qpid */
00525 
00526 #endif

Generated on Tue Apr 17 14:22:03 2007 for Qpid by  doxygen 1.4.7