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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? serverrequest.cc

?? 編譯工具
?? CC
字號:
// -*- Mode: C++; -*-//                            Package   : omniORB// serverRequest.cc           Created on: 9/1998//                            Author    : David Riddoch (djr)////    Copyright (C) 1996-1999 AT&T Laboratories Cambridge////    This file is part of the omniORB library////    The omniORB library is free software; you can redistribute it and/or//    modify it under the terms of the GNU Library General Public//    License as published by the Free Software Foundation; either//    version 2 of the License, or (at your option) any later version.////    This library is distributed in the hope that it will be useful,//    but WITHOUT ANY WARRANTY; without even the implied warranty of//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU//    Library General Public License for more details.////    You should have received a copy of the GNU Library General Public//    License along with this library; if not, write to the Free//    Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA//    02111-1307, USA////// Description://   Implementation of CORBA::ServerRequest.///* $Log: serverRequest.cc,v $ Revision 1.8.2.12  2001/11/14 19:12:45  dpg1 Bug introduced by changed CORBA::Flags values. Revision 1.8.2.11  2001/11/13 14:11:44  dpg1 Tweaks for CORBA 2.5 compliance. Revision 1.8.2.10  2001/10/17 16:44:03  dpg1 Update DynAny to CORBA 2.5 spec, const Any exception extraction. Revision 1.8.2.9  2001/08/17 13:42:48  dpg1 callDescriptor::userException() no longer has to throw an exception. Revision 1.8.2.8  2001/08/15 10:37:59  dpg1 Update DSI to use Current, inProcessIdentity. Revision 1.8.2.7  2001/06/13 20:10:04  sll Minor update to make the ORB compiles with MSVC++. Revision 1.8.2.6  2001/05/08 16:30:10  sll DSI now handles set_exceptions() correctly for both user and system exceptions. Revision 1.8.2.5  2001/04/19 09:15:43  sll Big checkin with the brand new internal APIs. Scoped where appropriate with the omni namespace. Revision 1.8.2.4  2000/10/09 16:24:59  sll Progress internal state to SR_GOT_CTX and bypass SR_GOT_PARAMS in arguments() when there is no context pending to be retrieved. Revision 1.8.2.3  2000/10/06 16:45:52  sll Updated to use the new giopStream interface. Revision 1.8.2.2  2000/09/27 17:25:43  sll Changed include/omniORB3 to include/omniORB4. Revision 1.8.2.1  2000/07/17 10:35:42  sll Merged from omni3_develop the diff between omni3_0_0_pre3 and omni3_0_0. Revision 1.9  2000/07/13 15:26:02  dpg1 Merge from omni3_develop for 3.0 release. Revision 1.7.6.3  2000/06/22 10:40:13  dpg1 exception.h renamed to exceptiondefs.h to avoid name clash on some platforms. Revision 1.7.6.2  1999/10/14 16:22:00  djr Implemented logging when system exceptions are thrown. Revision 1.7.6.1  1999/09/22 14:26:36  djr Major rewrite of orbcore to support POA. Revision 1.6  1999/06/18 20:59:12  sll Allow system exception to be returned inside exception(). Revision 1.5  1999/04/21 13:40:10  djr Use CORBA::Context::unmarshalContext() for unmarshalling context ...*/#include <omniORB4/CORBA.h>#include <omniORB4/callDescriptor.h>#include <omniORB4/callHandle.h>#include <omniORB4/IOP_S.h>#include <dynamicImplementation.h>#include <pseudo.h>#include <context.h>#include <exceptiondefs.h>#include <poacurrentimpl.h>CORBA::ServerRequest::~ServerRequest()  {}OMNI_NAMESPACE_BEGIN(omni)////////////////////////////////////////////////////////////////////////omniServerRequest::omniServerRequest(omniCallHandle& handle)   : pd_state(SR_READY), pd_handle(handle){  pd_calldesc =    new serverRequestCallDescriptor(handle.operation_name(),				    strlen(handle.operation_name()));}////////////////////////////////////////////////////////////////////////omniServerRequest::~omniServerRequest()  {  if (pd_calldesc) {    delete pd_calldesc;    pd_calldesc = 0;  }}////////////////////////////////////////////////////////////////////////const char*omniServerRequest::operation(){  return pd_handle.operation_name();}////////////////////////////////////////////////////////////////////////voidomniServerRequest::arguments(CORBA::NVList_ptr& parameters){  if( pd_state != SR_READY ) {    pd_state = SR_DSI_ERROR;    OMNIORB_THROW(BAD_INV_ORDER,		  BAD_INV_ORDER_ArgumentsCalledOutOfOrder,		  CORBA::COMPLETED_NO);  }  if( CORBA::is_nil(parameters) ) {    pd_state = SR_DSI_ERROR;    OMNIORB_THROW(BAD_PARAM,		  BAD_PARAM_InvalidNVList,		  CORBA::COMPLETED_NO);  }  pd_state = SR_ERROR;  pd_calldesc->pd_params = parameters;  if (pd_handle.iop_s()) {    pd_handle.iop_s()->ReceiveRequest(*((omniCallDescriptor*)pd_calldesc));  }  else {    // In process call -- use a memory stream    cdrMemoryStream stream;    pd_handle.call_desc()->initialiseCall(stream);    pd_handle.call_desc()->marshalArguments(stream);    pd_calldesc->unmarshalArguments(stream);  }  pd_state = SR_GOT_PARAMS;}////////////////////////////////////////////////////////////////////////CORBA::Context_ptromniServerRequest::ctx(){  // Returns a nil context if no context information supplied.  if( pd_state != SR_GOT_PARAMS ) {    pd_state = SR_DSI_ERROR;    OMNIORB_THROW(BAD_INV_ORDER,		  BAD_INV_ORDER_CtxCalledOutOfOrder,		  CORBA::COMPLETED_NO);  }  pd_state = SR_GOT_CTX;  return pd_calldesc->pd_context;}////////////////////////////////////////////////////////////////////////voidomniServerRequest::set_result(const CORBA::Any& value){  if( CORBA::is_nil(pd_calldesc->pd_context) ) {    if( pd_state != SR_GOT_PARAMS && pd_state != SR_GOT_CTX ) {      pd_state = SR_DSI_ERROR;      OMNIORB_THROW(BAD_INV_ORDER,		    BAD_INV_ORDER_SetResultCalledOutOfOrder,		    CORBA::COMPLETED_NO);    }  }  else {    if( pd_state != SR_GOT_CTX ) {      pd_state = SR_DSI_ERROR;      OMNIORB_THROW(MARSHAL,		    MARSHAL_ServerRequestWrongOrder,		    CORBA::COMPLETED_NO);    }  }  pd_calldesc->pd_result = value;  pd_state = SR_GOT_RESULT;}////////////////////////////////////////////////////////////////////////staticCORBA::Boolean isASystemException(const char* repoId) {#define TEST_IS_A_SYSEXCEPTION(name) \  if (strcmp("IDL:omg.org/CORBA/" #name ":1.0",repoId) == 0) return 1;  OMNIORB_FOR_EACH_SYS_EXCEPTION(TEST_IS_A_SYSEXCEPTION)  return 0;#undef TEST_IS_A_SYSEXCEPTION}////////////////////////////////////////////////////////////////////////voidomniServerRequest::set_exception(const CORBA::Any& value){  CORBA::TypeCode_var tc = value.type();  while( tc->kind() == CORBA::tk_alias )    tc = tc->content_type();  if( tc->kind() != CORBA::tk_except )    OMNIORB_THROW(BAD_PARAM,		  BAD_PARAM_NotAnException,		  CORBA::COMPLETED_NO);  switch( pd_state ) {  case SR_GOT_PARAMS:  case SR_GOT_CTX:  case SR_GOT_RESULT:  case SR_EXCEPTION:  case SR_ERROR:    break;  case SR_READY:    {      if (isASystemException(tc->id())) {	pd_handle.SkipRequestBody();	break;      }      pd_state = SR_DSI_ERROR;    }  case SR_DSI_ERROR:    OMNIORB_THROW(BAD_INV_ORDER,		  BAD_INV_ORDER_ErrorInDynamicImplementation,		  CORBA::COMPLETED_NO);  }  pd_calldesc->pd_exception = value;  pd_state = SR_EXCEPTION;}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////serverRequestCallDescriptor::serverRequestCallDescriptor(const char* op,size_t oplen)  : omniCallDescriptor(0, op, oplen, 0, 0, 0, 1){ }voidserverRequestCallDescriptor::unmarshalArguments(cdrStream& s){  CORBA::ULong num_args = pd_params->count();  for( CORBA::ULong i = 0; i < num_args; i++){    CORBA::NamedValue_ptr arg = pd_params->item(i);    if( arg->flags() & CORBA::ARG_IN )      arg->value()->NP_unmarshalDataOnly(s);  }  // If there is no space left for context info...  if ( s.checkInputOverrun(1,4) ) {    pd_context = CORBA::Context::unmarshalContext(s);  }}/////////////////////////////////////////////////////////////////////voidserverRequestCallDescriptor::marshalReturnedValues(cdrStream& s){  pd_result.NP_marshalDataOnly(s);  for( CORBA::ULong j = 0; j < pd_params->count(); j++ ){    CORBA::NamedValue_ptr arg = pd_params->item(j);    if( arg->flags() & CORBA::ARG_OUT )      arg->value()->NP_marshalDataOnly(s);  }}////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////class FromAnyUserException : public CORBA::UserException {public:  virtual ~FromAnyUserException() {}  FromAnyUserException(const CORBA::Any& v,const char* id) :      value(v), repoid(id) {}  const char* _NP_repoId(int* size) const {    *size = strlen(repoid) + 1;    return repoid;  }  void _NP_marshal(cdrStream& s) const {    value.NP_marshalDataOnly(s);  }private:  // We don't expect any of these functions to be called.  // Any call to these functions is a bug!  void _raise() const {    throw omniORB::fatalException(__FILE__,__LINE__,				  "Wrong usage of class FromAnyUserException");  }  CORBA::Exception* _NP_duplicate() const {    throw omniORB::fatalException(__FILE__,__LINE__,				  "Wrong usage of class FromAnyUserException");  }  const char* _NP_typeId() const {    throw omniORB::fatalException(__FILE__,__LINE__,				  "Wrong usage of class FromAnyUserException");  }private:  const CORBA::Any& value;  const char* repoid;  FromAnyUserException();  FromAnyUserException(const FromAnyUserException&);  FromAnyUserException& operator=(const FromAnyUserException&);};////////////////////////////////////////////////////////////////////////voidomniServerRequest::do_reply(){  switch ( pd_state ) {  case omniServerRequest::SR_GOT_PARAMS:  case omniServerRequest::SR_GOT_RESULT:    {      if (pd_handle.iop_s()) {	pd_handle.iop_s()->SendReply();      }      else {	cdrMemoryStream stream;	pd_calldesc->marshalReturnedValues(stream);	pd_handle.call_desc()->unmarshalReturnedValues(stream);      }      break;    }  case omniServerRequest::SR_EXCEPTION:  // User & System exception    {      CORBA::TypeCode_var tc = pd_calldesc->pd_exception.type();      const char* repoid = tc->id();#     define TEST_AND_EXTRACT_SYSEXCEPTION(name) \      if ( strcmp("IDL:omg.org/CORBA/" #name ":1.0",repoid) == 0 ) { \        const CORBA::name* ex; \ 	pd_calldesc->pd_exception >>= ex; \        if (pd_handle.iop_s()) { \ 	  pd_handle.iop_s()->SendException((CORBA::name*)ex); \ 	  return; \        } \        else { \          ex->_raise(); \        } \      }      OMNIORB_FOR_EACH_SYS_EXCEPTION(TEST_AND_EXTRACT_SYSEXCEPTION)#     undef TEST_AND_EXTRACT_SYSEXCEPTION      FromAnyUserException ex(pd_calldesc->pd_exception,repoid);      if (pd_handle.iop_s()) {	pd_handle.iop_s()->SendException(&ex);      }      else {	cdrMemoryStream stream;	ex._NP_marshal(stream);	pd_handle.call_desc()->userException(stream, 0, repoid);      }      break;    }  default:    // Never reach here.    break;  }}OMNI_NAMESPACE_END(omni)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区影院| 国产成人在线网站| 国产婷婷精品av在线| 制服.丝袜.亚洲.中文.综合| 日本三级亚洲精品| 中文字幕佐山爱一区二区免费| 国产亚洲精品资源在线26u| 精品成人免费观看| 91麻豆精品国产91久久久更新时间| 成人在线综合网站| 91猫先生在线| 欧美日韩精品欧美日韩精品一 | 成人性生交大片免费看中文| 国产超碰在线一区| 色吊一区二区三区| 欧美va在线播放| 中文字幕中文字幕中文字幕亚洲无线| 亚洲蜜臀av乱码久久精品| 午夜国产精品一区| 国产精品一级黄| 色天天综合久久久久综合片| 欧美一级黄色片| 亚洲免费在线观看视频| 狠狠色丁香婷综合久久| 欧美视频在线观看一区| 欧美xxxx老人做受| 午夜精品久久久久久久99水蜜桃| 国产一区二区视频在线播放| 欧美特级限制片免费在线观看| 2欧美一区二区三区在线观看视频| 亚洲视频在线观看一区| 久久成人免费电影| 欧美一卡二卡三卡四卡| 国产精品美女久久久久高潮| 久热成人在线视频| 欧美日韩色一区| 性做久久久久久免费观看欧美| a亚洲天堂av| 日韩免费观看2025年上映的电影| 亚洲自拍偷拍图区| 欧美性色黄大片| 国产精品黄色在线观看| 粉嫩欧美一区二区三区高清影视| 欧美一级片免费看| 亚洲va欧美va人人爽| 欧美日韩一二三| 日本美女一区二区三区视频| 678五月天丁香亚洲综合网| 午夜精品一区二区三区免费视频| 欧美视频精品在线| 国产·精品毛片| 亚洲成人av福利| 91免费观看在线| 久久久精品国产免大香伊| 青青草97国产精品免费观看 | 精品一区二区国语对白| 欧美日韩午夜影院| 蜜臀99久久精品久久久久久软件| 日韩一二三四区| 狠狠色狠狠色综合| 一区二区三区成人在线视频| 欧美日韩免费观看一区二区三区| 视频一区在线播放| 日本丶国产丶欧美色综合| 久久综合狠狠综合| www.亚洲在线| 免费高清在线一区| 精品国产一区二区精华| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲人妖av一区二区| 日韩一区二区三区四区| caoporen国产精品视频| 久久精品国产成人一区二区三区| 国产精品福利av| www国产成人免费观看视频 深夜成人网 | 粗大黑人巨茎大战欧美成人| 亚洲高清免费视频| 亚洲婷婷综合久久一本伊一区| 91麻豆精品国产自产在线| 色噜噜狠狠成人中文综合| 久久精品噜噜噜成人av农村| 亚洲成人午夜影院| 久久嫩草精品久久久精品一| 91精品蜜臀在线一区尤物| av电影在线观看完整版一区二区| 蜜臀av性久久久久av蜜臀妖精| 午夜久久久久久| 性久久久久久久久| 亚洲成av人片在线观看| 亚洲第一搞黄网站| 亚洲国产精品久久久久秋霞影院 | 国产一区二区福利| 国产成人免费视频一区| 成人精品小蝌蚪| 色94色欧美sute亚洲线路一久| 91丨九色丨蝌蚪丨老版| 色综合久久精品| 欧美亚洲一区二区在线观看| 在线亚洲一区观看| 精品视频在线免费观看| 制服丝袜亚洲色图| 精品999在线播放| 综合亚洲深深色噜噜狠狠网站| 中文字幕在线不卡一区二区三区| 一区二区在线观看视频在线观看| 亚洲一二三四区| 国产成人免费高清| 欧美性感一类影片在线播放| 精品久久久久香蕉网| 国产精品成人一区二区三区夜夜夜| 亚洲桃色在线一区| 激情成人综合网| av一区二区三区四区| 在线免费观看不卡av| 国产亚洲一二三区| 日本女人一区二区三区| 91美女在线看| 久久综合一区二区| 亚洲国产精品久久久久婷婷884| 国产成人av资源| 69堂亚洲精品首页| 国产精品毛片久久久久久| 蜜桃视频第一区免费观看| 在线免费视频一区二区| √…a在线天堂一区| 国产精品一级片在线观看| 欧美电影免费观看高清完整版| 国产精品看片你懂得| 韩日精品视频一区| 欧美一区二区三区视频| 亚洲午夜一二三区视频| 97国产精品videossex| 中文字幕av在线一区二区三区| 精品中文字幕一区二区| 精品国产精品一区二区夜夜嗨| 午夜一区二区三区视频| 欧美在线free| 秋霞电影一区二区| 91精品国产乱码| 韩国av一区二区三区在线观看| 日韩一区二区三区免费看| 亚洲日本va在线观看| 在线视频中文字幕一区二区| 午夜精品久久久久久久久| 日韩一级片在线观看| 理论电影国产精品| 中文天堂在线一区| 一本久久a久久精品亚洲| 一区二区三区高清在线| 欧美精品欧美精品系列| 另类专区欧美蜜桃臀第一页| 国产欧美一区二区在线观看| 国产福利一区二区三区视频| 亚洲一区二区欧美激情| 欧美大片在线观看| 99国产一区二区三精品乱码| 五月天一区二区三区| 国产色综合一区| 欧美日韩精品电影| 国产盗摄女厕一区二区三区| 亚洲高清不卡在线观看| 国产精品免费aⅴ片在线观看| 欧洲精品一区二区三区在线观看| 精品中文字幕一区二区| 亚洲精品视频一区二区| 久久久久久久久久久久久女国产乱| 色偷偷一区二区三区| 国产剧情在线观看一区二区 | 在线日韩一区二区| 成人妖精视频yjsp地址| 亚洲激情av在线| 欧美国产精品劲爆| 久久婷婷久久一区二区三区| 欧美一区二区私人影院日本| 色综合久久综合网欧美综合网| 国产精品538一区二区在线| 免费精品视频在线| 蜜臀av一级做a爰片久久| 水野朝阳av一区二区三区| 亚洲国产另类av| 亚洲一区二区欧美| 日韩在线卡一卡二| 狠狠色伊人亚洲综合成人| 亚洲亚洲人成综合网络| 欧美成人性战久久| 99久久久久久| 97国产一区二区| 欧美精品三级日韩久久| 精品国产百合女同互慰| 国产精品成人免费在线| 亚洲三级电影网站| 丝袜亚洲另类丝袜在线| 精品一区二区三区久久久| 国产夫妻精品视频| 欧美日韩精品高清| 久久精品一区二区三区不卡牛牛 | 久久99久久精品欧美| 国产成人精品一区二| 日本高清成人免费播放| 亚洲精品在线电影|