/opt/workspace/qpid/tags/M2/Final/cpp/gen/AMQP_ServerProxy.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  *   8-0
00026  */
00027 
00028 #ifndef qpid_framing_AMQP_ServerProxy__
00029 #define qpid_framing_AMQP_ServerProxy__
00030 
00031 #include <AMQP_ServerOperations.h>
00032 #include <FieldTable.h>
00033 #include <OutputHandler.h>
00034 
00035 namespace qpid {
00036 namespace framing {
00037 
00038 class AMQP_ServerProxy : public AMQP_ServerOperations
00039 {
00040 private:
00041     ProtocolVersion version;
00042     OutputHandler* out;
00043     AMQP_ServerOperations::AccessHandler* AccessHandlerPtr;
00044     AMQP_ServerOperations::BasicHandler* BasicHandlerPtr;
00045     AMQP_ServerOperations::ChannelHandler* ChannelHandlerPtr;
00046     AMQP_ServerOperations::ConnectionHandler* ConnectionHandlerPtr;
00047     AMQP_ServerOperations::DtxHandler* DtxHandlerPtr;
00048     AMQP_ServerOperations::ExchangeHandler* ExchangeHandlerPtr;
00049     AMQP_ServerOperations::FileHandler* FileHandlerPtr;
00050     AMQP_ServerOperations::QueueHandler* QueueHandlerPtr;
00051     AMQP_ServerOperations::StreamHandler* StreamHandlerPtr;
00052     AMQP_ServerOperations::TestHandler* TestHandlerPtr;
00053     AMQP_ServerOperations::TunnelHandler* TunnelHandlerPtr;
00054     AMQP_ServerOperations::TxHandler* TxHandlerPtr;
00055 
00056 public:
00057     AMQP_ServerProxy(OutputHandler* out, u_int8_t major, u_int8_t minor);
00058     ProtocolVersion& getProtocolVersion() {return version;}
00059     virtual ~AMQP_ServerProxy() {}
00060 
00061         // Get methods for handlers
00062 
00063     virtual inline AMQP_ServerOperations::AccessHandler* getAccessHandler() { return &access;}
00064     virtual inline AMQP_ServerOperations::BasicHandler* getBasicHandler() { return &basic;}
00065     virtual inline AMQP_ServerOperations::ChannelHandler* getChannelHandler() { return &channel;}
00066     virtual inline AMQP_ServerOperations::ConnectionHandler* getConnectionHandler() { return &connection;}
00067     virtual inline AMQP_ServerOperations::DtxHandler* getDtxHandler() { return &dtx;}
00068     virtual inline AMQP_ServerOperations::ExchangeHandler* getExchangeHandler() { return &exchange;}
00069     virtual inline AMQP_ServerOperations::FileHandler* getFileHandler() { return &file;}
00070     virtual inline AMQP_ServerOperations::QueueHandler* getQueueHandler() { return &queue;}
00071     virtual inline AMQP_ServerOperations::StreamHandler* getStreamHandler() { return &stream;}
00072     virtual inline AMQP_ServerOperations::TestHandler* getTestHandler() { return &test;}
00073     virtual inline AMQP_ServerOperations::TunnelHandler* getTunnelHandler() { return &tunnel;}
00074     virtual inline AMQP_ServerOperations::TxHandler* getTxHandler() { return &tx;}
00075 
00076         // Inner class definitions
00077 
00078     // ==================== class Access ====================
00079     class Access : virtual public AMQP_ServerOperations::AccessHandler
00080     {
00081     private:
00082         OutputHandler* out;
00083         AMQP_ServerProxy* parent;
00084 
00085     public:
00086         // Constructors and destructors
00087 
00088         Access(OutputHandler* out, AMQP_ServerProxy* _parent) : 
00089             out(out) {parent = _parent;}
00090         virtual ~Access() {}
00091 
00092         // Protocol methods
00093 
00094         virtual void request( u_int16_t channel,
00095                             const string& realm,
00096                             bool exclusive,
00097                             bool passive,
00098                             bool active,
00099                             bool write,
00100                             bool read );
00101     }; // class Access
00102 
00103     // ==================== class Basic ====================
00104     class Basic : virtual public AMQP_ServerOperations::BasicHandler
00105     {
00106     private:
00107         OutputHandler* out;
00108         AMQP_ServerProxy* parent;
00109 
00110     public:
00111         // Constructors and destructors
00112 
00113         Basic(OutputHandler* out, AMQP_ServerProxy* _parent) : 
00114             out(out) {parent = _parent;}
00115         virtual ~Basic() {}
00116 
00117         // Protocol methods
00118 
00119         virtual void ack( u_int16_t channel,
00120                             u_int64_t deliveryTag,
00121                             bool multiple );
00122 
00123         virtual void cancel( u_int16_t channel,
00124                             const string& consumerTag,
00125                             bool nowait );
00126 
00127         virtual void consume( u_int16_t channel,
00128                             u_int16_t ticket,
00129                             const string& queue,
00130                             const string& consumerTag,
00131                             bool noLocal,
00132                             bool noAck,
00133                             bool exclusive,
00134                             bool nowait,
00135                             const FieldTable& arguments );
00136 
00137         virtual void get( u_int16_t channel,
00138                             u_int16_t ticket,
00139                             const string& queue,
00140                             bool noAck );
00141 
00142         virtual void publish( u_int16_t channel,
00143                             u_int16_t ticket,
00144                             const string& exchange,
00145                             const string& routingKey,
00146                             bool mandatory,
00147                             bool immediate );
00148 
00149         virtual void qos( u_int16_t channel,
00150                             u_int32_t prefetchSize,
00151                             u_int16_t prefetchCount,
00152                             bool global );
00153 
00154         virtual void recover( u_int16_t channel,
00155                             bool requeue );
00156 
00157         virtual void reject( u_int16_t channel,
00158                             u_int64_t deliveryTag,
00159                             bool requeue );
00160     }; // class Basic
00161 
00162     // ==================== class Channel ====================
00163     class Channel : virtual public AMQP_ServerOperations::ChannelHandler
00164     {
00165     private:
00166         OutputHandler* out;
00167         AMQP_ServerProxy* parent;
00168 
00169     public:
00170         // Constructors and destructors
00171 
00172         Channel(OutputHandler* out, AMQP_ServerProxy* _parent) : 
00173             out(out) {parent = _parent;}
00174         virtual ~Channel() {}
00175 
00176         // Protocol methods
00177 
00178         virtual void close( u_int16_t channel,
00179                             u_int16_t replyCode,
00180                             const string& replyText,
00181                             u_int16_t classId,
00182                             u_int16_t methodId );
00183 
00184         virtual void closeOk( u_int16_t channel );
00185 
00186         virtual void flow( u_int16_t channel,
00187                             bool active );
00188 
00189         virtual void flowOk( u_int16_t channel,
00190                             bool active );
00191 
00192         virtual void open( u_int16_t channel,
00193                             const string& outOfBand );
00194     }; // class Channel
00195 
00196     // ==================== class Connection ====================
00197     class Connection : virtual public AMQP_ServerOperations::ConnectionHandler
00198     {
00199     private:
00200         OutputHandler* out;
00201         AMQP_ServerProxy* parent;
00202 
00203     public:
00204         // Constructors and destructors
00205 
00206         Connection(OutputHandler* out, AMQP_ServerProxy* _parent) : 
00207             out(out) {parent = _parent;}
00208         virtual ~Connection() {}
00209 
00210         // Protocol methods
00211 
00212         virtual void close( u_int16_t channel,
00213                             u_int16_t replyCode,
00214                             const string& replyText,
00215                             u_int16_t classId,
00216                             u_int16_t methodId );
00217 
00218         virtual void closeOk( u_int16_t channel );
00219 
00220         virtual void open( u_int16_t channel,
00221                             const string& virtualHost,
00222                             const string& capabilities,
00223                             bool insist );
00224 
00225         virtual void secureOk( u_int16_t channel,
00226                             const string& response );
00227 
00228         virtual void startOk( u_int16_t channel,
00229                             const FieldTable& clientProperties,
00230                             const string& mechanism,
00231                             const string& response,
00232                             const string& locale );
00233 
00234         virtual void tuneOk( u_int16_t channel,
00235                             u_int16_t channelMax,
00236                             u_int32_t frameMax,
00237                             u_int16_t heartbeat );
00238     }; // class Connection
00239 
00240     // ==================== class Dtx ====================
00241     class Dtx : virtual public AMQP_ServerOperations::DtxHandler
00242     {
00243     private:
00244         OutputHandler* out;
00245         AMQP_ServerProxy* parent;
00246 
00247     public:
00248         // Constructors and destructors
00249 
00250         Dtx(OutputHandler* out, AMQP_ServerProxy* _parent) : 
00251             out(out) {parent = _parent;}
00252         virtual ~Dtx() {}
00253 
00254         // Protocol methods
00255 
00256         virtual void select( u_int16_t channel );
00257 
00258         virtual void start( u_int16_t channel,
00259                             const string& dtxIdentifier );
00260     }; // class Dtx
00261 
00262     // ==================== class Exchange ====================
00263     class Exchange : virtual public AMQP_ServerOperations::ExchangeHandler
00264     {
00265     private:
00266         OutputHandler* out;
00267         AMQP_ServerProxy* parent;
00268 
00269     public:
00270         // Constructors and destructors
00271 
00272         Exchange(OutputHandler* out, AMQP_ServerProxy* _parent) : 
00273             out(out) {parent = _parent;}
00274         virtual ~Exchange() {}
00275 
00276         // Protocol methods
00277 
00278         virtual void declare( u_int16_t channel,
00279                             u_int16_t ticket,
00280                             const string& exchange,
00281                             const string& type,
00282                             bool passive,
00283                             bool durable,
00284                             bool autoDelete,
00285                             bool internal,
00286                             bool nowait,
00287                             const FieldTable& arguments );
00288 
00289         virtual void delete_( u_int16_t channel,
00290                             u_int16_t ticket,
00291                             const string& exchange,
00292                             bool ifUnused,
00293                             bool nowait );
00294     }; // class Exchange
00295 
00296     // ==================== class File ====================
00297     class File : virtual public AMQP_ServerOperations::FileHandler
00298     {
00299     private:
00300         OutputHandler* out;
00301         AMQP_ServerProxy* parent;
00302 
00303     public:
00304         // Constructors and destructors
00305 
00306         File(OutputHandler* out, AMQP_ServerProxy* _parent) : 
00307             out(out) {parent = _parent;}
00308         virtual ~File() {}
00309 
00310         // Protocol methods
00311 
00312         virtual void ack( u_int16_t channel,
00313                             u_int64_t deliveryTag,
00314                             bool multiple );
00315 
00316         virtual void cancel( u_int16_t channel,
00317                             const string& consumerTag,
00318                             bool nowait );
00319 
00320         virtual void consume( u_int16_t channel,
00321                             u_int16_t ticket,
00322                             const string& queue,
00323                             const string& consumerTag,
00324                             bool noLocal,
00325                             bool noAck,
00326                             bool exclusive,
00327                             bool nowait );
00328 
00329         virtual void open( u_int16_t channel,
00330                             const string& identifier,
00331                             u_int64_t contentSize );
00332 
00333         virtual void openOk( u_int16_t channel,
00334                             u_int64_t stagedSize );
00335 
00336         virtual void publish( u_int16_t channel,
00337                             u_int16_t ticket,
00338                             const string& exchange,
00339                             const string& routingKey,
00340                             bool mandatory,
00341                             bool immediate,
00342                             const string& identifier );
00343 
00344         virtual void qos( u_int16_t channel,
00345                             u_int32_t prefetchSize,
00346                             u_int16_t prefetchCount,
00347                             bool global );
00348 
00349         virtual void reject( u_int16_t channel,
00350                             u_int64_t deliveryTag,
00351                             bool requeue );
00352 
00353         virtual void stage( u_int16_t channel );
00354     }; // class File
00355 
00356     // ==================== class Queue ====================
00357     class Queue : virtual public AMQP_ServerOperations::QueueHandler
00358     {
00359     private:
00360         OutputHandler* out;
00361         AMQP_ServerProxy* parent;
00362 
00363     public:
00364         // Constructors and destructors
00365 
00366         Queue(OutputHandler* out, AMQP_ServerProxy* _parent) : 
00367             out(out) {parent = _parent;}
00368         virtual ~Queue() {}
00369 
00370         // Protocol methods
00371 
00372         virtual void bind( u_int16_t channel,
00373                             u_int16_t ticket,
00374                             const string& queue,
00375                             const string& exchange,
00376                             const string& routingKey,
00377                             bool nowait,
00378                             const FieldTable& arguments );
00379 
00380         virtual void declare( u_int16_t channel,
00381                             u_int16_t ticket,
00382                             const string& queue,
00383                             bool passive,
00384                             bool durable,
00385                             bool exclusive,
00386                             bool autoDelete,
00387                             bool nowait,
00388                             const FieldTable& arguments );
00389 
00390         virtual void delete_( u_int16_t channel,
00391                             u_int16_t ticket,
00392                             const string& queue,
00393                             bool ifUnused,
00394                             bool ifEmpty,
00395                             bool nowait );
00396 
00397         virtual void purge( u_int16_t channel,
00398                             u_int16_t ticket,
00399                             const string& queue,
00400                             bool nowait );
00401     }; // class Queue
00402 
00403     // ==================== class Stream ====================
00404     class Stream : virtual public AMQP_ServerOperations::StreamHandler
00405     {
00406     private:
00407         OutputHandler* out;
00408         AMQP_ServerProxy* parent;
00409 
00410     public:
00411         // Constructors and destructors
00412 
00413         Stream(OutputHandler* out, AMQP_ServerProxy* _parent) : 
00414             out(out) {parent = _parent;}
00415         virtual ~Stream() {}
00416 
00417         // Protocol methods
00418 
00419         virtual void cancel( u_int16_t channel,
00420                             const string& consumerTag,
00421                             bool nowait );
00422 
00423         virtual void consume( u_int16_t channel,
00424                             u_int16_t ticket,
00425                             const string& queue,
00426                             const string& consumerTag,
00427                             bool noLocal,
00428                             bool exclusive,
00429                             bool nowait );
00430 
00431         virtual void publish( u_int16_t channel,
00432                             u_int16_t ticket,
00433                             const string& exchange,
00434                             const string& routingKey,
00435                             bool mandatory,
00436                             bool immediate );
00437 
00438         virtual void qos( u_int16_t channel,
00439                             u_int32_t prefetchSize,
00440                             u_int16_t prefetchCount,
00441                             u_int32_t consumeRate,
00442                             bool global );
00443     }; // class Stream
00444 
00445     // ==================== class Test ====================
00446     class Test : virtual public AMQP_ServerOperations::TestHandler
00447     {
00448     private:
00449         OutputHandler* out;
00450         AMQP_ServerProxy* parent;
00451 
00452     public:
00453         // Constructors and destructors
00454 
00455         Test(OutputHandler* out, AMQP_ServerProxy* _parent) : 
00456             out(out) {parent = _parent;}
00457         virtual ~Test() {}
00458 
00459         // Protocol methods
00460 
00461         virtual void content( u_int16_t channel );
00462 
00463         virtual void contentOk( u_int16_t channel,
00464                             u_int32_t contentChecksum );
00465 
00466         virtual void integer( u_int16_t channel,
00467                             u_int8_t integer1,
00468                             u_int16_t integer2,
00469                             u_int32_t integer3,
00470                             u_int64_t integer4,
00471                             u_int8_t operation );
00472 
00473         virtual void integerOk( u_int16_t channel,
00474                             u_int64_t result );
00475 
00476         virtual void string_( u_int16_t channel,
00477                             const string& string1,
00478                             const string& string2,
00479                             u_int8_t operation );
00480 
00481         virtual void stringOk( u_int16_t channel,
00482                             const string& result );
00483 
00484         virtual void table( u_int16_t channel,
00485                             const FieldTable& table,
00486                             u_int8_t integerOp,
00487                             u_int8_t stringOp );
00488 
00489         virtual void tableOk( u_int16_t channel,
00490                             u_int64_t integerResult,
00491                             const string& stringResult );
00492     }; // class Test
00493 
00494     // ==================== class Tunnel ====================
00495     class Tunnel : virtual public AMQP_ServerOperations::TunnelHandler
00496     {
00497     private:
00498         OutputHandler* out;
00499         AMQP_ServerProxy* parent;
00500 
00501     public:
00502         // Constructors and destructors
00503 
00504         Tunnel(OutputHandler* out, AMQP_ServerProxy* _parent) : 
00505             out(out) {parent = _parent;}
00506         virtual ~Tunnel() {}
00507 
00508         // Protocol methods
00509 
00510         virtual void request( u_int16_t channel,
00511                             const FieldTable& metaData );
00512     }; // class Tunnel
00513 
00514     // ==================== class Tx ====================
00515     class Tx : virtual public AMQP_ServerOperations::TxHandler
00516     {
00517     private:
00518         OutputHandler* out;
00519         AMQP_ServerProxy* parent;
00520 
00521     public:
00522         // Constructors and destructors
00523 
00524         Tx(OutputHandler* out, AMQP_ServerProxy* _parent) : 
00525             out(out) {parent = _parent;}
00526         virtual ~Tx() {}
00527 
00528         // Protocol methods
00529 
00530         virtual void commit( u_int16_t channel );
00531 
00532         virtual void rollback( u_int16_t channel );
00533 
00534         virtual void select( u_int16_t channel );
00535     }; // class Tx
00536 
00537 private:
00538         // Inner class instances
00539         
00540     Access access;
00541     Basic basic;
00542     Channel channel;
00543     Connection connection;
00544     Dtx dtx;
00545     Exchange exchange;
00546     File file;
00547     Queue queue;
00548     Stream stream;
00549     Test test;
00550     Tunnel tunnel;
00551     Tx tx;
00552 
00553 public:
00554         // Inner class instance get methods
00555         
00556     Access& getAccess();
00557     Basic& getBasic();
00558     Channel& getChannel();
00559     Connection& getConnection();
00560     Dtx& getDtx();
00561     Exchange& getExchange();
00562     File& getFile();
00563     Queue& getQueue();
00564     Stream& getStream();
00565     Test& getTest();
00566     Tunnel& getTunnel();
00567     Tx& getTx();
00568 
00569 }; /* class AMQP_ServerProxy */
00570 
00571 } /* namespace framing */
00572 } /* namespace qpid */
00573 
00574 #endif

Generated on Mon Nov 26 19:13:17 2007 for Qpid by  doxygen 1.5.1