00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <string>
00022 #include <framing/amqp_framing.h>
00023 #include <sys/Monitor.h>
00024
00025 #ifndef _ResponseHandler_
00026 #define _ResponseHandler_
00027
00028 namespace qpid {
00029 namespace client {
00030
00031 class ResponseHandler{
00032 bool waiting;
00033 qpid::framing::AMQMethodBody::shared_ptr response;
00034 qpid::sys::Monitor monitor;
00035
00036 public:
00037 ResponseHandler();
00038 ~ResponseHandler();
00039 inline bool isWaiting(){ return waiting; }
00040 inline qpid::framing::AMQMethodBody::shared_ptr getResponse(){ return response; }
00041 bool validate(const qpid::framing::AMQMethodBody& expected);
00042 void waitForResponse();
00043 void signalResponse(qpid::framing::AMQMethodBody::shared_ptr response);
00044 void receive(const qpid::framing::AMQMethodBody& expected);
00045 void expect();
00046 };
00047
00048 }
00049 }
00050
00051
00052 #endif