亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? aqqueue.cpp

?? oracle引用庫
?? CPP
字號:
#define __OCICPP_INTERNAL_USE_
#include <stdio.h>
#include "AQMessage.h"
#include "AQQueue.h"#include "OraError.h"
/*! \class OCICPP::AQQueue  \brief Advanced Queue representation  This class represents an advanced queue from the oracle server. This feature  is available from Oracle 8 on within the Enterprise Edition. The current  implementation does not provide structured payload, so the extensions  available with the Object-option are not supported, currently.*//*!  Create an uninitialized advanced queue. */OCICPP::AQQueue::AQQueue(){	envhp = 0;	svchp = 0;	errhp = 0;	payload_tdo = 0;	Navigation = OCI_DEQ_NEXT_MSG;	DequeueMode = OCI_DEQ_REMOVE;	Wait = OCI_DEQ_WAIT_FOREVER;	Initialized = 0;}void	OCICPP::AQQueue::init(std::string& queue_name, OCIEnv *env, OCISvcCtx *svc, OCIError *err){	this->queue_name.assign(queue_name);	envhp = env;	svchp = svc;	errhp = err;	// get the payload_tdo	CHECKERR(errhp, OCITypeByName(		envhp, errhp, svchp,		(text *) "SYS", strlen("SYS"),		(text *) "RAW", strlen("RAW"),                (text *) 0, 0,		OCI_DURATION_SESSION, OCI_TYPEGET_ALL, &payload_tdo));	Initialized = 1;}void	OCICPP::AQQueue::setNavigation(int Navigation){	this->Navigation = Navigation;}void	OCICPP::AQQueue::setDequeueMode(int DequeueMode){	this->DequeueMode = DequeueMode;}void	OCICPP::AQQueue::setWait(int Wait){	this->Wait = Wait;}/*!  Enqueue a message \a msg in the queue. */string OCICPP::AQQueue::Enqueue(OCICPP::AQMessage &msg){	OCIRaw			*payload = (OCIRaw *) 0;	void			*payload_ptr = NULL;	size_t			payload_sz;	OCIRaw			*msg_id = (OCIRaw *) 0;	string			str_msg_id;	OCIAQMsgProperties	*msg_prop = (OCIAQMsgProperties *) 0;	char			corr_id[129];	char			ex_queue[129];	sb4			msgdelay;	sb4			msgexp;	sb4			msgpriority;	if(!Initialized)		throw(OraError("AQQueue not initialized.  Cannot Enqueue.", OCICPPERROR));	try	{		// set up the message properties		OCIDescriptorAlloc(envhp, (dvoid **)&msg_prop, OCI_DTYPE_AQMSG_PROPERTIES, 0, (dvoid **)0);		// set a correlation identifier?		if(msg.getCorrelationIdentifier().size() > 0)		{			sprintf(corr_id, "%.128s", msg.getCorrelationIdentifier().c_str());			CHECKERR(errhp, OCIAttrSet(msg_prop, OCI_DTYPE_AQMSG_PROPERTIES, (dvoid *) &corr_id, strlen(corr_id), OCI_ATTR_CORRELATION, errhp));		}		// set a delay?		if(msg.getDelay() > 0)		{			msgdelay = msg.getDelay();			CHECKERR(errhp, OCIAttrSet(msg_prop, OCI_DTYPE_AQMSG_PROPERTIES, (dvoid *) &msgdelay, sizeof(msgdelay), OCI_ATTR_DELAY, errhp));		}		// set an exception queue?		if(msg.getExceptionQueue().size() > 0)		{			sprintf(ex_queue, "%.128s", msg.getExceptionQueue().c_str());			CHECKERR(errhp, OCIAttrSet(msg_prop, OCI_DTYPE_AQMSG_PROPERTIES, (dvoid *) &ex_queue, strlen(ex_queue), OCI_ATTR_EXCEPTION_QUEUE, errhp));		}		// set an expiration?		if(msg.getExpiration() > 0)		{			msgexp = msg.getExpiration();			CHECKERR(errhp, OCIAttrSet(msg_prop, OCI_DTYPE_AQMSG_PROPERTIES, (dvoid *) &msgexp, sizeof(msgexp), OCI_ATTR_EXPIRATION, errhp));		}		// set an expiration?		if(msg.getPriority() > 0)		{			msgpriority = msg.getPriority();			CHECKERR(errhp, OCIAttrSet(msg_prop, OCI_DTYPE_AQMSG_PROPERTIES, (dvoid *) &msgpriority, sizeof(msgpriority), OCI_ATTR_EXPIRATION, errhp));		}		// prepare the actual payload...		msg.getPayload(&payload_ptr, &payload_sz);		CHECKERR(errhp, OCIRawAssignBytes(envhp, errhp, (ub1 *) payload_ptr, payload_sz, &payload));		// enqueue the message...		CHECKERR(errhp,	OCIAQEnq(			svchp,	                	// service context			errhp,				// error handle			(text *) queue_name.c_str(),	// duh: queue name			(OCIAQEnqOptions *) NULL,  	// currently not supporting Enqueue options, maybe someday...			msg_prop,			// message properties			payload_tdo,			// Type Descriptor Object			(dvoid **) &payload,           	// The actual payload			(dvoid **) NULL,		// payload_ind			&msg_id,			// receivies the message id			OCI_DEFAULT)			// flags		);		// Hopefully, the message id will be a string, and not binary data.		// If it turns out to be binary, this will have to change...		str_msg_id.assign((char *) OCIRawPtr(envhp, msg_id), OCIRawSize(envhp, msg_id));		// free the message properties descriptor...		OCIDescriptorFree(msg_prop, OCI_DTYPE_AQMSG_PROPERTIES);		// free the payload pointer		free(payload_ptr);	}	catch(OraError err)	{		OCIDescriptorFree(msg_prop, OCI_DTYPE_AQMSG_PROPERTIES);		if(payload_ptr)			free(payload_ptr);		throw;	}	return(str_msg_id);}/*!  Dequeues the next message matching the correlation identifier \a req_corr_id. */void OCICPP::AQQueue::DequeueByCorrelationIdentifier(OCICPP::AQMessage &msg, std::string req_corr_id){	Dequeue(msg, "", req_corr_id);}/*!  Dequeues the next message matching the message id \a req_msg_id. */void OCICPP::AQQueue::DequeueByMessageID(OCICPP::AQMessage &msg, std::string req_msg_id){	Dequeue(msg, req_msg_id, "");}/*!  Dequeues the next message matching the message id \a req_msg_id. and the  correlation identifier \a req_corr_id. */void OCICPP::AQQueue::Dequeue(OCICPP::AQMessage &msg, std::string req_msg_id, std::string req_corr_id){	OCIAQDeqOptions		*deq_opt = (OCIAQDeqOptions *) 0;	OCIAQMsgProperties	*msg_prop = (OCIAQMsgProperties *) 0;	OCIRaw			*raw_req_msg_id = (OCIRaw *) 0;	OCIRaw			*payload = (OCIRaw *) 0;	void			*payload_ptr = NULL;	size_t			payload_sz;	string			str_msg_id;	OCIRaw			*msg_id = (OCIRaw *) 0;	char			corr_id[129];	text			*corr_id_out = NULL;	ub4			corr_id_out_sz = 0;	string			str_corr_id_out;	sb4			priority_out = 0;	if(!Initialized)		throw(OraError("AQQueue not initialized.  Cannot Dequeue.", OCICPPERROR));	try	{		// allocate the dequeue options...		OCIDescriptorAlloc(envhp, (dvoid **)&deq_opt, OCI_DTYPE_AQDEQ_OPTIONS, 0, (dvoid **) 0);		// allocate the message properties...		OCIDescriptorAlloc(envhp, (dvoid **)&msg_prop, OCI_DTYPE_AQMSG_PROPERTIES, 0, (dvoid **)0);  		// correlation identifier		if(req_corr_id != "")		{			sprintf(corr_id, "%.128s", req_corr_id.c_str());			CHECKERR(errhp, OCIAttrSet(deq_opt, OCI_DTYPE_AQDEQ_OPTIONS, (dvoid *) &corr_id, strlen(corr_id), OCI_ATTR_CORRELATION, errhp));		}		// is the user requesting a particular message id?		if(req_msg_id != "")		{			CHECKERR(errhp, OCIRawAssignBytes(envhp, errhp, (ub1 *) req_msg_id.c_str(), req_msg_id.size(), &raw_req_msg_id));			CHECKERR(errhp, OCIAttrSet(deq_opt, OCI_DTYPE_AQDEQ_OPTIONS, (dvoid *) &raw_req_msg_id, OCIRawSize(envhp, raw_req_msg_id), OCI_ATTR_DEQ_MSGID, errhp));		}		// dequeue mode		CHECKERR(errhp, OCIAttrSet(deq_opt, OCI_DTYPE_AQDEQ_OPTIONS, (dvoid *) &DequeueMode, sizeof(DequeueMode), OCI_ATTR_DEQ_MODE, errhp));		// navigation		CHECKERR(errhp, OCIAttrSet(deq_opt, OCI_DTYPE_AQDEQ_OPTIONS, (dvoid *) &Navigation, sizeof(Navigation), OCI_ATTR_NAVIGATION, errhp));		// wait		CHECKERR(errhp, OCIAttrSet(deq_opt, OCI_DTYPE_AQDEQ_OPTIONS, (dvoid *) &Wait, sizeof(Wait), OCI_ATTR_WAIT, errhp));		// dequeue the message...		CHECKERR(errhp,	OCIAQDeq(			svchp, errhp,			(ub1 *) queue_name.c_str(),			deq_opt,			msg_prop,			payload_tdo, 			(dvoid **) &payload,			(dvoid **) NULL, 			&msg_id, OCI_DEFAULT)		);		// todo: what if we timed out without getting a message???		// get the payload		if(payload != NULL)		{			payload_ptr = OCIRawPtr(envhp, payload);			payload_sz = OCIRawSize(envhp, payload);			msg.setPayload(payload_ptr, payload_sz);		}		// get the message id		if(msg_id != NULL)		{			str_msg_id.assign((char *) OCIRawPtr(envhp, msg_id), OCIRawSize(envhp, msg_id));			msg.setMessageID(str_msg_id);		}		// get the message's correlation identifier		CHECKERR(errhp, OCIAttrGet(msg_prop, OCI_DTYPE_AQMSG_PROPERTIES, (dvoid *) &corr_id_out, &corr_id_out_sz, OCI_ATTR_CORRELATION, errhp));		if(corr_id_out)		{			str_corr_id_out.assign((char *)corr_id_out, corr_id_out_sz);			msg.setCorrelationIdentifier(str_corr_id_out);		}		// get the message's priority		CHECKERR(errhp, OCIAttrGet(msg_prop, OCI_DTYPE_AQMSG_PROPERTIES, (dvoid *) &priority_out, NULL, OCI_ATTR_PRIORITY, errhp));		msg.setPriority(priority_out);		OCIDescriptorFree(msg_prop, OCI_DTYPE_AQMSG_PROPERTIES);		OCIDescriptorFree(deq_opt, OCI_DTYPE_AQDEQ_OPTIONS);	}	catch(OraError err)	{		OCIDescriptorFree(msg_prop, OCI_DTYPE_AQMSG_PROPERTIES);		OCIDescriptorFree(deq_opt, OCI_DTYPE_AQDEQ_OPTIONS);		throw;	}	return;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女看a上一区| 91精品国产美女浴室洗澡无遮挡| 国产伦精品一区二区三区视频青涩 | 国产精品综合网| 狠狠色丁香九九婷婷综合五月 | 欧美人与禽zozo性伦| 欧美系列在线观看| 欧美精品日韩精品| 欧美精品视频www在线观看 | 亚洲三级视频在线观看| 自拍偷拍亚洲欧美日韩| 一区二区三区四区高清精品免费观看| 国产精品毛片大码女人| 亚洲视频免费看| 亚洲午夜三级在线| 欧美日韩国产欧美日美国产精品| 欧美在线免费观看视频| 欧美色图一区二区三区| 91精品国产色综合久久| 精品国产乱码久久久久久闺蜜| 久久伊人蜜桃av一区二区| 国产欧美日韩亚州综合| 亚洲欧美日韩精品久久久久| 亚洲激情第一区| 日日摸夜夜添夜夜添精品视频| 九九精品视频在线看| 高清日韩电视剧大全免费| 色综合天天综合色综合av | 樱桃视频在线观看一区| 亚洲国产欧美在线人成| 麻豆精品视频在线观看| 成人小视频免费观看| 欧美色精品在线视频| 精品国产91乱码一区二区三区| 中文字幕国产一区| 亚洲国产精品久久不卡毛片| 韩国精品在线观看| 91网页版在线| 精品欧美黑人一区二区三区| 国产精品国产三级国产有无不卡| 亚洲男人都懂的| 精品在线免费观看| www.亚洲人| 欧美一区二区三区精品| 欧美国产一区二区| 91国产丝袜在线播放| 日韩欧美国产午夜精品| 国产精品国产三级国产aⅴ中文| 亚洲成人中文在线| 国产成人亚洲精品青草天美| 欧美在线|欧美| 久久久精品国产免费观看同学| 亚洲精品菠萝久久久久久久| 看电影不卡的网站| 91免费国产在线| 久久人人爽人人爽| 亚洲成av人片在www色猫咪| 国产成人精品免费| 日韩欧美一区二区在线视频| 亚洲男人天堂av网| 国产成人在线免费| 日韩精品一区二区三区在线观看 | 中文字幕一区二区三| 麻豆精品视频在线观看| 日本韩国精品在线| 中文字幕av一区 二区| 麻豆精品在线视频| 欧美日韩午夜影院| 亚洲三级久久久| 成人永久免费视频| 麻豆极品一区二区三区| 91国产视频在线观看| 国产精品美女久久久久久| 久久国产夜色精品鲁鲁99| 91福利视频在线| 国产精品不卡一区二区三区| 极品少妇一区二区| 日韩欧美专区在线| 日韩不卡手机在线v区| 91亚洲大成网污www| 欧美激情一区在线观看| 韩国av一区二区| 日韩午夜在线观看视频| 亚洲va天堂va国产va久| 色综合久久综合网97色综合 | 一区二区三区四区五区视频在线观看| 国产精品一区二区久激情瑜伽| 日韩欧美国产1| 日韩国产成人精品| 欧美人xxxx| 午夜精品久久久久久久99樱桃| 在线视频国产一区| 亚洲最色的网站| 欧美综合天天夜夜久久| 亚洲少妇屁股交4| 91在线免费看| 亚洲狼人国产精品| 色哟哟一区二区三区| 亚洲美女偷拍久久| 色综合久久99| 亚洲国产精品天堂| 欧美日韩欧美一区二区| 亚洲bt欧美bt精品777| 欧美日韩精品福利| 亚洲成人av电影在线| 777午夜精品视频在线播放| 婷婷亚洲久悠悠色悠在线播放| 欧美日韩一区三区| 日韩电影在线免费看| 日韩视频免费直播| 国产在线精品不卡| 国产精品色噜噜| 色综合一区二区| 午夜成人在线视频| 欧美一级片在线看| 精品综合免费视频观看| 国产清纯在线一区二区www| 成人激情图片网| 亚洲精品成人在线| 91精品国产综合久久福利| 老色鬼精品视频在线观看播放| 精品福利二区三区| 国产大陆亚洲精品国产| 国产精品毛片久久久久久久| 色网综合在线观看| 天堂成人国产精品一区| 精品欧美一区二区在线观看| 国产91精品一区二区麻豆网站| **欧美大码日韩| 精品视频在线看| 精品一区在线看| 国产精品视频看| 欧洲亚洲精品在线| 久久不见久久见免费视频7 | 国产精品456| 亚洲精品国久久99热| 欧美一区二区在线免费观看| 狠狠色狠狠色综合系列| 亚洲品质自拍视频| 这里只有精品视频在线观看| 顶级嫩模精品视频在线看| 亚洲精品亚洲人成人网| 日韩一区二区电影| 色综合天天综合网国产成人综合天| 亚洲成人精品影院| 久久九九久久九九| 色94色欧美sute亚洲线路一ni| 免费观看久久久4p| 日韩毛片高清在线播放| 日韩一区二区高清| 91免费版在线| 国产在线视频一区二区三区| 亚洲精品水蜜桃| 欧美电影免费观看完整版| 99久久免费精品高清特色大片| 日韩国产在线观看| 国产精品国产三级国产aⅴ无密码| 91精品国产综合久久香蕉的特点 | 精品久久国产老人久久综合| 色婷婷久久99综合精品jk白丝| 麻豆一区二区在线| 一区二区三区四区五区视频在线观看| 久久先锋影音av| 欧美美女喷水视频| 99精品欧美一区二区三区小说| 奇米四色…亚洲| 亚洲午夜三级在线| 国产精品第一页第二页第三页| 精品国产一区二区国模嫣然| 在线观看日韩国产| 成人av电影在线网| 精品综合久久久久久8888| 亚洲国产综合视频在线观看| 国产精品热久久久久夜色精品三区| 欧美肥胖老妇做爰| 色狠狠av一区二区三区| 成人sese在线| 国产精品伊人色| 精品一区二区免费看| 亚洲成人手机在线| 亚洲精品成人精品456| 国产精品入口麻豆原神| 久久午夜免费电影| 欧美v日韩v国产v| 日韩一区二区高清| 91精品婷婷国产综合久久性色| 精品视频在线看| 在线免费亚洲电影| 色香蕉成人二区免费| 91伊人久久大香线蕉| 成人黄色软件下载| 成人福利视频网站| 国产99精品视频| 懂色av一区二区三区免费看| 精东粉嫩av免费一区二区三区| 日韩av一区二区在线影视| 婷婷丁香久久五月婷婷| 肉色丝袜一区二区| 日韩高清一区在线| 日本亚洲一区二区|