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

Generated on Thu Jan 25 11:48:13 2007 for Qpid by  doxygen 1.5.1