65 lines
1.7 KiB
C
65 lines
1.7 KiB
C
|
#ifndef QAMQPQUEUE_P_H
|
||
|
#define QAMQPQUEUE_P_H
|
||
|
|
||
|
#include <QQueue>
|
||
|
#include <QStringList>
|
||
|
|
||
|
#include "qamqpchannel_p.h"
|
||
|
|
||
|
class QAmqpQueuePrivate: public QAmqpChannelPrivate,
|
||
|
public QAmqpContentFrameHandler,
|
||
|
public QAmqpContentBodyFrameHandler
|
||
|
{
|
||
|
public:
|
||
|
enum MethodId {
|
||
|
METHOD_ID_ENUM(miDeclare, 10),
|
||
|
METHOD_ID_ENUM(miBind, 20),
|
||
|
METHOD_ID_ENUM(miUnbind, 50),
|
||
|
METHOD_ID_ENUM(miPurge, 30),
|
||
|
METHOD_ID_ENUM(miDelete, 40)
|
||
|
};
|
||
|
|
||
|
QAmqpQueuePrivate(QAmqpQueue *q);
|
||
|
~QAmqpQueuePrivate();
|
||
|
|
||
|
virtual void resetInternalState();
|
||
|
|
||
|
void declare();
|
||
|
virtual bool _q_method(const QAmqpMethodFrame &frame);
|
||
|
|
||
|
// AMQP Queue method handlers
|
||
|
void declareOk(const QAmqpMethodFrame &frame);
|
||
|
void deleteOk(const QAmqpMethodFrame &frame);
|
||
|
void purgeOk(const QAmqpMethodFrame &frame);
|
||
|
void bindOk(const QAmqpMethodFrame &frame);
|
||
|
void unbindOk(const QAmqpMethodFrame &frame);
|
||
|
void consumeOk(const QAmqpMethodFrame &frame);
|
||
|
|
||
|
// AMQP Basic method handlers
|
||
|
virtual void _q_content(const QAmqpContentFrame &frame);
|
||
|
virtual void _q_body(const QAmqpContentBodyFrame &frame);
|
||
|
void deliver(const QAmqpMethodFrame &frame);
|
||
|
void getOk(const QAmqpMethodFrame &frame);
|
||
|
void cancelOk(const QAmqpMethodFrame &frame);
|
||
|
|
||
|
QString type;
|
||
|
int options;
|
||
|
bool delayedDeclare;
|
||
|
bool declared;
|
||
|
QQueue<QPair<QString, QString> > delayedBindings;
|
||
|
|
||
|
QString consumerTag;
|
||
|
bool recievingMessage;
|
||
|
QAmqpMessage currentMessage;
|
||
|
bool consuming;
|
||
|
bool consumeRequested;
|
||
|
|
||
|
qint32 messageCount;
|
||
|
qint32 consumerCount;
|
||
|
|
||
|
Q_DECLARE_PUBLIC(QAmqpQueue)
|
||
|
|
||
|
};
|
||
|
|
||
|
#endif // QAMQPQUEUE_P_H
|