/opt/workspace/qpid/tags/M2/Final/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 recoverOk( u_int16_t channel );
00141 
00142         virtual void return_( u_int16_t channel,
00143                             u_int16_t replyCode,
00144                             const string& replyText,
00145                             const string& exchange,
00146                             const string& routingKey );
00147     }; // class Basic
00148 
00149     // ==================== class Channel ====================
00150     class Channel : virtual public AMQP_ClientOperations::ChannelHandler
00151     {
00152     private:
00153         OutputHandler* out;
00154         AMQP_ClientProxy* parent;
00155 
00156     public:
00157         // Constructors and destructors
00158 
00159         Channel(OutputHandler* out, AMQP_ClientProxy* _parent) : 
00160             out(out) {parent = _parent;}
00161         virtual ~Channel() {}
00162 
00163         // Protocol methods
00164 
00165         virtual void alert( u_int16_t channel,
00166                             u_int16_t replyCode,
00167                             const string& replyText,
00168                             const FieldTable& details );
00169 
00170         virtual void close( u_int16_t channel,
00171                             u_int16_t replyCode,
00172                             const string& replyText,
00173                             u_int16_t classId,
00174                             u_int16_t methodId );
00175 
00176         virtual void closeOk( u_int16_t channel );
00177 
00178         virtual void flow( u_int16_t channel,
00179                             bool active );
00180 
00181         virtual void flowOk( u_int16_t channel,
00182                             bool active );
00183 
00184         virtual void openOk( u_int16_t channel );
00185     }; // class Channel
00186 
00187     // ==================== class Connection ====================
00188     class Connection : virtual public AMQP_ClientOperations::ConnectionHandler
00189     {
00190     private:
00191         OutputHandler* out;
00192         AMQP_ClientProxy* parent;
00193 
00194     public:
00195         // Constructors and destructors
00196 
00197         Connection(OutputHandler* out, AMQP_ClientProxy* _parent) : 
00198             out(out) {parent = _parent;}
00199         virtual ~Connection() {}
00200 
00201         // Protocol methods
00202 
00203         virtual void close( u_int16_t channel,
00204                             u_int16_t replyCode,
00205                             const string& replyText,
00206                             u_int16_t classId,
00207                             u_int16_t methodId );
00208 
00209         virtual void closeOk( u_int16_t channel );
00210 
00211         virtual void openOk( u_int16_t channel,
00212                             const string& knownHosts );
00213 
00214         virtual void redirect( u_int16_t channel,
00215                             const string& host,
00216                             const string& knownHosts );
00217 
00218         virtual void secure( u_int16_t channel,
00219                             const string& challenge );
00220 
00221         virtual void start( u_int16_t channel,
00222                             u_int8_t versionMajor,
00223                             u_int8_t versionMinor,
00224                             const FieldTable& serverProperties,
00225                             const string& mechanisms,
00226                             const string& locales );
00227 
00228         virtual void tune( u_int16_t channel,
00229                             u_int16_t channelMax,
00230                             u_int32_t frameMax,
00231                             u_int16_t heartbeat );
00232     }; // class Connection
00233 
00234     // ==================== class Dtx ====================
00235     class Dtx : virtual public AMQP_ClientOperations::DtxHandler
00236     {
00237     private:
00238         OutputHandler* out;
00239         AMQP_ClientProxy* parent;
00240 
00241     public:
00242         // Constructors and destructors
00243 
00244         Dtx(OutputHandler* out, AMQP_ClientProxy* _parent) : 
00245             out(out) {parent = _parent;}
00246         virtual ~Dtx() {}
00247 
00248         // Protocol methods
00249 
00250         virtual void selectOk( u_int16_t channel );
00251 
00252         virtual void startOk( u_int16_t channel );
00253     }; // class Dtx
00254 
00255     // ==================== class Exchange ====================
00256     class Exchange : virtual public AMQP_ClientOperations::ExchangeHandler
00257     {
00258     private:
00259         OutputHandler* out;
00260         AMQP_ClientProxy* parent;
00261 
00262     public:
00263         // Constructors and destructors
00264 
00265         Exchange(OutputHandler* out, AMQP_ClientProxy* _parent) : 
00266             out(out) {parent = _parent;}
00267         virtual ~Exchange() {}
00268 
00269         // Protocol methods
00270 
00271         virtual void declareOk( u_int16_t channel );
00272 
00273         virtual void deleteOk( u_int16_t channel );
00274     }; // class Exchange
00275 
00276     // ==================== class File ====================
00277     class File : virtual public AMQP_ClientOperations::FileHandler
00278     {
00279     private:
00280         OutputHandler* out;
00281         AMQP_ClientProxy* parent;
00282 
00283     public:
00284         // Constructors and destructors
00285 
00286         File(OutputHandler* out, AMQP_ClientProxy* _parent) : 
00287             out(out) {parent = _parent;}
00288         virtual ~File() {}
00289 
00290         // Protocol methods
00291 
00292         virtual void cancelOk( u_int16_t channel,
00293                             const string& consumerTag );
00294 
00295         virtual void consumeOk( u_int16_t channel,
00296                             const string& consumerTag );
00297 
00298         virtual void deliver( u_int16_t channel,
00299                             const string& consumerTag,
00300                             u_int64_t deliveryTag,
00301                             bool redelivered,
00302                             const string& exchange,
00303                             const string& routingKey,
00304                             const string& identifier );
00305 
00306         virtual void open( u_int16_t channel,
00307                             const string& identifier,
00308                             u_int64_t contentSize );
00309 
00310         virtual void openOk( u_int16_t channel,
00311                             u_int64_t stagedSize );
00312 
00313         virtual void qosOk( u_int16_t channel );
00314 
00315         virtual void return_( u_int16_t channel,
00316                             u_int16_t replyCode,
00317                             const string& replyText,
00318                             const string& exchange,
00319                             const string& routingKey );
00320 
00321         virtual void stage( u_int16_t channel );
00322     }; // class File
00323 
00324     // ==================== class Queue ====================
00325     class Queue : virtual public AMQP_ClientOperations::QueueHandler
00326     {
00327     private:
00328         OutputHandler* out;
00329         AMQP_ClientProxy* parent;
00330 
00331     public:
00332         // Constructors and destructors
00333 
00334         Queue(OutputHandler* out, AMQP_ClientProxy* _parent) : 
00335             out(out) {parent = _parent;}
00336         virtual ~Queue() {}
00337 
00338         // Protocol methods
00339 
00340         virtual void bindOk( u_int16_t channel );
00341 
00342         virtual void declareOk( u_int16_t channel,
00343                             const string& queue,
00344                             u_int32_t messageCount,
00345                             u_int32_t consumerCount );
00346 
00347         virtual void deleteOk( u_int16_t channel,
00348                             u_int32_t messageCount );
00349 
00350         virtual void purgeOk( u_int16_t channel,
00351                             u_int32_t messageCount );
00352     }; // class Queue
00353 
00354     // ==================== class Stream ====================
00355     class Stream : virtual public AMQP_ClientOperations::StreamHandler
00356     {
00357     private:
00358         OutputHandler* out;
00359         AMQP_ClientProxy* parent;
00360 
00361     public:
00362         // Constructors and destructors
00363 
00364         Stream(OutputHandler* out, AMQP_ClientProxy* _parent) : 
00365             out(out) {parent = _parent;}
00366         virtual ~Stream() {}
00367 
00368         // Protocol methods
00369 
00370         virtual void cancelOk( u_int16_t channel,
00371                             const string& consumerTag );
00372 
00373         virtual void consumeOk( u_int16_t channel,
00374                             const string& consumerTag );
00375 
00376         virtual void deliver( u_int16_t channel,
00377                             const string& consumerTag,
00378                             u_int64_t deliveryTag,
00379                             const string& exchange,
00380                             const string& queue );
00381 
00382         virtual void qosOk( u_int16_t channel );
00383 
00384         virtual void return_( u_int16_t channel,
00385                             u_int16_t replyCode,
00386                             const string& replyText,
00387                             const string& exchange,
00388                             const string& routingKey );
00389     }; // class Stream
00390 
00391     // ==================== class Test ====================
00392     class Test : virtual public AMQP_ClientOperations::TestHandler
00393     {
00394     private:
00395         OutputHandler* out;
00396         AMQP_ClientProxy* parent;
00397 
00398     public:
00399         // Constructors and destructors
00400 
00401         Test(OutputHandler* out, AMQP_ClientProxy* _parent) : 
00402             out(out) {parent = _parent;}
00403         virtual ~Test() {}
00404 
00405         // Protocol methods
00406 
00407         virtual void content( u_int16_t channel );
00408 
00409         virtual void contentOk( u_int16_t channel,
00410                             u_int32_t contentChecksum );
00411 
00412         virtual void integer( u_int16_t channel,
00413                             u_int8_t integer1,
00414                             u_int16_t integer2,
00415                             u_int32_t integer3,
00416                             u_int64_t integer4,
00417                             u_int8_t operation );
00418 
00419         virtual void integerOk( u_int16_t channel,
00420                             u_int64_t result );
00421 
00422         virtual void string_( u_int16_t channel,
00423                             const string& string1,
00424                             const string& string2,
00425                             u_int8_t operation );
00426 
00427         virtual void stringOk( u_int16_t channel,
00428                             const string& result );
00429 
00430         virtual void table( u_int16_t channel,
00431                             const FieldTable& table,
00432                             u_int8_t integerOp,
00433                             u_int8_t stringOp );
00434 
00435         virtual void tableOk( u_int16_t channel,
00436                             u_int64_t integerResult,
00437                             const string& stringResult );
00438     }; // class Test
00439 
00440     // ==================== class Tunnel ====================
00441     class Tunnel : virtual public AMQP_ClientOperations::TunnelHandler
00442     {
00443     private:
00444         OutputHandler* out;
00445         AMQP_ClientProxy* parent;
00446 
00447     public:
00448         // Constructors and destructors
00449 
00450         Tunnel(OutputHandler* out, AMQP_ClientProxy* _parent) : 
00451             out(out) {parent = _parent;}
00452         virtual ~Tunnel() {}
00453 
00454         // Protocol methods
00455 
00456     }; // class Tunnel
00457 
00458     // ==================== class Tx ====================
00459     class Tx : virtual public AMQP_ClientOperations::TxHandler
00460     {
00461     private:
00462         OutputHandler* out;
00463         AMQP_ClientProxy* parent;
00464 
00465     public:
00466         // Constructors and destructors
00467 
00468         Tx(OutputHandler* out, AMQP_ClientProxy* _parent) : 
00469             out(out) {parent = _parent;}
00470         virtual ~Tx() {}
00471 
00472         // Protocol methods
00473 
00474         virtual void commitOk( u_int16_t channel );
00475 
00476         virtual void rollbackOk( u_int16_t channel );
00477 
00478         virtual void selectOk( u_int16_t channel );
00479     }; // class Tx
00480 
00481 private:
00482         // Inner class instances
00483         
00484     Access access;
00485     Basic basic;
00486     Channel channel;
00487     Connection connection;
00488     Dtx dtx;
00489     Exchange exchange;
00490     File file;
00491     Queue queue;
00492     Stream stream;
00493     Test test;
00494     Tunnel tunnel;
00495     Tx tx;
00496 
00497 public:
00498         // Inner class instance get methods
00499         
00500     Access& getAccess();
00501     Basic& getBasic();
00502     Channel& getChannel();
00503     Connection& getConnection();
00504     Dtx& getDtx();
00505     Exchange& getExchange();
00506     File& getFile();
00507     Queue& getQueue();
00508     Stream& getStream();
00509     Test& getTest();
00510     Tunnel& getTunnel();
00511     Tx& getTx();
00512     
00513 }; /* class AMQP_ClientProxy */
00514 
00515 } /* namespace framing */
00516 } /* namespace qpid */
00517 
00518 #endif

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