00001 #ifndef __AQQUEUE_H_
00002 #define __AQQUEUE_H_
00003
00004 #include "ocicpp.h"
00005 #include "OraError.h"
00006 #include "AQMessage.h"
00007
00008 namespace OCICPP
00009 {
00010 using std::string;
00011
00012 class AQQueue
00013 {
00014 private:
00015 int Initialized;
00016 string queue_name;
00017 OCIEnv *envhp;
00018 OCISvcCtx *svchp;
00019 OCIError *errhp;
00020 OCIType *payload_tdo;
00021 int Navigation;
00022 int DequeueMode;
00023 int Wait;
00024
00025 public:
00026 AQQueue();
00027 void init(std::string& queue_name, OCIEnv *env, OCISvcCtx *svc, OCIError *err);
00028 string Enqueue(OCICPP::AQMessage &msg);
00029 void Dequeue(OCICPP::AQMessage &msg, std::string req_msg_id = "", std::string req_corr_id = "");
00030 void DequeueByCorrelationIdentifier(OCICPP::AQMessage &msg, std::string req_corr_id);
00031 void DequeueByMessageID(OCICPP::AQMessage &msg, std::string req_msg_id);
00032
00033 void setNavigation(int Navigation);
00034 void setDequeueMode(int DequeueMode);
00035 void setWait(int Wait);
00036 };
00037
00038 }
00039
00040
00041 #endif
00042