/usr/share/cruisecontrol-bin-2.6.1/projects/qpid-trunk/cpp/src/gen/qpid/framing/AMQP_ClientOperations.h

00001 #ifndef QPID_FRAMING_AMQP_CLIENTOPERATIONS_H
00002 #define QPID_FRAMING_AMQP_CLIENTOPERATIONS_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 <sstream> 
00031 #include "qpid/framing/ProtocolVersion.h"
00032 #include "qpid/framing/amqp_structs.h"
00033 
00034 namespace qpid {
00035 namespace framing {
00036 
00037 class AMQMethodBody;
00038 
00039 class AMQP_ClientOperations {
00040   public:
00041     class Invoker;              // Declared in ClientInvoker
00042 
00043     virtual ~AMQP_ClientOperations() {}
00044 
00045     virtual ProtocolVersion getVersion() const = 0;
00046 
00047     // Inner classes
00048     // ==================== class ConnectionHandler ====================
00049     class ConnectionHandler {
00050         // Constructors and destructors
00051       public:
00052         class Invoker;              // Declared in ClientInvoker
00053           
00054         ConnectionHandler(){};
00055         virtual ~ConnectionHandler() {}
00056         // Protocol methods
00057     
00058     virtual void start(uint8_t versionMajor,
00059     uint8_t versionMinor,
00060     const FieldTable& serverProperties,
00061     const string& mechanisms,
00062     const string& locales) = 0;
00063     
00064     virtual void secure(const string& challenge) = 0;
00065     
00066     virtual void tune(uint16_t channelMax,
00067     uint32_t frameMax,
00068     uint16_t heartbeat) = 0;
00069     
00070     virtual void openOk(const string& knownHosts) = 0;
00071     
00072     virtual void redirect(const string& host,
00073     const string& knownHosts) = 0;
00074     
00075     virtual void close(uint16_t replyCode,
00076     const string& replyText,
00077     uint16_t classId,
00078     uint16_t methodId) = 0;
00079     
00080     virtual void closeOk(    ) = 0;
00081     }; // class ConnectionHandler
00082     
00083     
00084     // ==================== class SessionHandler ====================
00085     class SessionHandler {
00086         // Constructors and destructors
00087       public:
00088         class Invoker;              // Declared in ClientInvoker
00089           
00090         SessionHandler(){};
00091         virtual ~SessionHandler() {}
00092         // Protocol methods
00093     
00094     virtual void attached(const Uuid& sessionId,
00095     uint32_t detachedLifetime) = 0;
00096     
00097     virtual void flow(bool active) = 0;
00098     
00099     virtual void flowOk(bool active) = 0;
00100     
00101     virtual void close(    ) = 0;
00102     
00103     virtual void closed(uint16_t replyCode,
00104     const string& replyText) = 0;
00105     
00106     virtual void detached(    ) = 0;
00107     
00108     virtual void ack(uint32_t cumulativeSeenMark,
00109     const SequenceNumberSet& seenFrameSet) = 0;
00110     
00111     virtual void highWaterMark(uint32_t lastSentMark) = 0;
00112     
00113     virtual void solicitAck(    ) = 0;
00114     }; // class SessionHandler
00115     
00116     
00117     // ==================== class AccessHandler ====================
00118     class AccessHandler {
00119         // Constructors and destructors
00120       public:
00121         class Invoker;              // Declared in ClientInvoker
00122           
00123         AccessHandler(){};
00124         virtual ~AccessHandler() {}
00125         // Protocol methods
00126     
00127     virtual void requestOk(uint16_t ticket) = 0;
00128     }; // class AccessHandler
00129     
00130     
00131     // ==================== class BasicHandler ====================
00132     class BasicHandler {
00133         // Constructors and destructors
00134       public:
00135         class Invoker;              // Declared in ClientInvoker
00136           
00137         BasicHandler(){};
00138         virtual ~BasicHandler() {}
00139         // Protocol methods
00140     
00141     virtual void consumeOk(const string& consumerTag) = 0;
00142     
00143     virtual void getEmpty(const string& clusterId) = 0;
00144     }; // class BasicHandler
00145     
00146     
00147     // ==================== class FileHandler ====================
00148     class FileHandler {
00149         // Constructors and destructors
00150       public:
00151         class Invoker;              // Declared in ClientInvoker
00152           
00153         FileHandler(){};
00154         virtual ~FileHandler() {}
00155         // Protocol methods
00156     
00157     virtual void qosOk(    ) = 0;
00158     
00159     virtual void consumeOk(const string& consumerTag) = 0;
00160     
00161     virtual void open(const string& identifier,
00162     uint64_t contentSize) = 0;
00163     
00164     virtual void openOk(uint64_t stagedSize) = 0;
00165     
00166     virtual void deliver(const string& consumerTag,
00167     uint64_t deliveryTag,
00168     bool redelivered,
00169     const string& exchange,
00170     const string& routingKey,
00171     const string& identifier) = 0;
00172     }; // class FileHandler
00173     
00174     
00175     // ==================== class StreamHandler ====================
00176     class StreamHandler {
00177         // Constructors and destructors
00178       public:
00179         class Invoker;              // Declared in ClientInvoker
00180           
00181         StreamHandler(){};
00182         virtual ~StreamHandler() {}
00183         // Protocol methods
00184     
00185     virtual void qosOk(    ) = 0;
00186     
00187     virtual void consumeOk(const string& consumerTag) = 0;
00188     }; // class StreamHandler
00189     
00190     
00191     // ==================== class MessageHandler ====================
00192     class MessageHandler {
00193         // Constructors and destructors
00194       public:
00195         class Invoker;              // Declared in ClientInvoker
00196           
00197         MessageHandler(){};
00198         virtual ~MessageHandler() {}
00199         // Protocol methods
00200     
00201     virtual void reject(const SequenceNumberSet& transfers,
00202     uint16_t code,
00203     const string& text) = 0;
00204     
00205     virtual void acquired(const SequenceNumberSet& transfers) = 0;
00206     
00207     virtual void release(const SequenceNumberSet& transfers) = 0;
00208     
00209     virtual void open(const string& reference) = 0;
00210     
00211     virtual void close(const string& reference) = 0;
00212     
00213     virtual void append(const string& reference,
00214     const string& bytes) = 0;
00215     
00216     virtual void checkpoint(const string& reference,
00217     const string& identifier) = 0;
00218     
00219     virtual void resume(const string& reference,
00220     const string& identifier) = 0;
00221     
00222     virtual void flowMode(const string& destination,
00223     uint8_t mode) = 0;
00224     
00225     virtual void flow(const string& destination,
00226     uint8_t unit,
00227     uint32_t value) = 0;
00228     
00229     virtual void stop(const string& destination) = 0;
00230     
00231     virtual void empty(    ) = 0;
00232     
00233     virtual void offset(uint64_t value) = 0;
00234     }; // class MessageHandler
00235     
00236     
00237     // ==================== class ExecutionHandler ====================
00238     class ExecutionHandler {
00239         // Constructors and destructors
00240       public:
00241         class Invoker;              // Declared in ClientInvoker
00242           
00243         ExecutionHandler(){};
00244         virtual ~ExecutionHandler() {}
00245         // Protocol methods
00246     
00247     virtual void flush(    ) = 0;
00248     
00249     virtual void complete(uint32_t cumulativeExecutionMark,
00250     const SequenceNumberSet& rangedExecutionSet) = 0;
00251     
00252     virtual void noop(    ) = 0;
00253     
00254     virtual void result(uint32_t commandId,
00255     const string& data) = 0;
00256     
00257     virtual void sync(    ) = 0;
00258     }; // class ExecutionHandler
00259     
00260     
00261     // ==================== class Connection010Handler ====================
00262     class Connection010Handler {
00263         // Constructors and destructors
00264       public:
00265         class Invoker;              // Declared in ClientInvoker
00266           
00267         Connection010Handler(){};
00268         virtual ~Connection010Handler() {}
00269         // Protocol methods
00270     
00271     virtual void start(const FieldTable& serverProperties,
00272     const Array& mechanisms,
00273     const Array& locales) = 0;
00274     
00275     virtual void secure(const string& challenge) = 0;
00276     
00277     virtual void tune(uint16_t channelMax,
00278     uint16_t frameMax,
00279     uint16_t heartbeatMin,
00280     uint16_t heartbeatMax) = 0;
00281     
00282     virtual void openOk(const Array& knownHosts) = 0;
00283     
00284     virtual void redirect(const string& host,
00285     const string& knownHosts) = 0;
00286     
00287     virtual void close(uint16_t replyCode,
00288     const string& replyText,
00289     uint16_t classId,
00290     uint16_t methodId) = 0;
00291     
00292     virtual void closeOk(    ) = 0;
00293     }; // class Connection010Handler
00294     
00295     
00296     // ==================== class Session010Handler ====================
00297     class Session010Handler {
00298         // Constructors and destructors
00299       public:
00300         class Invoker;              // Declared in ClientInvoker
00301           
00302         Session010Handler(){};
00303         virtual ~Session010Handler() {}
00304         // Protocol methods
00305     
00306     virtual void attach(const string& name,
00307     bool force) = 0;
00308     
00309     virtual void attached(const string& name) = 0;
00310     
00311     virtual void detach(const string& name) = 0;
00312     
00313     virtual void detached(const string& name,
00314     uint8_t detachCode) = 0;
00315     
00316     virtual void requestTimeout(uint32_t timeout) = 0;
00317     
00318     virtual void timeout(uint32_t timeout) = 0;
00319     
00320     virtual void commandPoint(uint32_t commandId,
00321     uint64_t commandOffset) = 0;
00322     
00323     virtual void expected(const SequenceSet& commands,
00324     const Array& fragments) = 0;
00325     
00326     virtual void confirmed(const SequenceSet& commands,
00327     const Array& fragments) = 0;
00328     
00329     virtual void completed(const SequenceSet& commands,
00330     bool timelyReply) = 0;
00331     
00332     virtual void knownCompleted(const SequenceSet& commands) = 0;
00333     
00334     virtual void flush(bool expected,
00335     bool confirmed,
00336     bool completed) = 0;
00337     
00338     virtual void gap(const SequenceSet& commands) = 0;
00339     }; // class Session010Handler
00340     
00341     
00342     // ==================== class Execution010Handler ====================
00343     class Execution010Handler {
00344         // Constructors and destructors
00345       public:
00346         class Invoker;              // Declared in ClientInvoker
00347           
00348         Execution010Handler(){};
00349         virtual ~Execution010Handler() {}
00350         // Protocol methods
00351     
00352     virtual void sync(    ) = 0;
00353     
00354     virtual void result(uint32_t commandId,
00355     const string& value) = 0;
00356     
00357     virtual void exception(uint16_t errorCode,
00358     uint32_t commandId,
00359     uint8_t classCode,
00360     uint8_t commandCode,
00361     uint8_t fieldIndex,
00362     const string& description,
00363     const FieldTable& errorInfo) = 0;
00364     }; // class Execution010Handler
00365     
00366     
00367     // ==================== class Message010Handler ====================
00368     class Message010Handler {
00369         // Constructors and destructors
00370       public:
00371         class Invoker;              // Declared in ClientInvoker
00372           
00373         Message010Handler(){};
00374         virtual ~Message010Handler() {}
00375         // Protocol methods
00376     
00377     virtual void transfer(const string& destination,
00378     uint8_t acceptMode,
00379     uint8_t acquireMode) = 0;
00380     
00381     virtual void accept(const SequenceSet& commands) = 0;
00382     
00383     virtual void reject(const SequenceSet& commands,
00384     uint16_t code,
00385     const string& text) = 0;
00386     }; // class Message010Handler
00387     
00388     
00389 
00390     // Method handler get methods
00391 
00392     virtual ConnectionHandler* getConnectionHandler() = 0;
00393     virtual SessionHandler* getSessionHandler() = 0;
00394     virtual AccessHandler* getAccessHandler() = 0;
00395     virtual BasicHandler* getBasicHandler() = 0;
00396     virtual FileHandler* getFileHandler() = 0;
00397     virtual StreamHandler* getStreamHandler() = 0;
00398     virtual MessageHandler* getMessageHandler() = 0;
00399     virtual ExecutionHandler* getExecutionHandler() = 0;
00400     virtual Connection010Handler* getConnection010Handler() = 0;
00401     virtual Session010Handler* getSession010Handler() = 0;
00402     virtual Execution010Handler* getExecution010Handler() = 0;
00403     virtual Message010Handler* getMessage010Handler() = 0;
00404 }; /* class AMQP_ClientOperations */
00405 }}
00406 #endif  

Generated on Thu Apr 10 11:08:15 2008 for Qpid by  doxygen 1.4.7